Variable inattendue...

Eléphant du PHP | 258 Messages

10 juil. 2005, 14:23

salut à tous

j'ai crée 4 fichiers
- form.php
- valide.php
- Recup.php
- config.php
voici le message d'erreur:
Parse error: parse error, unexpected T_VARIABLE in /var/www/free.fr/d/f/xxxxx/test/valide.php on line 4
je ne vois pas où est l'erreur. merci à vous de m'aider et c'est sympa

Cordialement
Cypher_PHP


fichier form.php

Code : Tout sélectionner

<?php require_once('config.php') ?> <html> <body> <form method="POST" action="valide.php"> Nom: <input type=text name=$name><br> Prénom: <input type=text name=$prenom><br> <input type=submit value="Enregistrer"> </form> </body> </html>
fichier valide.php

Code : Tout sélectionner

<?php require_once('config.php') $prenom = $_POST["prenom"]; $name = $_POST["name"]; $RecorInsert = "INSERT INTO $dbtable (name, prenom) VALUES ('$name', '$prenom')"; $RecordInsert2 = mysql_db_query("dbname", $RecorInsert); ?>


fichier Recup.php

Code : Tout sélectionner

<?php require_once('config.php') ?> <html> <head> </head> <body> <table width="75%" border="0" cellspacing="0" cellpadding="0"> <tr> <td colspan="2"><?php do {?></td> </tr> <tr> <td width="45%"><?php echo $row_RecorMembers['name'];?></td> <td width="55%"><?php echo $row_RecorMembers['prenom'];?></td> </tr> <tr> <td colspan="2"><?php } while ($row_RecorMembers = mysql_fetch_assoc($RecorMembers));?></td> </tr> </table> </body> </html>
fichier config.php

Code : Tout sélectionner

<?php $dbhost="sql.free.fr"; $dblogin="xxxxx"; $dbpassword="xxxx"; $dbname="xxxxx"; $dbtable='members'; $members=mysql_pconnect($dbhost,$dblogin,$dbpassword);mysql_selectdb($dbname); mysql_select_db($dbname, $members); $RecorMembers= mysql_query ("select * from $dbtable order by id desc"); $row_RecorMembers = mysql_fetch_assoc($RecorMembers); ?>

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

10 juil. 2005, 14:31

- on ne met pas "urgent" dans un titre, ce n'est urgent pour personne ici à part toi
- utilise plutôt le sbalises PHP, que CODE, pour du PHP
- tu as un numéro de ligne dans l'erreur, ce serait sympa de nous indiquer à quoi correspond cette ligne (bon ok là c'est 4 ça se trouve facilement mais bon...)

- dans ton formulaire tu utilises $nom, ça ne sera pas remplacé par la valeur de $nom si ce n'est pas entre balises PHP

ce genre d'erreur provient souvent d'une chaine mal fermée, un problèle de guillemets, un truc de ce genre
donc regarde à ta ligne si tu vois une erreur, si tu n'en vois pas remonte, tu devrais la voir
et tu t'apercevras ensuite que tu as cette même erreur à une ligne identique dans 3 de tes fichiers

Mammouth du PHP | 19672 Messages

10 juil. 2005, 14:38

Modération
Comme a mentionné ouckileou, les messages comportant le mot "Urgent" ne sont pas bienvenus, prière de lire les règlements du forum : j'ai édité et mis un titre plus explicite.

Et pour ton problème, ouckileou t'a donné la réponse, tu as ne erreur dans ton formulaire avec des variables PHP que le navigateur de sait pas interpréter, ce qui fait qu'elles sont envoyées telles quelles au traitement, mais ça a des effets de bord étranges à cause de leur nom commençant par un "$".
Modifié en dernier par Cyrano le 10 juil. 2005, 14:54, modifié 1 fois.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 258 Messages

10 juil. 2005, 14:42

je m'excuse pour tout


d'après la ligne 4 du valide.php: $prenom = $_POST["prenom"];

Cordialement

Cypher_PHP
Modifié en dernier par Cypher_PHP le 10 juil. 2005, 14:44, modifié 1 fois.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

10 juil. 2005, 14:43

c'est pas grave, c'était juste une remarque

Tu as le droit de chercher ton erreur et de revenir si tu ne la trouve pas ! :wink:

Mammouth du PHP | 19672 Messages

10 juil. 2005, 14:43

Tu es tout excusé: le problème est [Résolu] ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 258 Messages

10 juil. 2005, 14:47

donc si je comprends bien, je mets ci-desous:

name=<? $name?>

Cordialement

Cypher_PHP

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

10 juil. 2005, 14:51

donc si je comprends bien, je mets ci-desous:

name=<? $name?>

Cordialement

Cypher_PHP
si tu veux afficher le contenu d'une variable oui, il faut faire quelquechose de ce genre là
j'opterai plutôt pour :
Nom: <input type=text name=<?php echo $name; ?>>
mais si tu laisses ton code comme il est actuellement, cela t'affichera "$nom", mais cela ne causera pas d'erreur

relis ce que je t'ai dit : ton erreur ligne 4 provient d'une instruction mal terminée.
Donc si tu cherches au dessus de ton erreur, tu devrais voir qu'il manque quelquechose à la fin d'une ligne...

Eléphant du PHP | 104 Messages

10 juil. 2005, 14:53

Salut,

Étude d'un champ lexical :
"messages comportant le mort "Urgent" ne sont pas bienvenus, prière de lire"...

Cyrano, tu es en train de travailler sur le site des P.F.G. ?

Mammouth du PHP | 19672 Messages

10 juil. 2005, 14:55

lol, merci fggdm, j'avais pas vu, j'ai édité et corrigé :P
Et non, en ce moment, je suis à fond dans les "CSS de la mort qui tue" :langue:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 104 Messages

10 juil. 2005, 14:57

Ah les Cascading Style Shit ?!

Eléphant du PHP | 258 Messages

10 juil. 2005, 16:17

je me désespère

j'ai maintes fois corrigé et fait attention à tout
rien
je ne comprends pas
ce serait sympa de m'aider ;)

voici l'erreur avec le commentaire qui indique le numero de ligne dans le fichier valide.php:
Parse error: parse error, unexpected T_VARIABLE in /var/www/free.fr/d/f/xxxxxx/test/valide.php on line 5
je remets mes codes PHP


form.php
<?php 
require_once('config.php')

?>
<html>
<body>
<form method="POST" action="valide.php">
Nom: <input type=text name="name"  value="<?php echo $name ?>"><br>
Prénom: <input type=text name="prenom" value="<?php echo $prenom ?>"><br>
<input type=submit value="Enregistrer">
</form>
</body>
</html>

valide.php
<?php 
require_once('config.php')
    
    // --- Récupération des données du formulaire
// ligne 5 ci-dessous 
$prenom = $_POST['prenom'];
$name    = $_POST['name'];

$RecorInsert = "INSERT INTO $dbtable VALUES ('$name', '$prenom')";
$RecordInsert2 = mysql_db_query("dbname", $RecorInsert);
?>
Recup.php
<?php 
require_once('config.php')
?>
<html>
<head>
</head>
<body>
<table width="75%" border="0" cellspacing="0" cellpadding="0">
  <tr> 
    <td colspan="2"><?php do {?></td>
  </tr>
  <tr> 
    <td width="45%"><?php echo $row_RecorMembers['name'];?></td>
    <td width="55%"><?php echo $row_RecorMembers['prenom'];?></td>
  </tr>
  <tr> 
    <td colspan="2"><?php } while ($row_RecorMembers = mysql_fetch_assoc($RecorMembers));?></td>
  </tr>
</table>

</body>
</html>
config.php
<?php
    $dbhost="sql.free.fr";
    $dblogin="xxxx";
    $dbpassword="xxxx";
    $dbname="xxxx";
$dbtable='xxxxxx';

$members=mysql_pconnect($dbhost,$dblogin,$dbpassword);mysql_selectdb($dbname);
mysql_select_db($dbname, $members);

$RecorMembers= mysql_query ("select * from $dbtable order by id desc");
$row_RecorMembers = mysql_fetch_assoc($RecorMembers);
?>

Mammouth du PHP | 19672 Messages

10 juil. 2005, 16:19

regarde bien ton script valide.php:
require_once('config.php'); <== et le ";" ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

10 juil. 2005, 16:29

et comme je l'ai dit cette erreur se retrouve dans les deux autres scripts ;)

Eléphant du PHP | 258 Messages

10 juil. 2005, 16:30

ah c'est bcp mieux
l'erreur ne s'affiche plus

mais cela s'enregistrait dans la base sans contenu( vide)
cad que lors du saisie dans le formulaire, les informations dans les champs ne sont pas envoyées dans la base



Cordialement
Cypher_PHP