erreur php, tres bizzare...

Discussion dans 'Web, design' créé par Styleman, 12 Avril 2003.

Statut de la discussion:
Fermée.
  1. Offline
    Styleman Touriste
    Bonjour,
    Voila chuis un noob, j'ai fais un truc comme on m'a expliqué, donc une page qui affiche des données

    Voila lap age en question:
    Code:
    <?
       if (empty($id)) {
       $sql="SELECT id, titre FROM test_tbl ORDER BY id DESC";
       $result = mysql_query($sql);
       $NbRep = mysql_num_rows($result);
       if ($NbRep !=0) {
            while ($ligne = mysql_fetch_array($result)){
                 echo "<a 
    
    href=\"test.php?id=".$ligne[0]."\">".$ligne[2]."</a><br>"; 
       }
    }
    else {
        $sql="SELECT * FROM test_tbl WHERE id = $id";
        $result = mysql_query($sql);
        $NbRep = mysql_num_rows($result);
        if ($NbRep !=0) {
             $ligne = mysql_fetch_array($result);
             echo "Titre: ".$ligne[2]."<br>";
    
        }
        else {
           echo "Il n'y a pas de test ayant cet id";
         mysql_close();
         }
    }
    ?>
    et il me met : Parse error: parse error in /home2/www/expert-gamers/pse/test.php on line 27

    Pourtant, la ligne 27, c'est: ?>

    Comment peut il il y a voir une erreur la dedans?

    Enfin je continue a chercher, si quelqu'un a une idee...thx
    Styleman, 12 Avril 2003
    #1
  2. Offline
    Styleman Touriste
    bon now j'ai la meme chose mais line 30, parce ke j'ai juste rajouter 2 ligne pour me connecter a la base...enfin, c toujours la meme chose koi, toujours la ligne "?>" qui foire...
    :cry: :cry:
    Styleman, 12 Avril 2003
    #2
  3. Online
    RedCross ex membre
    je pense déjà qu'il te manque une } à la fin :wink:
    RedCross, 12 Avril 2003
    #3
  4. Offline
    La Poubelle Elite
    Code:
    <? 
       if (empty($id)) { 
       $sql="SELECT id, titre FROM test_tbl ORDER BY id DESC"; 
       $result = mysql_query($sql); 
       $NbRep = mysql_num_rows($result); 
       if ($NbRep !=0) { 
            while ($ligne = mysql_fetch_array($result)){ 
                 echo "<a 
    
    href=\"test.php?id=".$ligne[0]."\">".$ligne[2]."</a><br>"; 
       } 
    } 
    else { 
        $sql="SELECT * FROM test_tbl WHERE id = $id"; 
        $result = mysql_query($sql); 
        $NbRep = mysql_num_rows($result); 
        if ($NbRep !=0) { 
             $ligne = mysql_fetch_array($result); 
             echo "Titre: ".$ligne[2]."<br>"; 
    
        } 
        else { 
           echo "Il n'y a pas de test ayant cet id"; 
         mysql_close(); 
         } 
    } 
    
    Pour pouvoir lire correctement du code , on le présente proprement déjà

    Aligner le code par rapport aux parenthèse dans les fonctions, les boucles, et les if.

    C'est le minimum


    Code:
    <? 
       if (empty($id))
           { 
           $sql="SELECT id, titre FROM test_tbl ORDER BY id DESC"; 
           $result = mysql_query($sql); 
          $NbRep = mysql_num_rows($result); 
          if ($NbRep !=0)
             { 
             while ($ligne = mysql_fetch_array($result))
                { 
                echo "<a href=\"test.php?id=".$ligne[0]."\">".$ligne[2]."</a><br>"; 
                } 
             } 
          else
             { 
             $sql="SELECT * FROM test_tbl WHERE id = $id"; 
             $result = mysql_query($sql); 
             $NbRep = mysql_num_rows($result); 
             if ($NbRep !=0)
                 { 
                 $ligne = mysql_fetch_array($result); 
                 echo "Titre: ".$ligne[2]."<br>"; 
                 } 
             else
                 { 
                 echo "Il n'y a pas de test ayant cet id"; 
                 mysql_close(); 
                 } 
             }
    Ca me donne même pas envie de lire le code sinon

    Dans ta table , tu séléctionnes que deux champs (donc fields 0 et 1) et tu demandes d'inscrire le champs n° 2 ????
    La Poubelle, 12 Avril 2003
    #4
  5. Offline
    Styleman Touriste
    bah lis pas alors...si c pour dire ça laisse tomber...
    Styleman, 12 Avril 2003
    #5
  6. Offline
    La Poubelle Elite
    Va dans les news de programmation et mets ton code ainsi, déjà que peu de personne réponde , mais si tu présentes ca comme un porc, c'est du suicide.

    Mes tartines de codes si je code comme toi, je pourrais m'y retrouver sur le moment même, mais trois mois plus tard, ca donnera quoi.

    UN CODE ET LES VARIABLES DOIT ETRE CLAIR, C'EST TOUT.

    Si tu comprends pas ca, arrête la programmation.
    La Poubelle, 12 Avril 2003
    #6
  7. Offline
    Styleman Touriste
    sorry, mais bon, le code n'est pas de moi a la base, et il etait come ça, sinon la, je demande d'inscrire le 2 parce ke la, c juste pour tester, kan y'aura plus d'erreur, je continuerais l'affichage du reste
    Styleman, 12 Avril 2003
    #7
  8. Online
    RedCross ex membre
    lol, Again, le marrant.
    On est pas ici pour donner des leçons non plus, mais pour l'aider.
    OK, faut être clair dans la façon de coder, je suis d'accord avec toi, mais bon, y amoyen de lui dire gentiment tout en aidant à règler son problème. :wink:

    Bon, alors, on en est où avec ce fameux problème?
    C'est réglé ou pas ?
    :)
    RedCross, 12 Avril 2003
    #8
  9. Offline
    Styleman Touriste
    ben la c-a-d ke je suis en plein HDD probleme lol, mais bon je remet a ça ne tatendant les reponse pour mon new HDD, je reviens :wink:
    Styleman, 12 Avril 2003
    #9
  10. Offline
    La Poubelle Elite
    Sorry,

    J'ai passé toute la semaine de refaire un intranet qui a été fait par un fou qui aligne tous à gauche avec des variables très explicite du genre X, Y, STR, ....

    Disons qu'il est très important d'aligner ses caractères pour se relire et pour détécter ses erreurs.

    Même si une erreur provient soit disant d'une ligne, c'est seulement une indication qui faut prendre avec des pincettes. Comme l'a dit RedCross, un } manquant ou de trop même cinquante ligne avant peut générer de telles erreurs.

    Le seul moyen de localiser serieusement une erreur est d'inscrire (echo) ou response.write en ASP a differents endroits pour essayer de repérer la vrai erreur. C'est barbare et lourdingue, mais c'est encore assez efficace.
    La Poubelle, 12 Avril 2003
    #10
  11. Offline
    Styleman Touriste
    ok merci bcp all, ça va now :wink:
    Ok Again je m'en rappel pour la prochaine fois, ce n'est que mes debuts et tes consiles me sont precieux, THX bcp tout le monde
    Styleman, 12 Avril 2003
    #11
  12. Offline
    Neohlogix Ailleur
    Pour ton erreur, ton code est en effet la cause de cette erreur.
    le prob vient de la ligne avec
    echo"<a

    href=\"test.php?id=".$ligne[0]."\">".$ligne[2]."</a><br>";

    ca passe pas ca en php. Par contre ca oui:
    Code:
    echo"<a href=\"test.php?id=".$ligne[0]."\">".$ligne[2]."</a><br>";
    
    Mais bon j'espere que t'as pas que ca dans ton script because t as aucune ouverture ni fermeture de db dans ce que je vois.

    Euh c est pas un numéro de champ c est une var de l'array qu'il appelle. pour autant qu il ai un 2 = "VariableXY" dans ces valeurs d'array c est bon.
    Neohlogix, 12 Avril 2003
    #12
  13. Offline
    Styleman Touriste
    ok, pour le lien, c'est le retour a la ligne qui ne va pas c'est ça? me semble quej 'ai une autre page comme ça et que ça foncitonne, mais bon, si tu le dis, c surement ça, je m'en vais modifier, merci bcp, et ouis il y a un 2 dans le truc array la ke tu a expliker a again se ke j'appelais...
    Styleman, 12 Avril 2003
    #13
  14. Offline
    Neohlogix Ailleur
    ben tu peux avoir des retours de ligne affiché a l'écran mais qui n'en sont pas vraiment (Line break) ca dépends avec quoi tu édites ton code.
    Neohlogix, 12 Avril 2003
    #14
  15. Offline
    Styleman Touriste
    Ben...pour tout te dire, kan je saurais c'est quoi, on reprendra la discution lol, a moins ke tu ne m'explike, ce qui serais tres interressant, ou alors un lien vers une page explicative...

    Voila, merci bcp
    JE v de ce pas continuer mon apprentissage :D
    Styleman, 12 Avril 2003
    #15
  16. Offline
    Carambar He once forgot how to cry
    Il ne manquerais pas un "<?php" au début :D ?
    Carambar, 13 Avril 2003
    #16
  17. Online
    RedCross ex membre
    t pas obligé, enfin, ça dépend comment est configuré le serveur aussi, mais par défaut, tu peux coder <? ou <?php , tu peux même mettre <script language="PHP">. :wink:
    RedCross, 13 Avril 2003
    #17
  18. Offline
    Styleman Touriste
    oui en effet, mais sur ma page, il y est ne t'inkeite pas, je ne l'ai pas copier la sur ce post, mais sinon il y est... :wink:
    Styleman, 13 Avril 2003
    #18
  19. Offline
    dRex Xaxaxa
    lol j'ai un truc bizaroide en vb (exell) moi...

    Code:
            If cel.Value = lettre Then
                cel.Offset(-1, 0) = lettre
                ltrouve = 1
            Else
                ltrouve = 0
            End If
    quand am condition est juste, il execute
    Code:
    cel.Offset(-1, 0) = lettre
    puis suate direct à
    Code:
    ltrouve = 0
    qui devrian pas s'execuetr vu que la condition est juste... en passant par dessus le
    Code:
    ltrouve = 1
    dRex, 14 Avril 2003
    #19
  20. Offline
    Carambar He once forgot how to cry
    Je crois avoir trouvé ce qui ne va pas. Je retranscrit le code juste au niveau de la structure (pour plus de clareté en omettant les instructions à l'intérieur :

    Code:
    if(empty($id))
    	{
    	...
    	if ($NbRep !=0)
    		{ 
    		while ($ligne = mysql_fetch_array($result))
    			{ 
    			...
    			} 
    		} 
    	else
    		{ 
    		...
    		if ($NbRep !=0)
    			{ 
    			... 
    			} 
    		else
    			{ 
    			...
    			} 
    		}
    	} // <=== !
    
    Il y a un premier if qui est ouvert au début mais qui n'est pas fermé à la fin. Il suffirais de rajouter un } à la fin.

    P.S: J'ai oublié le nom de ce symbole { . C'est n'est pas un crochet :p ...
    Carambar, 14 Avril 2003
    #20
Statut de la discussion:
Fermée.