Page 1 sur 2

Variable inattendue...

Posté : 10 juil. 2005, 14:23
par Cypher_PHP
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); ?>

Posté : 10 juil. 2005, 14:31
par ouckileou
- 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

Posté : 10 juil. 2005, 14:38
par Cyrano
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 "$".

Posté : 10 juil. 2005, 14:42
par Cypher_PHP
je m'excuse pour tout


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

Cordialement

Cypher_PHP

Posté : 10 juil. 2005, 14:43
par ouckileou
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:

Posté : 10 juil. 2005, 14:43
par Cyrano
Tu es tout excusé: le problème est [Résolu] ?

Posté : 10 juil. 2005, 14:47
par Cypher_PHP
donc si je comprends bien, je mets ci-desous:

name=<? $name?>

Cordialement

Cypher_PHP

Posté : 10 juil. 2005, 14:51
par ouckileou
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...

Posté : 10 juil. 2005, 14:53
par fggdm
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. ?

Posté : 10 juil. 2005, 14:55
par Cyrano
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:

Posté : 10 juil. 2005, 14:57
par fggdm
Ah les Cascading Style Shit ?!

Posté : 10 juil. 2005, 16:17
par Cypher_PHP
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);
?>

Posté : 10 juil. 2005, 16:19
par Cyrano
regarde bien ton script valide.php:
require_once('config.php'); <== et le ";" ?

Posté : 10 juil. 2005, 16:29
par ouckileou
et comme je l'ai dit cette erreur se retrouve dans les deux autres scripts ;)

Posté : 10 juil. 2005, 16:30
par Cypher_PHP
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