Partage
  • Partager sur Facebook
  • Partager sur Twitter

Parse error: syntax error, unexpected T_LNUMBER

Sujet résolu
    7 novembre 2006 à 20:38:25

    Bonjour,
    pour l'instant avant que vous ne me demandiez le code qui fait 600 lignes, j'aimerais vous demandez ce que signifie T_LNUMBER : une accolade mal fermée, une balise mal fermée, une virgule mal placée, erreur de concaténation...
    En gros, c'est quoi.
    Merci d'avance.
    ^^;)
    • Partager sur Facebook
    • Partager sur Twitter
      8 novembre 2006 à 9:16:48

      UP, svp, aidez-moi, c'est vraiment pas dur ce que je vous demande et je ne vais quand même pas mettre mon script de 600 lignes, non ?
      :euh:;)
      • Partager sur Facebook
      • Partager sur Twitter
        8 novembre 2006 à 10:37:34

        je sais pas, met nous la ligne en question p-e...
        j'ai bien trouvé un exemple mais ça m'avance pas.
        • Partager sur Facebook
        • Partager sur Twitter

        zordania is back

          8 novembre 2006 à 11:26:09

          Bon maintenant ça me met :

          Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING

          Voici le bout de code de la ligne 100 :

          <?php
          if($_SESSION['logged'] == true AND !isset($_GET['mp']) AND !isset($_GET['action']))
          {
          $nbr_non_vus = mysql_query("SELECT COUNT(*) AS nbre FROM mp WHERE destinataire="' . $_SESSION['pseudo'] . '" AND vu='0' AND (efface='0' OR efface='2')") or die (mysql_error());
          $nbre_non_vus = mysql_fetch_array($nbr_non_vus);
          $retour = mysql_query("SELECT ID, sujet, expediteur, timestamp, vu FROM mp WHERE destinataire="' . $_SESSION[pseudo'] . '" AND (efface='0' OR efface='2') ORDER BY ID DESC") or die (mysql_error());
          ?>
           ;)
           
          • Partager sur Facebook
          • Partager sur Twitter
            8 novembre 2006 à 12:04:46

            ha ben vouala, on y arrive ;) la colorisation syntaxique montre a peu près où est le pb:
            tu démarre ta chaîne avec un double quote "SELECT ...
            donc elle se termine avec le double et juste après y'a un simple => ...destinataire="' et c'est la faute. il faut inverser " et ' à cet endroit ça devrait passer ensuite. Et pareil de l'autre coté, ... "' AND ..

            ça devient vite très compliqué ces simple et double qote je te l'accorde. et encore t'a pas échapé les noms de tables et champs avec les ` (ouf!) Il est possible je crois de mettre les variables à l'intérieurs de chaines " " et qu'elles soient interprétées, je crois entre accolades "{$_GET['id']}" je trouve pas ça plus lisible d'ailleurs.

            aussi: enlève le smiley après le ?> dans ton code ;)

            edit: je viens de trouver une autre formulation: le %s est remplacé par l'argument donc la variable (d'ailleurs il te manquait un ' avant pseudo)
            $sql = sprintf("SELECT ID, sujet, expediteur, timestamp, vu FROM mp WHERE destinataire="'%s'" AND (efface='0' OR efface='2') ORDER BY ID DESC", $_SESSION['pseudo']);
            • Partager sur Facebook
            • Partager sur Twitter

            zordania is back

              8 novembre 2006 à 12:42:29

              il y a des délimiteur php pour indiquer une chaine de caractère
              il en a deux
              mais si on souhaite une variable dans un echo on fait ça
              echo 'SUPER QUOTE' . $quote . 'Il vous a plus ?';

              la seul chose dans une requête c'est dans un where il a besoin de délimiteur a lui (comme les regex)
              si ta chaine de caractère (je parle de tout mysql_query) a le délimiteur "" pour la chaine de caractère
              si tu connais les regex de base voici un peux ce que ça fait
              if (preg_match(#"ta regex"#, $variable_a_verfier))

              Tu comprend mieux ?
              Secret (cliquez pour afficher)
              $nbr_non_vus = mysql_query("SELECT COUNT(*) AS nbre FROM mp WHERE destinataire='" . $_SESSION['pseudo'] . "' AND vu='0' AND (efface='0' OR efface='2')") or die (mysql_error());
              $nbre_non_vus = mysql_fetch_array($nbr_non_vus);
              $retour = mysql_query("SELECT ID, sujet, expediteur, timestamp, vu FROM mp WHERE destinataire='" . $_SESSION['pseudo'] . "' AND (efface='0' OR efface='2') ORDER BY ID DESC") or die (mysql_error());
              • Partager sur Facebook
              • Partager sur Twitter
                8 novembre 2006 à 13:25:51

                Oui, je crois avoir compris, mais je ne suis pas sûr :
                là ça me fait la même chose mais pour la ligne 128, voici le bout de code :

                 if($donnees['vu'] == 0)
                  {
                    echo'<tr><td class="td"><strong>Non lu</strong></td><td class="td"><strong><a href="mp_ygv.php?mp=' . $donnees['ID'] . '$amp;action=lire">' . $sujet . '</a></strong></td><td class="td">' . $expediteur . '</td><td class="td">Le' . date('d/m/Y \à  H\hi', $date') . '</td><td class="td"><a href="mp_ygv.php?action=supprimer&amp;suppr=1&amp;id=' . $donnees['ID'] . '">Supprimer ce message</a></td></tr>';
                  }
                  else
                  {
                    echo'
                <tr><td class="td"><em>Lu</em></td><td class="td"><em><a href="mp_ygv.php?mp='.$donnees['ID'].'&amp;action=lire">'.$sujet.'</a></em></td><td class="td">'.$expediteur.'</td><td class="td">Le' .date('d/m/Y \ê H\hi', $date).'</td><td class="td"><a href="mp_ygv.php?action=supprimer&amp;suppr=1&amp;id='.$donnees['ID'].'">Supprimer ce message</a></td></tr>'; 
                  }
                }
                 

                ;)
                • Partager sur Facebook
                • Partager sur Twitter
                  8 novembre 2006 à 14:39:55

                  tu en met partout (surtout où y faut pas :-° )
                  date('d/m/Y \à H\hi', $date') <-- le dernier simple quote ' après $date, faut le supprimer.

                  à Conan: je suis pas sur mais je crois que dans ton exemple pour la regex tu a inversé les " et les # comme délimiteurs?
                  • Partager sur Facebook
                  • Partager sur Twitter

                  zordania is back

                    8 novembre 2006 à 14:53:19

                    Et bien c'est le script des erreurs, mais là je ne vois aucun problème de ' :euh: :

                    Parse error: syntax error, unexpected T_LOGICAL_AND on line 141


                    Voici le bout de code :

                    <?php
                    }
                    elseif(isset($_GET['mp'])) AND isset($_GET['action']) AND $_GET['action'] == 'lire' AND $_SESSION['logged'] == true)
                    {
                      $id_mp = $_GET['mp'];
                      $retour = mysql_query('SELECT destinataire, sujet, expediteur, timestamp, message FROM mp WHERE ID="' . $id_mp . '"') or die(mysql_error());
                      while($donnees = mysql_fetch_array($retour))
                      {
                      if($donnees['destinataire'] == $_SESSION['pseudo'])
                      {
                    ?>

                    :p:(
                    • Partager sur Facebook
                    • Partager sur Twitter
                      8 novembre 2006 à 15:56:47

                      il s'attend pas à avoir un AND parce que tu a fermé 1 parenthèse en trop après ton isset($_GET['mp'])

                      si je les trouve tout de suite, c'est parce que j'ai moi aussi déjà fait toutes ces erreurs au moins 1 fois... si c'est pas plus!
                      • Partager sur Facebook
                      • Partager sur Twitter

                      zordania is back

                        8 novembre 2006 à 18:06:48

                        Maintenant ça me met :

                        Fatal error: Call to undefined function: connexion()

                        Et bout de code :

                        <?php
                        session_start();

                        require('http://uglybettyfrance.free.fr/fonction.php');
                        connexion();
                        ?>

                        Et pourtant fonction.php :

                        <?php
                        function connexion()
                        {
                           mysql_connect('localhost', '*************', '************');
                           mysql_select_db('************');
                        }
                        function redirection($url)
                            {
                            echo "<script type=\"text/javascript\">\n"
                            . "<!--\n"
                            . "\n"
                            . "function redirect() {\n"
                            . "window.location='" . html_entity_decode($url) . "'\n"
                            . "}\n"
                            . "setTimeout('redirect()','2000');\n"
                            . "\n"
                            . "// -->\n"
                            . "</script>\n";
                             }
                        ?>

                        :(
                        • Partager sur Facebook
                        • Partager sur Twitter
                          8 novembre 2006 à 18:13:17

                          Il y a un probleme avec ton require (il me semble que les liens absolus ne fonctionne pas avec)
                          Essaye ça:
                          <?php
                          session_start();

                          require('fonction.php');
                          connexion();
                          ?>
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Erreur PDO - Installation Wamp - Docs PHP et MYSQL.
                            8 novembre 2006 à 18:15:34

                            Merci beaucoup Dave, merci à vous tous, merci encore !!!
                            :ange:;)^^
                            • Partager sur Facebook
                            • Partager sur Twitter

                            Parse error: syntax error, unexpected T_LNUMBER

                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                            • Editeur
                            • Markdown