[php] unexpected T_VARIABLE
J'essaye de mettre un livre d'or sur mon site, je pense avoir presque réussi mais quand je le lance j'ai cette erreur :
Parse error: syntax error, unexpected T_VARIABLE in /home/.filer4/ysa/www/readguest.php on line 126
le code est le suivant (avec la ligne 126 en gras):
<? php
//ICI SERONT AFFICHES LES MESSAGES
//Ouverture du fichier en écriture
$fp = fopen("guestbook.doc","r");
//On lit le fichier EN ENTIER
while(!feof($fp)){
$content=fread($fp, filesize($fp));
}
//fermeture du fichier
fclose($fp);
?>
je ne voit vraiment pas quel est le soucis, si quelqu'un pouvais m'aider.
Merci d'avance :)
28 réponses
Une erreur de parsing PHP survient lors de la mise en place d'un livre d'or, signalant une syntax error, unexpected T_VARIABLE sur readguest.php en ligne 126. Des propositions reviennent sur des problèmes courants comme l'absence de point-virgule sur une ligne, la nécessité de déclarer une fonction avant son appel et le choix entre include() et require(). Plusieurs échanges discutent de l'organisation du code et suggèrent d'assurer que les définitions de fonctions précèdent leurs appels et d'utiliser require() pour charger des fichiers critiques. D'autres échanges indiquent qu'un oubli de synchroniser les déclarations et inclusions peut déclencher des erreurs supplémentaires, et qu'il est utile de tester étape par étape avec des messages d'erreur précis.
-
Il manque un point virgule sur la 1ère ligne.
-
Bonjour,
Par ailleurs, ta gestion des chaînes de caractères n'est pas correcte, notamment au niveau de la concaténation.
Remplace ça<?php echo "$_REQUIRE['sexe'] $_REQUIRE['nom'] $_REQUIRE['prenom']"; ?> vous avez <?php echo"$_REQUIRE['age'].";?> <br> A la question: Avez vous repondu serieusement, vous avez répondu <?php echo"$_REQUIRE['serieu']";?>
Par<?php echo $_POST['sexe']." ". $_POST['nom']." ".$_POST['prenom']; ?> vous avez <?php echo $_REQUIRE['age']; ?> <br> A la question: Avez vous repondu serieusement, vous avez répondu <?php echo $_POST['serieu']; ?>
-
Contributeursalut,
'$_REQUIRE()' ???
mais tu nous sors ça d'où ?!
je t'ai dit de remplacer par '$_POST' puisque tu envoies en 'POST' !!!
-
Non, regarde mon code, J'ai mis les " ; ", et remplacé tout mes $_GET par des $_REQUIRE. Maintenant, je n'ai plus d'erreur, enfin, presque, il m'en reste une, et de taille : Le texte HTML s'affiche, mais les reponces données dans le formulaire n'apparaissent pas :s.
Je vous remet mes codes modifiés
HTML
<html> <head> <title> Formulaire de saisie d'identification </title> <link rel=stylesheet href="style.css" type="text/css"> </head> <body> <div align="center"><h1>Bonjour et Bienvenu. Veuillez repondre a ces questions : </h1> </div> <form method="GET" action="recap.php"> Votre nom? <input type=text name=nom size=10><br> Votre prénom? <input type=text name=prenom size=10><br> Votre age? <input type=text name=age size=10><br> Votre sexe? <INPUT type= "radio" name="sexe" value="Mr"> Masculain <INPUT type= "radio" name="sexe" value="Mme"> Feminin<br> Avez vous répondu serieusement? <SELECT name="serieux" size="1"> <OPTION selected>Oui, evidement <OPTION>HUM HUM ... <OPTION>NON <OPTION>J'ai peur d'internet </SELECT> <input type=submit value=Envoyer> <input type=reset value=effacer> </form> </body> </html>
PHP
<html> <head> <title> Formulaire de saisie d'identification </title> <link rel=stylesheet href="style.css" type="text/css"> </head> <body> Récapitulatif de vos réponces: Vous etes <?php echo "$_REQUIRE['sexe'] $_REQUIRE['nom'] $_REQUIRE['prenom']"; ?> vous avez <?php echo"$_REQUIRE['age'].";?> <br> A la question: Avez vous repondu serieusement, vous avez répondu <?php echo"$_REQUIRE['serieu']";?> <br> Merci d avoir répondu a ce questionnaire. Au revoir. </body> </html>
-
Contributeurtu as dû oublier le point virgule au bout de la ligne 8.
-
Parse error: parse error, unexpected T_VARIABLE, expecting ',' or ';' in C:\Program Files\EasyPHP 2.0b1\www\Site\recap.php on line 9
-
Contributeursalut,
tu envoies en 'POST'<form method="post" action="recap.php">
et tu récupères en 'GET'Récapitulatif de vos réponces: Vous etes <?php echo $_GET['sexe'] $_GET['nom'] $_GET['prenom'] ?>
il faut utiliser $_POST au lieu de $_GET.
-
SAlut tt le mde, j'ai également un probleme de T_VARIABLE, mais, avec autre chose. Je débute en php, donc, j'é voulu essayer une approche simpa avec un formulaire , puis, une écapitulation. Je vous les envois.
Code HTML<html> <head> <title> Formulaire de saisie d'identification </title> <link rel=stylesheet href="style.css" type="text/css"> </head> <body> <div align="center"><h1>Bonjour et Bienvenu. Veuillez repondre a ces questions : </h1> </div> <form method="post" action="recap.php"> Votre nom? <input type=text name=nom size=10><br> Votre prénom? <input type=text name=prenom size=10><br> Votre age? <input type=text name=age size=10><br> Votre sexe? <INPUT type= "radio" name="sexe" value="Mr"> Masculain <INPUT type= "radio" name="sexe" value="Mme"> Feminin<br> Avez vous répondu serieusement? <SELECT name="serieux" size="1"> <OPTION selected>Oui, evidement <OPTION>HUM HUM ... <OPTION>NON <OPTION>J'ai peur d'internet </SELECT> <input type=submit value=Envoyer> <input type=reset value=effacer> </form> </body> </html>
Et code PHP
<html> <head> <title> Formulaire de saisie d'identification </title> <link rel=stylesheet href="style.css" type="text/css"> </head> <body> Récapitulatif de vos réponces: Vous etes <?php echo $_GET['sexe'] $_GET['nom'] $_GET['prenom'] ?> vous avez <?php echo"$_GET['age']."?> <br> A la question: Avez vous repondu serieusement, vous avez répondu <?php echo"$_GET['serieu']"?> <br> Merci d avoir répondu a ce questionnaire. Au revoir. </body> </html>
Pouvez vous m'aider? -
okok, ben merci en tout cas d'avoir donné un peu de ton temps!!! peace!!!
-
Contributeurah cette heure ci je me serais bien couché !
enregistre toi comme membre et envoie moi un MP
mais avant édite le post 17 et vire l'url de ton site !
-
euh, tu as msn?? ça serait plu pratik comme ça je pourrai te filer ske j'ai koi.....
-
Contributeurédite ton post et vire l'url du require, ce sera moins voyant…
et dans 'config.php' il y a :function db_connect() { global $dbhost,$dblogin,$dbpassword,$dbname,$dbtable; $db = mysql_connect($dbhost, $dblogin, $dbpassword); mysql_select_db($dbname,$db); }
tu es sûr des 'global' ?
tu devrais essayer en codant en dur les paramètres de connexion dans 'config.php'.
-
lol, non jlui ai pa dit!!! mais la seule chose qu'elle fait quand elle lutilise cest jouer au solitaire.....lol, jpensais que yavait aucun risk...
<?php
require("http://sound.makers.free.fr/config.php");
if($username=='' || $password=='')
{
viewheader();
echo"<h3>$champsrequis</h3>";
view_login_form();
viewfooter();
exit;
}
db_connect();
$sql = "select password from $dbtable where username='$username'"; //LA CEST LA LIGNE 13 EN QUESTION QUI FAIT TOUT BUEGUER
$req = mysql_query($sql) or die('Erreur SQL');
$rez = mysql_fetch_array($req); -
Contributeurta maman ? tu lui a pas dit de pas toucher à ton ordi ?
-:oD
recolle le haut de ton script jusqu'à la ligne incriminée.
-
oué, j'ai inclu le fichier tout au début du code.....donc bine avant l'appel de la fonction....MAMAN....:(:(
-
Contributeuroula ouinpardon, je répondu trop vite !
je croyais que tu avais codé :'require(fichier.php)';
oui effectivement il en faut dans les paranthèses :require('fichier.php');
et il faut que le code de la fonction soit inclus avant son appel.
-
euh t'es sur qu'il en faut pa du tout??? j'en ai toujorus mi et ça a toujours marché, et jessaye sans et ça ne marche pa non plu.... moi d'habitude je lmes met sous cette forme: require("nom du fichier.php")
-
Contributeurah ben non il en faut pas du tout !
c'est moi qui les ajoutes quand je poste pour distinguer les mots clef et les fonctions…
-
alors j'ai essayé avec require et require once et ni lun ni lautre ne fonctionne jobtien ça:
Fatal error: Call to undefined function: db_connect() in /mnt/143/sdb/c/2/sound.makers/login.php on line 13
franchement je vois vrèmentr pas ski beug là.... est-ce que cest require('nom du fichier.php') ou est ce que cest 'require(nom du fichier.php)' (les quotes se placent a kel endroit??) -
ContributeurLa fonction include() inclut et exécute le fichier spécifié en argument.
La commande require se remplace elle-même par le contenu du fichier spécifié
essais avec 'require()' ou require_once()' je pense que c'est ça.
- 1
- 2