Formulaire et verif

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Formulaire et verif

par cemice » 22 mars 2006, 13:27

le voici le voila cest resolu lol

Merci en tout cas !!!

par zigz4g » 22 mars 2006, 11:14

Salut.

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

Merci.

jai trouvé

par cemice » 21 mars 2006, 21:24

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 !!!

par cemice » 21 mars 2006, 17:22

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

par ouckileou » 21 mars 2006, 14:19

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"

Formulaire et verif

par cemice » 21 mars 2006, 13:05

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