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. 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>
  2. 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. tes identifiants de connection a mysql ne doivent pas etre bon
      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. 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. 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. 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. je croix qu'il manque déjà quelques dollars
              et le fonction echo sert à afficher du texte et non pas pour concataner