Ok, voilà donc le bout de code recopié tel quel:
<?php
/* programme de login pour section à accès réservé
copié php/mysql pour les nuls page 403
PS: chiens.inc.php=> <?php $host="localhost"; $user="";
$password="";$database="MemberDirectory";
?>
*/
session_start();
include("chiens.inc.php");
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 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 échec 2.");
$num2 = mysqli_num_rows($result2);
if ($num2 > 0){ // Mot de passe trouvé
$_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 est incorrect. Réessayer.<br />";
include("login_form.inc.php");
}
}
elseif ($num==0){ // Nom de login introuvable
$message = "Le nom de login que vous avez saisi n'existe pas. Réesayer.<br/>";
include("login_form.inc.php");
}
break;
case "new":
/* Recherche des champs vides */
foreach($_POST as $field => $value){
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.php");
exit();
}
/* Validation des données */
foreach($_POST as $field => $value){
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("city",$field)) {
if(!ereg("^[A-Za-z0-9.,' -]{1,50}$",$value)) {
$errors[]="$value est incorrect.";
}
}
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 Code Postal autorisé.";
}
}
}
}
if(@is_array($errors)){
$message_new="";
foreach($errors as $value){
$message_new .=$value."Réessayer<br/>";
}
extract($_POST);
include("login_form.inc.php");
exit();
}
/*Nettoyage des données */
$cxn=mysqli_connect($host,$user,$pasword,$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 déjà ? */
$sql="SELECT loginName FROM Member WHERE loginName='$loginName'";
$result=mysqli_query($cxn,$sql) or die("Requête SELECT en echec dans case new.");
$num=mysqli_num_rows($result);
if($num>0){
$message_new="$loginName existe déjà. Choisissez-en un autre.";
include("login_form.inc.php");
exit();
}
/*Ajout du nouveau membre dans la base */
else{
$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 Member";
$sql.="(".$fields_str.")";
$sql.=" VALUES ";
$sql.="(".'"'.$values_str.")";
$result=mysqli_query($cxn,$sql) or die("Requête INSERT en échec.");
$_SESSION['auth']="yes";
$_SESSION['logname']=$loginName;
}
break;
default;
include("login_form.inc.php");
}
?>
Pour info, voilà le fichier "login_form.inc.php" qui a été légèrement modifié:
<HTML>
<HEAD>
<TITLE>Page d'accueil</TITLE>
</HEAD>
<BODY>
<br><br><br>
Vous êtes déjà inscrit? <br>
Saisissez vos identifiants:<br>
<form action="login.php" method="POST">
<?php
if(isset($message)){
echo " $message <br/> ";
}
?>
Entrez votre login
<input type="text" name="fusername" size="20" maxsize="20"><br>
Entrez votre mot de passe
<input type="password" name="fpassword" size="20" maxsize="20">
<input type="hidden" name="do" value="login"><br><br>
<input type="submit" name="log" value="Accéder à votre compte" align="right">
<br> <br>
<input type="button" value="Mot de passe oublié ?"> <br> <br>
Vous n'avez-pas de compte?<br>
Inscrivez-vous
<br><br>
<b> Création de votre compte</b>
<br><br>
Renseignez les champs suivants:<br><br>
<form action="login.php" method="POST">
<?php
if(isset($message)){
echo " $message_new <br/> ";
}
?>
<table>
<tr><td> Login </td>
<td><input type="text" name="loginName" size="20" maxlength="20"><br></td></tr>
<tr><td>
Mot de passe</td>
<td> <input type="password" name="password" size="10" maxlength="8"><br></td></tr>
<tr><td> Prénom </td>
<td><input type="text" name="firstName" size="40" maxlength="40"><br></td></tr>
<tr><td> Nom </td>
<td><input type="text" name="lastName" size="40" maxlength="40"><br></td></tr>
<tr><td> Rue</td>
<td><input type="text" name="street" size="55" maxlength="50"><br></td></tr>
<tr><td> Ville</td>
<td><input type="text" name="city" size="40" maxlength="40"><br></td></tr>
<tr><td> Code postal</td>
<td><input type="text" name="zip" size="10" maxlength="10"><br></td></tr>
<tr><td> e-mail</td>
<td><input type="text" name="email" size="55" maxlength="67"><br></td></tr>
<input type="hidden" name="do" value="new"><br><br>
<tr><td colspan="2" align="center">
<input type="submit" value="Enregistrez-vous"></td></tr>
</table>
</BODY>
</HTML>
Voilà j'espère que cela pourra vous aider à cerner mon pb.
Merci d'avance.
Signé Sagat