PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 05-07-2009 16:50:52

hichoum
Membre
Inscription : 04-06-2009
Messages : 29

tester variable provenant de la bdd

Salut à tous

J'ai un pobleme encore avec mon projet ^^
J'explique un peut la cinematique site
Le client s inscrit recoit un mail de confirmation avec un lien a suivre qui le renvois vers la page choix dans laquelle il se log et definit son statut employé ou employeur.
Le tout dans la meme table.
Mais il ne veut pas upload la table je n ai pas de message d erreur


if ($nom_utilisateur && $pass && statut)
  { // si tout est OK
    $rq = "SELECT id, email, statut FROM members WHERE nom_utilisateur = '$nom_utilisateur' AND pass='".md5($pass)."'";
    $result = @mysql_query ($rq);
    $ligne = mysql_fetch_array ($result, MYSQL_NUM);
   
    if ($ligne)
    {//on test si statut contient des infos ou pas
      $rq1 = "SELECT statut FROM members WHERE nom_utilisateur = '$nom_utilisateur' AND pass='".md5($pass)."'";
      $result1 = @mysql_query ($rq);
      $ligne1 = mysql_fetch_array ($result, MYSQL_NUM);
     
      if (mysql_num_rows ($result1) == 1)
          {
            echo "Vous avez dèjâ confirmé votre compte vous allez etre redirigé vers votre compte.";
            exit();
          }
      else
          {
            // on insert le statut dans table
            $rq = "UPDATE members SET statut = '".mysql_escape_string($ligne['statut'])."' WHERE  nom_utilisateur = '$nom_utilisateur' AND pass='".md5($pass)."'";  
            mysql_query($rq) or die('Erreur SQL !'.$rq.'<br>'.mysql_error());
          }
         
    // si on trouve on ouvre une session
     
    $_SESSION['email'] = $ligne[1];
    $_SESSION['id'] = $ligne[0];
     
      ob_end_clean();
      if ($_POST['statut'] = artiste)
        {
          header ("Location: [url=http://www.domaine.com/index.php?page=inscriptionartiste&\.$_SESSION]http://www.domaine.com/index.php?page=inscriptionartiste&\".$_SESSION[/url]['email']."&".$_SESSION['id']);
          exit();
        }
      else
        {
          header ("
Location: [url=http://www.domaine.com/index.php?page=inscriptionpro&\.$_SESSION]http://www.domaine.com/index.php?page=inscriptionpro&\".$_SESSION[/url]['email']."&".$_SESSION['id']);
          exit();
        }
     
    }
    else
    {
      echo "Le nom d'utilisateur ou le mot de passe n'existe pas. J'ai perdu mon mot passe";
    }
    mysql_close();
  }
  else
  {
    echo "Une erreur est survenue. Merci de recommencer";
  }
 

Est ce quelqu un pourrait m aider s il vous plait

Hors ligne

#2 06-07-2009 09:33:22

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : tester variable provenant de la bdd

Hum déjà je vois cela :

if ($nom_utilisateur && $pass && statut)

Une constante ou une erreur de frappe ? Si c'est une constante utilises des majuscules.

Ensuite ta seconde requête est redondante, tu récupères déjà le champs statut dans la première requête.

Ton problème de statut vient du fait que tu travailles deux fois sur la même table avec des informations contradictoires.
Es-tu sûr que tu dois travailler deux fois sur la table members et pas plutôt une fois sur la table members puis sur une table répertoriant les statuts ?
Car là puisque ton membre n'a pas de statut vu qu'il vient de s'inscrire tu tentes de lui en remettre un, mais tu lui colles le statut qu'il possède déjà, donc un statut vide...

Hors ligne

Pied de page des forums