Requête SELECT en échec dans case new et Connexion impossible au serveur dans ca

cs_Averell34 Messages postés 1 Date d'inscription jeudi 31 décembre 2009 Statut Membre Dernière intervention 5 octobre 2010 - 5 oct. 2010 à 19:27
TopScritch Messages postés 11 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 octobre 2010 - 6 oct. 2010 à 19:59
Bonjour,

Je débute en PHP et j'essai de faire un espace réservé pour mon site, seulement, voilà les réponses quand je clique sur :

enregistrez vous : Requête SELECT en échec dans case new

identifiez vous : Connexion impossible au serveur dans case login

voici le fichier login.php
<?php
/* Programme   : Login.php
 * Description : Programme de login pour la section à accès réservé
 *               Il propose deux options :
 *               1 - s'identifier par un couple nom de login/mot de passe
 *               2 - créer un nouveau compte
 *               Identificateurs et mots de passe sont conservés
 *               dans une base de données MySQL.
 */
 session_start();                                      # 1
 include("chiens.inc");                                # 2
 switch (@$_POST['do'])                                # 3
 {
   case "login":                                       # 4
     $cxn = mysql_connect($host, $user,$password,$database) 
         or die ("Connexion impossible au serveur dans case login");   # 5

     $sql = "SELECT loginName FROM membres 
             WHERE loginName='$_POST[fusername]'";     # 6
     $result = mysql_query($cxn,$sql)
               or die("Requête en échec 1.");
     $num = mysql_num_rows($result);                  # 7
     if ($num > 0)  // loginname non trouvé            # 8
     {
        $sql = "SELECT loginName FROM membres           # 9
                WHERE loginName='$_POST[fusername]'
                AND password=md5('$_POST[fpassword]')";
        $result2 = mysql_query($cxn,$sql)
                   or die("Requête en échec 2.");
        $num2 = mysql_num_rows($result2);
        if ($num2 > 0)  // Mot de passe OK             #10
        {
           $_SESSION['auth']="yes";
           $logname=$_POST['fusername']; 
           $_SESSION['logname'] = $logname;
           $today = date("d-m-y h:i:s");
           $sql = "INSERT INTO login (loginName,loginTime)
                   VALUES ('$logname','$today')";
           $result = mysql_query($cxn,$sql) 
                     or die("INSERT en échec.");
           header("Location: membre_page.php"); /***** *****/
        }
        else    // mot de passe incorrect              #11
        {
           $message="Le nom de Login '$_POST[fusername]' 
                     existe, mais le mot de passe ne
                     va pas ! Réessayez.
";
           include("login_form.inc");                  #12
        } 
     }
     elseif ($num == 0)  // Nom de login introuvable   #13
     {   
        $message = "Le nom de login que vous avez saisi 
                     n'existe pas. Essayez encore.
";
        include("login_form.inc");
     }
   break;                                              #14

   case "new":                                         #15
  /* Recherche de champs vides */
     foreach($_POST as $field => $value)               #16
     {
        if ($field != "fax")                           #17
        {
           if ($value == "")                           #18
           {
              $blanks[] = $field;
           }
        }
     }
     if(isset($blanks))                                #19
     {
        $message_new = "Champs non saisis. Veuillez 
            les renseigner :  ";
        foreach($blanks as $value)
        {
           $message_new .= "$value, ";
        }
        extract($_POST);
        include("login_form.inc");
        exit();
     }

    /* Validation des données */
     foreach($_POST as $field => $value)               #20
     {
        if(!empty($value))
        {
           if(eregi("name",$field) and
              !eregi("login",$field))
           {
              if (!ereg("^[A-Za-z' -]{1,50}$",$value)) 
              {
                 $errors[]="$value n'est pas un nom valide."; 
              }
           }
           if(eregi("street",$field) or 
             eregi("addr",$field) or eregi("city",$field))
           {
              if(!ereg("^[A-Za-z0-9.,' -]{1,50}$",$value))
              {
                 $errors[] = "$value est incorrect.";
              }
           }
           if(eregi("state",$field))
           {
              if(!ereg("[0-9A-Za-z]{2}",$value))
              {
                $errors[]="$value est refusé pour state.";
              }
           }
           if(eregi("email",$field))
           {
              if(!ereg("^.+@.+\\..+$",$value))
              {
                 $errors[] = "$value est refusé comme email.";
              }
           }
 /*          if(eregi("zip",$field))
           {
              if(!ereg("^[0-9]{5,5}(\-[0-9]{4,4})?$",
                  $value))
              {
                $errors[]="$value n'est pas un zipcode
                            autorisé.";
              }
           }
           if(eregi("phone",$field) 
              or eregi("fax",$field))
           {
              if(!ereg("^[0-9)(xX -]{7,20}$",$value))
              {
                 $errors[] = "$value n'est pas un numéro 
                              de téléphone. ";
              }
           }
*/
        } // Fin de if empty
     } // Fin de foreach
     if(@is_array($errors))                           #21
     {
        $message_new = "";
        foreach($errors as $value)
        {
          $message_new .= $value." Réessayez
";
        }
        extract($_POST);
        include("login_form.inc");
        exit();
     } 

      /* Nettoyage des données */
     $cxn = mysql_connect($host,$user,$password,$database);

     foreach($_POST as $field => $value)              #22
     {
        if($field != "Button" and $field != "do")
        {
           if($field == "password")
           {
              $password = strip_tags(trim($value));
           }
           else
           {
              $fields[]=$field;
              $value = strip_tags(trim($value));
              $values[] = 
                   mysql_real_escape_string($cxn,$value);
              $$field = $value;                 
           }
        }
     }

      /*  Le nom de login existe-t-il déjà ? */
     $sql = "SELECT loginName FROM membres 
                    WHERE loginName = '$loginName'";  #23
     $result = mysql_query($cxn,$sql)
               or die("Requête SELECT en échec dans case new.");
     $num = mysql_num_rows($result);
     if ($num > 0)                                    #24
     {
        $message_new = "$loginName existe déjà. 
                         Choisissez-en un autre.";
        include("login_form.inc");
        exit();
     }
    /* Ajout du nouveau membre dans la base */
     else                                             #25
     {   
        $today = date("Y-m-d");
        $fields_str = implode(",",$fields);
        $values_str = implode('","',$values);
        $fields_str .=",createDate";
        $values_str .='"'.",".'"'.$today;
        $fields_str .=",password";
        $values_str .= '"'.","."md5"."('".$password."')";
        $sql = "INSERT INTO membres ";
        $sql .= "(".$fields_str.")";
        $sql .= " VALUES ";
        $sql .= "(".'"'.$values_str.")";
        $result = mysql_query($cxn,$sql) 
                or die("Requête INSERT en échec.");
        $_SESSION['auth']="yes";                      #26
        $_SESSION['logname'] = $loginName;

        /* Envoyer un email au nouveau membre */      #27
        $emess = "Un nouveau compte de membre vient d'être créé. ";
        $emess.= "Votre identificateur et votre mot de passe sont : ";
        $emess.= "\n\n\t$loginName\n\t$password\n\n";
        $emess.= "Nous apprécions l'intérêt que vous portez à notre site.\n\n";
        $emess.= "Si vous avez des questions à poser, vous pouvez envoyer ";
        $emess.= "un e-mail au webmaster";
        $ehead="From: lolovillage@free.fr\r\n";
        $subj = "Votre nouveau compte à l'UFAP";
        $mailsnd=mail("$email","$subj","$emess","$ehead");
        header("Location: Nouveau_membre.php");       #28
      }
    break;

    default:                                          #29
        include("login_form.inc");
  }
?>


ainsi que le fichier nouveau_membre.php

<?php
 /* Programme   : Nouveau_membre.php (New_member.php)
  * Description : Affiche une page de bienvenue à l'intention
  * du nouveau membre en l'appelant par ses prénom et nom. Il a 
  * ensuite le choix entre visiter les pages à accès réservé ou 
  * revenir à la page d'accueil du site Web.
*/
  session_start();
  
  if (@$_SESSION['auth'] != "yes")
  {
     header("Location: login.php");
     exit();
  }
  include("chiens.inc");
  $cxn = mysql_connect($host,$user,$password,$database)
         or die ("Connexion en échec.");
  $sql = "SELECT firstName,lastName FROM membres 
               WHERE loginName='{$_SESSION['logname']}'";
  $result = mysql_query($cxn,$sql)
            or die("Requête SELECT en échec dans Nouveau_membre");
  $row = mysql_fetch_assoc($result);
  extract($row);
  echo "<html>
        <head><title>Bienvenue au nouveau membre</title></head>
        
        
        Bienvenue à $firstName $lastName
\n";
?>                                                        

Votre inscription en tant que membre.
vous permet de visiter les pages à accès réservé de notre site Web.



Nous vous avons envoyé par e-mail votre nom de login et votre
mot de passe. Conservez-les précieusement en vue de leur
prochaine utilisation.





         Nous sommes heureux de vous compter parmi nous !


<form action="http://www.ufap-cp-beziers.fr/crbst_0.html" method="POST">
   
</form>
<form action="membre_page.php" method="POST">
   
</form>



vous pouvez aussi voir ce que ça fait directement en visitant mon site :

[www.ufap-cp-beziers.fr/secure/index.php UFAP]

Pouvez-vous m'aider, je suis perdu ?
Merci à tous

1 réponse

TopScritch Messages postés 11 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 octobre 2010
6 oct. 2010 à 19:59
Bonjour,

Apparemment la variable $loginName n'est pas initialiser !!! (Ligne 188)

quel est le contenu de chiens.inc ?
0
Rejoignez-nous