[PHP] Ca ecris deux fois dans la base ...

Ca ecris deux fois dans la base ... [PHP] - PHP - Programmation

Marsh Posté le 18-04-2002 à 10:06:54    

Hello :hello:
 
Je suis actuellement en train de faire un TOP 50, et j'ai rencontré un ch'tit probleme :(
 
Apres avoir rempli le formulaire, il faut cliquer sur le bouton SUBMIT, et HO STUPEUR, ca ecris deux fois les infos ds la base :(
En fait, c comme si deux personnes avaient rempli le meme formulaire exactement pareil  :??:  
 
Voila le code du formulaire, et le code du verif.php.
 
FORMULAIRE

Code :
  1. <form action="verif.php" method="post" name="mail" onsubmit="return verifform()">
  2.                 <table border="0" cellpadding="6" cellspacing="0" width="64%" align="center">
  3.                   <tr>
  4.                       <td width="31%"><font class="texte">Pseudo :</font></td>
  5.                     <td width="69%">
  6.                       <input type="text" name="login" size="27" style="background-color: #323B5C; font-family: Verdana; font-size: 12 px; color: #E3E0FA; font-weight: bold; border: 1 solid #E3E0FA">
  7.                     </td>
  8.                   </tr>
  9.                   <tr>
  10.                     <td width="31%"><font class="texte">Mot
  11.                       de passe :</font></td>
  12.                     <td width="69%">
  13.                       <input type="password" name="pass" size="27" style="background-color: #323B5C; font-family: Verdana; font-size: 12 px; color: #E3E0FA; font-weight: bold; border: 1 solid #E3E0FA">
  14.                     </td>
  15.                   </tr>
  16.                   <tr>
  17.                     <td width="31%"><font class="texte">E-Mail
  18.                       :</font></td>
  19.                     <td width="69%">
  20.                       <input type="text" name="mail" size="27" style="background-color: #323B5C; font-family: Verdana; font-size: 12 px; color: #E3E0FA; font-weight: bold; border: 1 solid #E3E0FA">
  21.                     </td>
  22.                   </tr>
  23.                   <tr>
  24.                     <td width="31%"><font class="texte">Titre
  25.                       du site :</font></td>
  26.                     <td width="69%">
  27.                       <input type="text" name="titre" size="27" style="background-color: #323B5C; font-family: Verdana; font-size: 12 px; color: #E3E0FA; font-weight: bold; border: 1 solid #E3E0FA">
  28.                     </td>
  29.                   </tr>
  30.                   <tr>
  31.                     <td width="31%" valign="top"><font class="texte">Description
  32.                       :</font></td>
  33.                     <td width="69%">
  34.                       <textarea rows="7" name="description" cols="36" style="background-color: #323B5C; font-family: Verdana; font-size: 12 px; color: #E3E0FA; font-weight: bold; border: 1 solid #E3E0FA"></textarea>
  35.                     </td>
  36.                   </tr>
  37.                   <tr>
  38.                     <td width="31%"><font class="texte">URL
  39.                       du site :</font></td>
  40.                     <td width="69%">
  41.                       <input type="text" name="siteurl" size="27" style="background-color: #323B5C; font-family: Verdana; font-size: 12 px; color: #E3E0FA; font-weight: bold; border: 1 solid #E3E0FA">
  42.                     </td>
  43.                   </tr>
  44.                   <tr>
  45.                     <td width="31%"><font class="texte">URL
  46.                       de la bannière :</font></td>
  47.                     <td width="69%">
  48.                       <input type="text" name="banurl" size="27" style="background-color: #323B5C; font-family: Verdana; font-size: 12 px; color: #E3E0FA; font-weight: bold; border: 1 solid #E3E0FA">
  49.                     </td>
  50.                   </tr>
  51.                 </table>
  52.      <div align="center"><br>
  53.                     <br>
  54.              
  55.     <input type="submit" value="S'inscrire" name="submit">
  56.                   </div>
  57.                 </form>


 
 
 
VERIF.PHP

Code :
  1. <?       
  2.    $db = mysql_connect('localhost', '******', '*****');
  3.    mysql_select_db('******',$db);
  4.    $sql = "INSERT INTO top50 (id, login, pass ,mail, titre, description, siteurl, banurl)
  5.           VALUES ('$id','$login','$pa
  6. ss','$mail','$titre'
  7. ,'$description','$siteurl'
  8. ,'$banurl')";
  9. $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
  10.     mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
  11.    
  12.     echo "<div align=\"center\"><font class=\"texte\"><b>Votre site a bien été
  13.              rajouté à la base de donnée.<br>
  14.              Merci de votre participation !</b></font> </div>";
  15. $sql = "SELECT id FROM top50 WHERE siteurl='$siteurl'";
  16. $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
  17. $data = mysql_fetch_array($req);
  18.       
  19.        $recipient .= "Webmaster <webmaster@roswell-travel.com>".", " ;
  20.        $recipient .= "Client <$mail>".", ";
  21.       
  22.        mail("$recipient", "Inscription à Roswell-Travel", "
  23.        Bonjour,
  24. Nous vous remercions de vous etre inscris a Roswell-Travel.Com.
  25. Desormais, vous votre site apparaitra sur le Top 50.
  26. Voici un petit rappel de vos Informations :
  27. Id = $data[id]
  28. Pseudo : $login
  29. Mot de Passe : $pass
  30. Adresse E-Mail : $mail
  31. Voici le code a inserer sur vos pages :
  32. <!-- Début du code du lien-->
  33. <a href='http://www.roswell-travel.com/top/in.php?id=$data[id]'><img src='http://www.roswell-travel.com/vote.jpg' border='0' alt='Il y a une Vérité à toute Rumeur ...'></a>
  34. <!-- Fin du code du lien -->
  35. Merci de votre Participation.
  36. Cordialement.
  37. Arnaud
  38. http://www.roswell-travel.com",
  39. "From: webmaster@roswell-travel.com" );
  40.       
  41. mysql_close($db);
  42. ?>


 
 
Voila, j'ai bien verifié les deux morceaux de code, et je vois pas d'erreurs :(
 
Merci a vous :jap:


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 18-04-2002 à 10:06:54   

Reply

Marsh Posté le 18-04-2002 à 10:16:49    

j'ai lu en vitesste mais à mon avis plutôt que de faire ta vérif javascript avec onsubmit tu devrais mettre onclick
 
explication : on click sur le submit, le formulaire est envoyé, traité et inclus dans la base. ensuite le javascript vérifie et re-inclu dans la base
 
onclick : tu click, ça vérifie, et tu inclue qu'une seule fois.


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 18-04-2002 à 10:18:18    

Ha tu crois que ca viendrais de ca ? ;)
Je v essayer :)
 
merci de ton aide ;) :jap:


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 18-04-2002 à 10:19:46    

bin je suis pas sur mais ça me semblerait logique vu que tu n'as qu'une seule requête d'insertion
 
eh puis onsubmit ça veut bien dire ça : à la soumission, donc APRES traitement du formulaire.


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 18-04-2002 à 10:20:26    

Je viens d'enlever toute la verif en javascript, et ca fe la meme chose : deux enregistrements :(


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 18-04-2002 à 10:26:13    

arf !! trouvé !
 
y a deux fois    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
 dans ton code.


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 18-04-2002 à 10:27:49    

HAAAAAAAAAAAAAAAA !!!!!  :gun:  
Merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii  :hello:  [:super%20chinois]  
 
Pourtant j'avais relu le code 10x :lol:
 
Encore merci !!!! ;) ;)


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 18-04-2002 à 10:28:33    

Dans le code ci-dessus, tu fais deux fois des sql_query...

Reply

Marsh Posté le 18-04-2002 à 10:28:51    

Arff... grillaid :)

Reply

Marsh Posté le 18-04-2002 à 10:29:20    

Yes, ca marche bien effectivement ;)
Encore merci ;) :jap:


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed