[php] unexpected T_VARIABLE

Ysabelg -  
 Reivax962 -
Bonjour,

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

  • 1
  • 2
Résumé de la discussion

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.

Bobot (l'IA à votre service)
  1. rénolipus
     
    Il manque un point virgule sur la 1ère ligne.
    3
  2. whigga
     
    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
    1
  3. rénolipus
     
    C'est que ta fonction n'existe pas.

    Tu l'as bien créée cette fonction ?
    1
  4. whigga
     
    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??
    1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. rénolipus
     
    Oui, c'est normalement correct.

    La fonction et l'appel à la fonction sont dans le même fichier ?
    1
  7. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
     
    salut,

    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.
    1
  8. jisisv Messages postés 3678 Statut Modérateur 936
     
    Supprime l'espace dans l'entête
    <?php
    //ICI SERONT AFFICHES LES MESSAGES
    

    0
  9. whigga
     
    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!!!!
    0
  10. whigga
     
    ben non les deux ne sont pa dans le même fichier......oué j'ai utilisé include.....faut utiliser require??
    0
  11. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
     
    La 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.
    0
  12. whigga
     
    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??)
    0
  13. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
     
    ah 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…
    0
  14. whigga
     
    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")
    0
  15. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
     
    oula 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.
    0
  16. whigga
     
    oué, j'ai inclu le fichier tout au début du code.....donc bine avant l'appel de la fonction....MAMAN....:(:(
    0
  17. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
     
    ta maman ? tu lui a pas dit de pas toucher à ton ordi ?
    -:oD

    recolle le haut de ton script jusqu'à la ligne incriminée.
    0
  18. whigga
     
    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);
    0
  19. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
     
    é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'.
    0
  20. whigga
     
    euh, tu as msn?? ça serait plu pratik comme ça je pourrai te filer ske j'ai koi.....
    0
  21. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
     
    ah 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 !
    0
  • 1
  • 2