bonjour à tous,
j'utilise un formulaire pour envoyer les données dans une BD.(phpMyadmin) mais le problème c'est que je peux enregistrer la même requête plusieurs fois.comment puis-je faire pour éviter ça?merci d'avance.
et voici mon code:
[code]<?php
$Nom=$_POST['Nom'];
$Prenom=$_POST['Prenom'];
$Rue=$_POST['Rue'];
$cp=$_POST['cp'];
$ville=$_POST['ville'];
$tel=$_POST['tel'];
$mail=$_POST['mail'];
$commentaire=$_POST['commentaire'];

/* Définition des variables servant au traitement de l'adresse électronique et du numéro de 
   téléphone: on utilise ici des expressions régulières. */
/* Définition de validation de l'adresse de courriel (e-mail) */
		$valid = "^[a-z0-9]+([_.-][a-z0-9]+)*@([a-z0-9]+([.-][a-z0-9]+)*)+\.[a-z]{2,4}$";
/* Définition de validation du numéro de téléphone: des chiffres uniquement, de 6 à 10 chiffres */
		$phone = "^[0-9]{10}$";
/* Définition de validation du code postal: des chiffres uniquement*/
		 $code = "^[0-9]{5}$";    
// connexion à votre base de donnée
$connexion = mysql_connect("localhost","root") or die("erreur");
mysql_select_db("client",$connexion);


  if (empty($_POST['Nom'])==true || empty($_POST['Prenom'])==true || empty($_POST['Rue'])==true || empty($_POST['cp'])==true || empty($_POST['ville'])==true || empty($_POST['tel'])==true)	
   {
   echo "Erreur!: un ou plusieurs champs obligatoires n'ont pas été remplis ( vos infos n'ont pas été envoyées)";
   }
   else  
    {
	  if (($cp) && !(eregi($code, $cp)))
	   {
	   print "<li>le code postal est invalide, il doit comporter 5 chiffres</li>\n"; 
       }
        else
           if (($tel) && !(ereg($phone,$tel)))/* Comparaison du numéro de téléphone avec l'expression régulière */
	        { 
		    print "<li>Le numéro de téléphone doit comporter seulement des chiffres, 10 chiffres sans espaces ni tirets</li>\n";  
		    }
			else
			   if (($mail) && !(eregi($valid, $mail)))
			    {
			    print "<li>L'adresse électronique saisie est invalide.</li>\n"; 
				}
				else
				   // on crée la requête SQL, pour ensuite l'envoyer
		           // lancement de la requête d'insertion
				   {
			       $requete = "INSERT INTO test values('','$Nom','$Prenom','$Rue','$cp','$ville','$tel','$mail','$commentaire')";
		           mysql_query($requete) or die('Erreur SQL !'.$requete.''.mysql_error());
		           print "Vos données ont été envoyées avec succès!";
				  
				   }      
				   
	} 
		// fermeture de la connexion vers Mysql
		mysql_close(); 
?>
Deja tes test me parraisse bizarre, mais la question n'est pas ca... Smiley biggol

Ensuite, pour eviter de metre par exemple deux fois le meme nom dans la basse de donné, il te suffit de créé un nouveau test, dans lequel tu compte le nombre d'enrengistrement qui possede ce nom.

$verification = mysql_query("SELECT COUNT(id) FROM membres 
WHERE nom='".$nom."'") or die (mysql_error());
$donnees = mysql_fetch_row($verification) or die (mysql_error());

if($donnees['0'] >= 0) 
{
// Si c'est superieur a 0 ca veut dire que ce nom est deja dans la base
}
Salut,
tu peut comme la deja dit Mobman02 regarder si la valeur existe deja ou alors creer une clef primaire avec tout tes champs comme ca si on fait une insertion avec les memes valeurs tu aura une erreur disant que cette valeur de clef primaire existe deja.