
le 15/04/2010 à 11:35
aquievreux
Voici mon code
Voici l'erreur qu'il me reste :
Malgrés toute les modifs je ne trouve pas aidez moi svp!!!!!!!!!!!
- <?php
- /* Programme : Login.php
- * Description : Programme de Login pour la section à accés réservé de l'animalerie. 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();
- include("chiens.inc"); // modifier le nom
- switch(@$_POST['do'])
- {
- case "login":
- $cxn = mysqli_connect($host, $user, $password, $database) or die ("Connexion impossible au serveur dans case login");
- $sql = "SELECT loginName FROM Member WHERE loginName='$_POST[fusername]'";
- $result = mysqli_query($cxn,$sql) or die ("Requête en échec 1.");
- $num = mysqli_num_rows($result);
- if ($num > 0) // loginname non trouvé
- {
- $sql = "SELECT loginName FROM Member WHERE loginName='$_POST[fusername]' AND password=md5('$_POST[fpassword]')";
- $result2 = mysqli_query($cxn,$sql) or die("Requête en échec2.");
- $num2 = mysqli_num_rows($result2);
- if ($num2 > 0) // Mot de passe OK
- {
- $_SESSION['auth'] = "yes";
- $logname = $_POST['fusername'];
- $_SESSION['logname'] = $logname;
- $today = date("Y_m-d h:i:s");
- $sql = "INSERT INTO Login (loginName,loginTime) VALUES ('$logname', '$today')";
- $result = mysqli_query($cxn,$sql) or die ("INSERT en échec");
- header("Location: membre_page.php"); /***** *****/
- }
- else // mot de passe incorrect
- {
- $message = "Le nom de Login '$POST[fusername]' existe, mais le mot de passe ne va pas ! Réessayez.<br>";
- include("login_form.inc");
- }
- }
- elseif ($num == 0) // Nom de login introuvable
- {
- $message = "Le nom de login que vous avez saisi n existe pas. Essayez encore.<br>";
- include("login_form.inc");
- }
- break;
- case "new":
- /* Recherche de champs vide */
- foreach($_POST as $field => $value)
- {
- if ($field != "fax")
- {
- if ($value == "")
- {
- $blanks[] = $field;
- }
- }
- }
- if (isset($blanks))
- {
- $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)
- {
- if (!empty($value))
- {
- //if (eregi("name", $field) and !eregi("login", $field))
- if (preg_match("/name/i", $field) and !preg_match("/login/i", $field))
- //if (stristr($field, "name") and !stristr($field, "login"))
- {
- //if (!ereg("^[A-Za-z' -]{1,50}$", $value))
- if (!preg_match("/^[A-Za-z' -]{1,50}$/i", $value))
- //if (!strstr("^[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 (preg_match("/street/i", $field) or preg_match("/addr/i",$field) or preg_match("/city/i", $field))
- //if (stristr($field, "street") or stristr($field, "addr") or stristr($field, "city"))
- {
- //if(!ereg("^[A-Za-z0-9.,' -]{1,50}$",$value))
- if(!preg_match("/^[A-Za-z0-9.,' -]{1,50}$/i",$value))
- //if(!strstr($value, "^[A-Za-z0-9.,' -]{1,50}$"))
- {
- $errors[] = "$value est incorrect.";
- }
- }
- //if (eregi("email", $field))
- if (preg_match("/email/i", $field))
- //if (stristr($field, 'email'))
- {
- //if (!ereg("^.+@.+\\..+$",$value))
- if (!preg_match("/^.+@.+\\..+$/i",$value))
- //if (!strstr($value, "^.+@.+\\..+$"))
- {
- $errors[] = "$value est refusé comme email.";
- }
- }
- } // Fin de if empty
- } // Fin de foreach
- if (@is_array($errors))
- {
- $message_new = "";
- foreach($errors as $value)
- {
- $message_new .= $value. " Reessayez<br />";
- }
- extract($_POST);
- include("login_form.inc");
- exit();
- }
- /* Nettoyage des données */
- $cxn = mysqli_connect($host, $user, $password, $database);
- foreach($_POST as $field => $value)
- {
- if ($field != "Button" and $field != "do")
- {
- if ($field == "password")
- {
- $password = strip_tags(trim($value));
- }
- else
- {
- $fields[] = $field;
- $value = strip_tags(trim($value));
- $values[] = mysqli_real_escape_string($cxn, $value);
- $$field = $value;
- }
- }
- }
- /* Le nom de login existe t-il deja ? */
- $sql = "SELECT loginName FROM Member WHERE loginName = '$loginName'";
- $result = mysqli_query($cxn, $sql) or die ("Requete SELECT en echec dans case new");
- $num = mysqli_num_rows($result);
- if (num > 0)
- {
- $message_new = "$loginName existe deja. Choisissez en un autre.";
- include("login_form.inc");
- exit();
- }
- /* Ajout d un nouveau membre dans la base */
- else
- {
- $today = date("Y-m-d");
- $fields_str = implode(",", $fields);
- $values_str = implode(",", $values);
- $fields_str .=",createDate";
- $values_str .='"'.","."md5"."('".$password."')";
- $sql = "INSERT INTO Member ";
- $sql .="(".$fields_str.")";
- $sql .=" VALUES ";
- $sql .="(".'"'.$values_str.")";
- $result = mysqli_query($cxn, $sql) or die ("Requete INSERT en echec.");
- $_SESSION['auth']="yes";
- $_SESSION['logname'] = $loginName;
- /* Envoyer un email au nouveau membre */
- /*
- $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 apprecions l interet que vous portez a notre magasin. \n\n";
- $subj = Votre nouveau compte :
- $mailsnd = mail("$email","$subj","$emess");
- header("Location: Nouveau_membre.php");
- */
- }
- break;
- default:
- include("login_form.inc");
- }
- ?>
Voici l'erreur qu'il me reste :
- Notice: Use of undefined constant num - assumed 'num' in C:\wamp\www\autre\login.php on line 176
- Requete INSERT en echec.
Malgrés toute les modifs je ne trouve pas aidez moi svp!!!!!!!!!!!