[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.
-
ModérateurSupprime l'espace dans l'entête
<?php //ICI SERONT AFFICHES LES MESSAGES
-
salut a tous!! moi jobtient cette erreur et jcapte rien...lol un ptit coup de pouce sui vou plé???
Parse error: syntax error, unexpected T_VARIABLE in /mnt/143/sdb/c/2/sound.makers/login.php on line 14
voilà mon code avec a logne 14 en gras
db_connect()
$sql = "select password from $dbtable where username='$username'";
$req = mysql_query($sql) or die('Erreur SQL');
$rez = mysql_fetch_array($req);
jai vérifié, les variable de cette ligne sont pourtant bine définies... please aidez moi!!!! -
anw merci je l'ai rajouté maintenant j'obtiens ça:
Fatal error: Call to undefined function: db_connect() in /mnt/143/sdb/c/2/sound.makers/login.php on line 13
:'( je vais pleurer....lol -
C'est que ta fonction n'existe pas.
Tu l'as bien créée cette fonction ? -
alors attend, jte montre et tu me di c bien ça....
function db_connect() {
global $dbhost,$dblogin,$dbpassword,$dbname,$dbtable;
$db = mysql_connect($dbhost, $dblogin, $dbpassword);
mysql_select_db($dbname,$db);
}
la je crée la fonction n'est-ce pas?
db_connect();
$sql = "select password from $dbtable where username='$username'";
$req = mysql_query($sql) or die('Erreur SQL');
$rez = mysql_fetch_array($req);
et la je l'appelle.... non?? -
Oui, c'est normalement correct.
La fonction et l'appel à la fonction sont dans le même fichier ? -
Contributeursalut,
la définition de la fonction est-elle bien placée avant l'appel ?
tu as utilisé un 'include()' au lieu d'un 'require()' peut être.
-
ben non les deux ne sont pa dans le même fichier......oué j'ai utilisé include.....faut utiliser require??
-
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.
-
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??) -
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…
-
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")
-
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.
-
oué, j'ai inclu le fichier tout au début du code.....donc bine avant l'appel de la fonction....MAMAN....:(:(
-
Contributeurta maman ? tu lui a pas dit de pas toucher à ton ordi ?
-:oD
recolle le haut de ton script jusqu'à la ligne incriminée.
-
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); -
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'.
-
euh, tu as msn?? ça serait plu pratik comme ça je pourrai te filer ske j'ai koi.....
-
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 !
- 1
- 2