Pb dans requete avec variable exterieure

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 : Pb dans requete avec variable exterieure

Re: Pb dans requete avec variable exterieure

par xTG » 29 mars 2011, 15:24

Tu n'as pas compris comment interroger une table SQL. :)
mysql_query() ne fait que créer la ressource demandée, cela ne récupère aucunement le résultat.

Deux articles qui t'aideront à comprendre et à trouver ce que tu cherches :
http://phpdebutant.org/article66.php
http://phpdebutant.org/article65.php

Pb dans requete avec variable exterieure

par steph70 » 29 mars 2011, 14:37

Bonjour à tous,

j'ai un script formulaire qui me permet de recupérer les infos voulues et de les placer dans une base de données.

Je cherche a rajouter sur ce script une vérification que l'adresse mail entrée ne soit pas déjà dans la base.

Mais la je n'arrive pas a faire la comparaison entre la donnée de la BDD et la variable entrée pour voir si elle existe.

Voici la totalité de mon script :
<?php
if(isset($_POST['valide']))
{
 //recup des variables
 $Société=$_POST['Société'];
 $numero=$_POST['numero'];
 $nom=$_POST['nom'];
 $prenom=$_POST['prenom'];
 $adresse=$_POST['adresse'];
 $code=$_POST['code'];
 $ville=$_POST['ville'];
 $mail=$_POST['mail'];
 $telephone=$_POST['telephone'];
 $portable=$_POST['portable'];

 //Connection Mysql
 mysql_connect("*","*","*")or die("Problème avec la base de données");
 mysql_select_db("*")or die ("pas de connection");

*************************************************
// Requete qui ne fonctionne pas                *
$test=mysql_query("SELECT `mail`                *
FROM inscriptions WHERE `mail` = `$mail`");     *
*************************************************

 //Requête
 if ((!empty($Société)) and (!empty($nom)) and (!empty($prenom)) and (!empty($adresse)) and (!empty($code)) and (!empty($ville)) and (!empty($mail)) and ($test != $mail))
 {
	
  mysql_query("INSERT INTO inscriptions  (ID,Société,numero,nom,prenom,adresse,code,ville,mail,telephone,portable)VALUES('','".$Société."','".$numero."','".$nom."','".$prenom."','".$adresse."','".$code."','".$ville."','".$mail."','".$telephone."','".$portable."')") or die("Désolé, il y a eu un problème dans la transmission des données".mysql_error()); 
 
//Envoi mail
     $headers ='From: "machin"<[email protected]>'."\n"; 
     $headers .='Reply-To: '."\n"; 
     $headers .='Cc: '."\n"; 
     $headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n"; 
     $headers .='Content-Transfer-Encoding: 8bit'; 

     if(mail('[email protected]', 'Demande d\'inscription adherent en cours', 'Demande d\'inscription adherent en cours', $headers)) 
     { 
          echo '<font face="tahoma" color="red">Merci. La demande a bien ete transmise<br><br></font>'; 
	   echo '<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"><font face="tahoma" color="red">Merci pour votre inscription !<br>Dès l\'ouverture du site, vous  recevrez par mél vos codes d\'identification.</font><br><br><font face="tahoma" color="green">Attention, parfois nos méls sont considérés comme SPAM par les serveurs méls. Si vous ne trouvez pas le mél contenant vos identifiants dans votre boite de réception, vérifiez dans vos courriers indésirables.</font>';
     } 
     else 
     { 
          echo 'Le message n\'a pu être envoyé, veuillez recommencer'; 
     } 
  //Cloture de la base
  //mysql_close();
 }
  else
 {
  echo 'Votre formulaire est incomplet, veuillez recommencer svp';
  echo '<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"><br><br><center><font face="tahoma" color="red"><blink><a onclick="history.back();"><u>Retour à la page précédente</u></a></blink></font></center>';
 }
}
else
{
 ?>
 <html>
 <head><meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"></head>
 <body>
 <basefont face="Tahoma" size="2">
 <center style="color: white;"><h3 style="background-color: rgb(92, 168, 10);">Demande d'inscription</h3></center><br>
 <p style="color:rgb(92,168,10)"><i>Les champs avec un * sont obligatoires</i></p><br>
 <form method="post">
 <label>Nom de la Société * (Ex : sarl,...) : </label><input name="Société" type="text"><br><br>
 <label>Numéro d'adhérent * : </label><input name="numero" type="text"><br><br>
 <label>Nom de l'adhérent * : </label><input name="nom" type="text"><br><br>
 <label>Prénom  * : </label><input name="prenom" type="text"><br><br>
 <label>Adresse * : </label><input name="adresse" type="text"><br><br>
 <label>Code Postal * : </label><input name="code" type="text"><br><br>
 <label>Ville * : </label><input name="ville" type="text"><br><br>
 <label>Mél * : </label><input name="mail" type="text"><br><br>
 <label>Téléphone : </label><input name="telephone" type="text"><br><br>
 <label>Téléphone Portable: </label><input name="portable" type="text"><br><br>
 <input value="Valider" type="submit" style="background-color:rgb(92,168,10)" name="valide" />
 </form>
 <?php
}
?>

Alors j'ai essayé une requete simple du type :
<?php
$test=mysql_query("SELECT `mail` 
FROM inscriptions WHERE `mail` = `$mail`");
echo "mail = $mail<br>";
echo "test = $test";
?>

Et la je ne recupère que l'echo de la variable mail mais pas celle de la variable test.

Ou ais je fait une bétise ?

Merci d'avance pour votre aide.

Amicalement