Help Php

Bonjour à tous,

Je ne comprends pas, mon extrait de code ;

$reponse_cores = mysql_query("SELECT * FROM ". PREFIX ."membres WHERE passe=" .echo md5(test1). " AND pseudo=.test1. ") or die ('Erreur, impossible de vérifier la correspondance pseudo/mot de passe.');

N'est pas juste !

Je pense que sa vient de :

passe=" .echo md5(test1). "

Mais je ne suis pas sur :x
Je vous rappelle que c'est juste un extrait de code, et ma page m'affiche :

Parse error: syntax error, unexpected T_ECHO in /home/.nfs8/XXX/www/0132/12.php on line 25

Aidez moi s'il vous plait ^-^
Configuration: Windows XP
Firefox 3.0.4

9 réponses

  1. je croix qu'il manque déjà quelques dollars
    et le fonction echo sert à afficher du texte et non pas pour concataner
    1. essai comme ça :

      
      $test1="test1";
      $PREFIX="prefix";
      $pass=md5($test1);
      
      $reponse_cores = mysql_query("SELECT * FROM $PREFIX_membres WHERE passe='$pass' AND pseudo='$test1' ") or die ('Erreur, impossible de vérifier la correspondance pseudo/mot de passe.'); 
      
      1. Merci, sa marche pour le premier, mais j'ai un deuxieme pb

        Comment l'inclure de la même facon dans :

        mysql_query("UPDATE ". PREFIX ."membres SET identifiant='$alea' WHERE passe='passe' AND pseudo='pseudo' ". ") or die ('Erreur, impossible de modifier l\'enregistrement.');

        Merci
        1. bonjour,

          même chose les noms des variables commencent par $
          ensuite PREFIX ????

      2. tu fai comme pour le premier :

        $pass="passe";
        $PREFIX="prefix";
        $pseudo="pseudo";

        mysql_query("UPDATE $PREFIX_membres SET identifiant='$alea' WHERE passe='$pass' AND pseudo='$pseudo' ") or die ('Erreur, impossible de modifier l\'enregistrement.');
        1. Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /home/.nfs8/habbgame/www/0132/12.php on line 16

          Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/.nfs8/habbgame/www/0132/12.php on line 16
          Erreur, impossible de vérifier la correspondance pseudo/mot de passe.

          Why ?
          1. tes identifiants de connection a mysql ne doivent pas etre bon
            1. Pourtant si j'ai bien vérifié.
              Bon, attends, je t'envoi le code en entier :

              <?php

              session_start();

              include_once 'recup_config.php'; //On récupère la configuration du script
              require_once 'fonctions/formulaires.php';

              $pseudo="test1";
              $PREFIX="espm";
              $passe=md5($test1);

              $reponse_cores = mysql_query("SELECT * FROM $PREFIX_membres WHERE passe='$passe' AND pseudo='$pseudo' ") or die ('Erreur, impossible de vérifier la correspondance pseudo/mot de passe.');
              $count_cores = mysql_num_rows($reponse_cores);
              if($count_cores === 1)
              {

              $verification_statut = mysql_fetch_array($reponse_cores);

              if($verification_statut['valide'] == 0)
              header('Location:index.php?erreur=valide'); //Si le mail n'a pas été validé

              elseif($verification_statut['valide'] == 2)
              header('Location:index.php?erreur=suspendu'); //on vérifie la correspondance

              else
              {
              $alea = id_aleatoire(); //Création d'un identifiant aléatoire

              mysql_query("UPDATE $PREFIX_membres SET identifiant='$alea' WHERE passe='$passe' AND pseudo='$pseudo' ") or die ('Erreur, impossible de modifier l\'enregistrement.');

              $_SESSION['session'] = $alea; //création de la session

              header('Location:index.php'); //redirection vers l'index
              }
              }

              else
              header('Location:index.php?erreur=couple'); //Si le nombre de correspondances n'est pas égal à 1, on renvoi vers la page d'accueil

              mysql_close();

              include_once 'bas.php';
              ?>
              1. Up
                1. bonsoir,
                  dans le code où est la connexion à la base ?
                  --
                2. Bonsoir,

                  ça ne peut pas marcher:

                  $pseudo="test1";
                  $PREFIX="espm";
                  $passe=md5($test1);

                  $reponse_cores = mysql_query("SELECT * FROM $PREFIX_membres WHERE passe='$passe' AND pseudo='$pseudo' ") or die ('Erreur, impossible de vérifier la correspondance pseudo/mot de passe.');


                  la requette va porter sur la table correspondante à la valeur de la variable $PREFIX_membres hors cette variable n'éxiste pas

                  je pense que tu veux avoir un nom de table composée d'un prefixe $PREFIX et de_membres

                  alors il faut ${$PREFIX.'_membres'} pour faire une variable dynamique (c'est une des solutions !)

                  ce qui donne comme requête:

                  $pseudo="test1";
                  $PREFIX="espm";
                  $passe=md5($test1);
                  
                  $reponse_cores = mysql_query("SELECT * FROM ${$PREFIX.'_membres'} WHERE passe='$passe' AND pseudo='$pseudo' ") or die ('Erreur dans la requette '.mysql_error());</ital>