begin process at 2012 05 30 23:05:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Eviter les doublons par rapport à un formulaire.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Eviter les doublons par rapport à un formulaire.

lundi 17 octobre 2011 à 13:57:00 | Eviter les doublons par rapport à un formulaire.

ecolom

Bonjour à tous,

me voilà de nouveau dans les embarras ( manque de connaissances quand tu nous tiens.. )
En fait, j'ai créé un formulaire d'inscription à une formation et j'aimerai que les personnes qui réservent ne puissent s'inscrire qu'une seule fois.
J'ai détourné le problème en adaptant un NULL dans la zone user de la DB mais celà ne me convient pas car j'ai un envoie d'Email au submit du formulaire.
Avec cette action, si je fais un encodage double, le formulaire reste à blanc et ne fait pas d'Update dans la DB mais l'Email est envoyé.
Comment puis-je faire pour vérifier dans la db si le user existe.
Si user n'existe pas , maj db + envoie Email
Si user existe , message ==> Vous avez déjà encodé votre réservation.
Ci-dessous une partie de mon code.
Je suis preneur de toutes les infos que vous pourriez me transmettre ou d'exemple de prog.
D'avance, merci

<?
include("./include/param.inc.php");
// Creation des variables des zones de la page
$date_encodage = mysql_real_escape_string($_REQUEST['date_encodage']);
$date_reservation = mysql_real_escape_string($_REQUEST['date_reservation']);
$nom_users = mysql_real_escape_string($_REQUEST['name_users']);
$email_users = mysql_real_escape_string($_REQUEST['email_users']);
// Test si les 2 zones sont différentes de Blanc

if ($_REQUEST['date_reservation'] != "" and $_REQUEST['name_users'] != "")

{

// Si le test est ok insertion des datas dans la DB
mysql_query("INSERT INTO int_org (date_encodage,
date_reservation,
nom_users,
email_users
VALUES('$date_encodage',
'$date_reservation',
'$nom_users',
'$email_users'
)");
// On envoie l email
mail($emailcrd,
$sujet,
$codehtml,
"From: $expediteur\r\n".
"Reply-To: $reponse\r\n".
"Content-Type: text/html; charset=\"iso-8859-1\"\r\n");
// -----------------------------------------------------------------------------------------------------------------------------------
// Email envoyé à l utilisateur
$email = $_REQUEST['email_users'];
$sujet = "Intelligence Organisationnelle - $date_reservation ";
$expediteur = "info@g.com";
$reponse = $expediteur;
// Corps du texte HTML
$codehtml=
"<html>" .
"<body>" .
"<h2><font color=\"red\"><u>Intelligence Organisationnelle - Organizational Intelligence</u></font></h2> \n".
"<b>Nom / Name : </b><font color=\"blue\">$nom_users</font><br>" .
"<b>Email : </b><font color=\"blue\">$email_users</font><br>" .
"<b>Dates :</b><font color=\"blue\">$date_reservation</font><br>" .
"<b>Lien : </b><font color=\"blue\">http://crd1045/agenda_reservations/intelligence_organisationnelle</font><br>" .
"<b>-------------------------------------------------------------------------------------------------------</b><br>" .
"<font color=\"red\">==> Message généré automatiquement via le formulaire de réservation Intelligence Organisationnelle</font><br>" .
"<font color=\"red\">==> Message generated automatically from Organizational Intelligence form</font><br>" .
"</body>" .
"</html>";
// On envoie l email
mail($email,
$sujet,
$codehtml,
"From: $expediteur\r\n".
"Reply-To: $reponse\r\n".
"Content-Type: text/html; charset=\"iso-8859-1\"\r\n");
}
// -----------------------------------------------------------------------------------------------------------------------------------
// Select pour preparer l affichage du contenu de la DB
$result=mysql_query("SELECT * FROM int_org order by date_reservation ASC,nom_users DESC");
$i=0;
while( $row=mysql_fetch_array($result) )
{
if($i>0)
{

echo "<tr valign=bottom>";
echo "<td bgcolor=#3333CC background='./images/strichel.gif' colspan=6 width=1 height=1></td>";
echo "</tr>";
}
{
echo "<tr height=20 valign=center>";
echo "<td align=center><font color=#333333 class=tabval>&nbsp;".$row['date_reservation']."</td>";
echo "<td align=center><font color=#333333 class=tabval>&nbsp;".$row['nom_users']."</td>";
echo "<td align=center><font color=#333333 class=tabval>&nbsp;".$row['email_users']."</td>";
echo "<td class=tabval></td>";
echo "</tr>";
$i++;
}
}
?>
Code HTML :
[code=php]
[/code]




Encore merci pour votre aide. Je continue de chercher de mon côté.

lundi 17 octobre 2011 à 14:26:50 | Re : Eviter les doublons par rapport à un formulaire.

nemo_1

Réponse acceptée !
Chalute,

Voilà ce que je te suggere:

Code PHP :
<?php
function verify_user_by($nom, $prenom){
   if(!empty($nom, $prenom)){
      $query = "SELECT COUNT(id) FROM tableusers";
      $query .= " WHERE nom = '". $nom . "' "
      $query .= " AND prenom = '". $prenom . "' ";
      $query .= " LIMIT 1";
      $result_set = mysql_query($query) or die("Mysql query

	    failed");

      //REMEMBER
      //If result_set is empty, the fetch will return false.
      //To avoid that, do an if statement
      if($demande = mysql_fetch_assoc($result_set)){
	 return $demande; 
      }else{

      }
   }
?>


En gros si tu as un retour de ta function ba l'user existe déjà sinon tu peux l'inscrire.

Voilà le prototype

$user_exists = verify_user_by($nom, $prenom);
if(!empty($user_exists) && $user_exists == 1){
//Faire l'inscription + envoie mail
}else{
//Ooooops!
echo "Tu veux pas revendre des billets toi par hasard?";
}

En gros c'est ce que j'aurai fait!

Bon courage.

samedi 22 octobre 2011 à 22:55:28 | Re : Eviter les doublons par rapport à un formulaire.

ecolom

Réponse acceptée !
Merci Nemo1.
Entre temps, j'ai pu trouver un code que j'ai adapté dans mon programme.

// Verifie que les zones date de reservation etnom soient remplies
if ($_REQUEST['date_reservation'] != "" and $_REQUEST['name_users'] != "")
{
$sql1 = "SELECT * FROM int_org WHERE nom_users='$nom_users'";
$req1 = mysql_query ($sql1) or die ('erreur sql<br>'.$sql1.'<br>'.mysql_error());

//vérifie si le nombre de lignes trouvées est = 0 si oui, c'est que ce pseudo n'est pas encore utilisé => ok
if(mysql_num_rows($req1) == 0)
{
$sql2 = "INSERT INTO int_org (date_encodage,
date_reservation,
nom_users,
email_users
)
VALUES('$date_encodage',
'$date_reservation',
'$nom_users',
'$email_users'
)";
$req2 = mysql_query($sql2) or die('Erreur SQL : <br />'.$sql2);

etc...

Merci pour ta réponse


Cette discussion est classée dans : code, formulaire, db, email, echo


Répondre à ce message

Sujets en rapport avec ce message

formulaire a retardement ????? [ par alvaro ] Salut, je ne conprend pas pourquoi! pourquoi... pourquoi...c'est un passage de variable par formulaire. Sous ie4, ou modzila il faut attendre 10s sur pb dans mon code [ par attentio ] salut !!!bon ...G une petit soucis dans mon code de la page formulaire.php.je vous explique ... G une premiere page index.php qui me renvoie une liste pb de passage de paramètres [ par sandro38000 ] Bonjour à tous et a toutes,je débute à programmer en php et j'ai rencontrer un problème lors du passage de paramètre d'une page à une autre.Je m'expli Formulaire Upload vers email [ par emulienfou ] Bonjour je recherche de l'aide pour mon formuliare Php, je voudrais envoyé un fichier de mon formulaire que jé deja créer vers mon adresse email mé je envoie d'un formulaire par email [ par rochdiboubaker ] salut, j'ai téléchargé un code d'un formulaire d'envoie à un email (php), et j'ai essayé de l'executer avec Easy PHP, mais il a retourné ce message. Formulaire d'inscription [ par Lambrechts ] Bonjours.Je suis nouveau dans votre groupe et dans la programation de site web.Voici mon problème, je viens de créer deux pages test pour un formulair Afficher un message d'erreur avant retour formulaire [ par patric31 ] Bonjour à toutes et à tous,Je suis tout nouveau et chez vous et chez M. et Mme PHP et leur petit SQL.J'ai créer un formulaire de saisie tout simple :  ALERTE - Soucis avec formulaire ... [ par FXPHANTOM ] Bonjour , J'ai rencontré le problème suivant : "Erreur lors de l'écriture du message" lors de l'envoi de ma page de formulaire . En espérant avoir un Envois E-Mail php [ par GoGaule ] Bonsoir. [code=php] <?php $msg = "Nom:\t$nom\n"; $msg .= "Prenom:\t$prenom\n"; $msg .= "Adresse:\t$adresse\n"; $msg .= "Ad Formulaire de contact [ par lamuler ] Bonsoir, Je suis entrain de créer un site internet et j'ai télécharger un formulaire de contact quelque part (je ne sait plus sur quel site ^^) Il fon


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,749 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales