Page 1 sur 1

Formulaire et verif

Posté : 21 mars 2006, 13:05
par cemice
Bonjour jai un espace membre avec un formulaire et jarrive a verifier le login dans une base mais je voudrait aussi verifier le nom et et l'email , jai beau reprendre le meem code que pour le login et il ne fait rien ca passe pareil voici le code :
<?php
// On commence par récupérer les champs 
if(isset($_POST['nom']))      $nom=$_POST['nom'];
else      $nom="";

if(isset($_POST['prenom']))      $prenom=$_POST['prenom'];
else      $prenom="";

if(isset($_POST['adresse']))      $adresse=$_POST['adresse'];
else      $adresse="";

if(isset($_POST['code']))      $code=$_POST['code'];
else      $code="";

if(isset($_POST['ville']))      $ville=$_POST['ville'];
else      $ville="";

if(isset($_POST['login']))      $login=$_POST['login'];
else      $login="";

if(isset($_POST['password']))      $password=$_POST['password'];
else      $password="";

if(isset($_POST['mail']))      $mail=$_POST['mail'];

else      $mail="";


// On vérifie si les champs sont vides 
if(empty($nom) OR empty($prenom) OR empty($adresse) OR empty($code) OR empty($ville) OR empty($login) OR empty($password) OR empty($mail)) 

{ 
    header("Location: msg.php?msg=6"); 
    } 

// Aucun champ n'est vide, on peut enregistrer dans la table 
else      
    { 


    $db = mysql_connect('l*****', '****', '*****');  // connexion à la base 
    mysql_select_db('test',$db);                  // sélection de la base 
     
    // on regarde si login existe déjà 
    $sql = "SELECT id FROM membres_tbl WHERE login='$login'"; 
    $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());  
     
    // on compte le nombre de résultats 
    $res = mysql_num_rows($req); 
    $nom_sql =$res['nom'];
    
if($res!=0) 
        { 
        header("Location: msg.php?msg=7");
        } 
    else  

        $sql = "INSERT INTO membres_tbl(id, nom, prenom, adresse, code, ville,login, password, mail,mdate,compteur) VALUES('','$nom','$prenom','$adresse','$code','$ville','$login','$password','$mail','$mdate','$compteur')"; 
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());  




      header("Location: msg.php?msg=8");
       echo'</center>'; 



        } 
    mysql_close();  // on ferme la connexion 
    }  
?>
Merci de votre aide

Posté : 21 mars 2006, 14:19
par ouckileou
Salut,

ton message n'est pas très clair, tu dis "ça passe pareil", c'est vague
Précise les erreurs par exemple

Ici, tu ne testes que le login en plus... qu'est-ce que tu attends de nous ??
A priori, il suffirait pourtant de rajouter 2 conditions dans ta requête SQL, du même genre que pour le login mais pour le nom et l'email

Enfin, ce message n'a rien de spécifique à PHP5, quand tu auras répondu je le déplacerai dans "Débuter en PHP"

Posté : 21 mars 2006, 17:22
par cemice
en faites si le nom est deja dans la base de donnée quand je rajoute justement cette requete il regarde bien le login mais le nom a mois que e code que je rajoute ne soit pas bon
<?php
// On commence par récupérer les champs 
if(isset($_POST['nom']))      $nom=$_POST['nom'];
else      $nom="";

if(isset($_POST['prenom']))      $prenom=$_POST['prenom'];
else      $prenom="";

if(isset($_POST['adresse']))      $adresse=$_POST['adresse'];
else      $adresse="";

if(isset($_POST['code']))      $code=$_POST['code'];
else      $code="";

if(isset($_POST['ville']))      $ville=$_POST['ville'];
else      $ville="";

if(isset($_POST['login']))      $login=$_POST['login'];
else      $login="";

if(isset($_POST['password']))      $password=$_POST['password'];
else      $password="";

if(isset($_POST['mail']))      $mail=$_POST['mail'];

else      $mail="";


// On vérifie si les champs sont vides 
if(empty($nom) OR empty($prenom) OR empty($adresse) OR empty($code) OR empty($ville) OR empty($login) OR empty($password) OR empty($mail)) 

{ 
    header("Location: msg.php?msg=6"); 
    } 

// Aucun champ n'est vide, on peut enregistrer dans la table 
else      
    { 


    $db = mysql_connect('localhost', 'root', '');  // connexion à la base 
    mysql_select_db('test',$db);                  // sélection de la base 
     
    // on regarde si login existe déjà 
    $sql = "SELECT id FROM membres_tbl WHERE login='$login'"; 
    $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());  
     
    // on compte le nombre de résultats 
    $res = mysql_num_rows($req); 
    $nom_sql =$res['nom'];
    
if($res!=0) 
        { 
        header("Location: msg.php?msg=7");
        } 
    else  
        {  
if ($nom != $nom_sql)
{
$verification2 = mysql_query("SELECT COUNT(*) FROM membres_tbl WHERE nom='$nom'") or die (mysql_error());
			$donnees2 = mysql_fetch_array($verification2)or die (mysql_error());

if($donnees2['COUNT(*)'] >= 1) 
			{
				echo 'Cette adresse e-mail est déjà utilisé, veuillez en choisir une autre. <a href="javascript:history.back(1)">Retour au formulaire</a>';
			}
}

        $sql = "INSERT INTO membres_tbl(id, nom, prenom, adresse, code, ville,login, password, mail,mdate,compteur) VALUES('','$nom','$prenom','$adresse','$code','$ville','$login','$password','$mail','$mdate','$compteur')"; 
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());  


      header("Location: msg.php?msg=8");
    



        } 
    mysql_close();  // on ferme la connexion 
    }  
?>
voila je n'ai aucune erreur et pourtant le nom que je met dans le formulaire existe deja dans ma base merci d'avance

jai trouvé

Posté : 21 mars 2006, 21:24
par cemice
en faite j'ai trouvé je met le code si cela peut aider d'autre personne
<?php
// On commence par récupérer les champs 
if(isset($_POST['nom']))      $nom=$_POST['nom'];
else      $nom="";

if(isset($_POST['prenom']))      $prenom=$_POST['prenom'];
else      $prenom="";

if(isset($_POST['adresse']))      $adresse=$_POST['adresse'];
else      $adresse="";

if(isset($_POST['code']))      $code=$_POST['code'];
else      $code="";

if(isset($_POST['ville']))      $ville=$_POST['ville'];
else      $ville="";

if(isset($_POST['login']))      $login=$_POST['login'];
else      $login="";

if(isset($_POST['password']))      $password=$_POST['password'];
else      $password="";

if(isset($_POST['mail']))      $mail=$_POST['mail'];

else      $mail="";


// On vérifie si les champs sont vides 
if(empty($nom) OR empty($prenom) OR empty($adresse) OR empty($code) OR empty($ville) OR empty($login) OR empty($password) OR empty($mail)) 

{ 
    header("Location: msg.php?msg=6"); 
    } 

// Aucun champ n'est vide, on peut enregistrer dans la table 
else      
    { 
include('conf.php');
    $db = mysql_connect('****', '***', '***');  // connexion à la base 
    mysql_select_db('test',$db);                  // sélection de la base 
     
    // on regarde si login existe déjà 
    $sql = "SELECT id FROM membres_tbl WHERE login='$login'"; 
    $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());  
     
    // on compte le nombre de résultats 
    $res = mysql_num_rows($req); 

    if($res!=0) 
        { 
        header("Location: msg.php?msg=7");
exit;
        } 

$requetem=mysql_db_query($wd_base,"select * from membres_tbl where mail='$mail'",$db) or die(mysql_error());
	$numm=mysql_num_rows($requetem);

	if($numm!=0)
	{
	header("Location:msg.php?msg=9");
	exit;
	}

    else  // login et le mail n'existe pas, on insère les informations du formulaire dans la table 
        {  

        $sql = "INSERT INTO membres_tbl(id, nom, prenom, adresse, code, ville,login, password, mail,mdate,compteur) VALUES('','$nom','$prenom','$adresse','$code','$ville','$login','$password','$mail','$mdate','$compteur')"; 
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());  



      header("Location: msg.php?msg=8");
       echo'</center>'; 



        } 
    mysql_close();  // on ferme la connexion 
    }  
?>
a moins que vous trouvez des erreurs mais moi ca marche nickel

Voila merci qd meme a tous !!!

Posté : 22 mars 2006, 11:14
par zigz4g
Salut.

Un petit résolu a ton sujet de post serait le bienvenue.

Merci.

Posté : 22 mars 2006, 13:27
par cemice
le voici le voila cest resolu lol

Merci en tout cas !!!