Alert qui s'affiche deux fois au lieu d'une...

Résolu
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 - 1 juin 2008 à 13:07
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 - 1 juin 2008 à 18:18
Salut,

Comme indiqué dan le titre j'ai un problème avec une boite de dialogue alert qui s'affiche deux fois alors qu'elle n'est censé s'afficher qu'une seule fois...

Voici le code :

if((verif_form($_POST['prenom']) == true) && (verif_form($_POST['nom']) == true) && (verif_form($_POST['adresse1']) == true) && (verif_form($_POST['adresse2']) == true) && (verif_form($_POST['postal']) == true) && (verif_form($_POST['ville']) == true) && (verif_form($_POST['regions']) == true) && (verif_form($_POST['pays']) == true) && (verif_form($_POST['telephone']) == true) && (verif_form($_POST['email']) == true) && (verif_form($_POST['confirme_email']) == true) && (verif_form($_POST['pseudo']) == true) && (verif_form($_POST['pass']) == true) && (verif_form($_POST['confirme_pass']) == true) && (verif_form($_POST['questions']) == true) && (verif_form($_POST['reponse']) == true) && (verif_form($_POST['jours']) == true) && (verif_form($_POST['mois']) == true) && (verif_form($_POST['annee']) == true) && (verif_form($_POST['accept']) == true) && (verif_form($_POST['partenaires']) == true)) {
 include('config.php');
 
 $pseudo = $_POST['pseudo'];
 $pass = $_POST['pass'];
 $nom = $_POST['nom'];
 $prenom = $_POST['prenom'];
 $email = $_POST['email'];
 $postal = $_POST['postal'];
 $ville = $_POST['ville'];
 $regions = $_POST['regions'];
 $pays = $_POST['pays'];
 $adresse1 = $_POST['adresse1'];
 $adresse2 = $_POST['adresse2'];
 $telephone = $_POST['telephone'];
 $jours = $_POST['jours'];
 $mois = $_POST['mois'];
 $annee = $_POST['annee'];
 $questions = $_POST['questions'];
 $reponse = $_POST['reponse'];
 $partenaires = $_POST['partenaies'];
 
 mysql_query("INSERT INTO table VALUES('', '".$pseudo."', '".$pass."', '".$nom."', '".$prenom."', '".$email."', '".$postal."', '".$ville."', '".$regions."', '".$pays."', '".$adresse1."', '".$adresse2."', '".$telephone."', '".$jours."', '".$mois."', '".$annee."', '".$questions."', '".$reponse."', '".$partenaires."')");
 
 echo 'Vous êtes maintenant inscrit !';
} else {
 if(isset($_COOKIE['venus'])) {
  echo "<script type='text/javascript'>alert('Veuillez remplir tout les champs');</script>";
 } else {
  setcookie("venus", "oui");
 }
?>

Merci d'avance de l'aide fournis...

a++

Si la réponse vous convient, pensez : Réponse accepté !

13 réponses

winwarrior Messages postés 654 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 février 2009 1
1 juin 2008 à 18:09
<?php
 if ($_POST) {
  $aChamps = Array('pseudo', 'pass', 'nom', 'email', 'postal', 'ville', 'regions', 'pays', 'adresse1', 'adresse2', 'telephone', 'jours', 'mois', 'annee', 'questions', 'reponse', 'partenaires');
  $bChampsvide = false;
  foreach ($aChamps AS $sChamps) {
   if (empty($_POST[$sChamps])) {
    $bChampsvide = true;
    break;
   }
   ${$sChamps} = $_POST[$sChamps];
  }
  if ($bChampsvide) {
   echo "<script type='text/javascript'>alert('Veuillez remplir tout les champs');</script>";
  }
  else {
   mysql_query("INSERT INTO table VALUES('', '".$pseudo."', '".$pass."', '".$nom."', '".$prenom."', '".$email."', '".$postal."', '".$ville."', '".$regions."', '".$pays."', '".$adresse1."', '".$adresse2."', '".$telephone."', '".$jours."', '".$mois."', '".$annee."', '".$questions."', '".$reponse."', '".$partenaires."')");
   echo 'Vous êtes maintenant inscrit !';
  }
 }
?>
Ce code fonctionne, s'il ne fonctionne pas c'est qu'il y a un probleme dans les noms/données du formulaire.

win
3
winwarrior Messages postés 654 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 février 2009 1
1 juin 2008 à 15:45
Salut,

Le cookie restera setté jusqu'a ce que tu l'unset .. l'alerte s'affichera donc tout le temps..
donc unset($_COOKIE['venus']); apres ton alerte =)

win
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
1 juin 2008 à 15:51
ok, merci, je test ça...

Si la réponse vous convient, pensez : Réponse accepté !
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
1 juin 2008 à 16:02
re,

j'ai mis ton code mais ça ne change rien, ce qui est bizare c'est que quand je fait un simple reload de la page l'alert ne s'affiche qu'une fois alors que quand j'appuis sur le bouton submit ça l'affiche deux fois...

a++

Si la réponse vous convient, pensez : Réponse accepté !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
winwarrior Messages postés 654 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 février 2009 1
1 juin 2008 à 16:23
Montre ta page entiere (avec le formulaire), là je peux pas te dire, tout me semble correct

win
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
1 juin 2008 à 16:59
<?php
include('class/verif_form.class.php');


if((verif_form($_POST['prenom']) = = true) && (verif_form($_POST['nom']) == true) && (verif_form($_POST['adresse1']) == true) && (verif_form($_POST['adresse2']) == true) && (verif_form($_POST['postal']) == true) && (verif_form($_POST['ville']) == true) && (verif_form($_POST['regions']) == true) && (verif_form($_POST['pays']) == true) && (verif_form($_POST['telephone']) == true) && (verif_form($_POST['email']) == true) && (verif_form($_POST['confirme_email']) == true) && (verif_form($_POST['pseudo']) == true) && (verif_form($_POST['pass']) == true) && (verif_form($_POST['confirme_pass']) == true) && (verif_form($_POST['questions']) == true) && (verif_form($_POST['reponse']) == true) && (verif_form($_POST['jours']) == true) && (verif_form($_POST['mois']) == true) && (verif_form($_POST['annee']) == true) && (verif_form($_POST['accept']) == true) && (verif_form($_POST['partenaires']) == true)) {
 include('config.php');
 
 $pseudo = $_POST['pseudo'];
 $pass = $_POST['pass'];
 $nom = $_POST['nom'];
 $prenom = $_POST['prenom'];
 $email = $_POST['email'];
 $postal = $_POST['postal'];
 $ville = $_POST['ville'];
 $regions = $_POST['regions'];
 $pays = $_POST['pays'];
 $adresse1 = $_POST['adresse1'];
 $adresse2 = $_POST['adresse2'];
 $telephone = $_POST['telephone'];
 $jours = $_POST['jours'];
 $mois = $_POST['mois'];
 $annee = $_POST['annee'];
 $questions = $_POST['questions'];
 $reponse = $_POST['reponse'];
 $partenaires = $_POST['partenaies'];
 
 mysql_query("INSERT INTO table VALUES('', '".$pseudo."', '".$pass."', '".$nom."', '".$prenom."', '".$email."', '".$postal."', '".$ville."', '".$regions."', '".$pays."', '".$adresse1."', '".$adresse2."', '".$telephone."', '".$jours."', '".$mois."', '".$annee."', '".$questions."', '".$reponse."', '".$partenaires."')");
 
 echo 'Vous êtes maintenant inscrit !';
} else {
 if(isset($_COOKIE['venus'])) {
  echo "<script type='text/javascript'>alert('Veuillez remplir tout les champs');</script>";
  unset($_COOKIE['venus']);
 } else {
  setcookie("venus", "oui");
 }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
Design by Free CSS Templates
http://www.freecsstemplates.org
Released for free under a Creative Commons Attribution 2.5 License


Title      : Newfangled
Version    : 1.0
Released   : 20070331
Description: A three-column fixed-width template ideal for 1024x768 pixel resolution. Suitable for blogs and small business websites.


-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>kiwizi - inscription</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="default.css" rel="stylesheet" type="text/css" />
</head>

 

  [# Kiwizi]

  &nbsp;

 

 

  
   <li class="active">[index.html Acceuil]</li>
   <li>[# Acheter]</li>
   <li>[# Kimonde]</li>
   <li>[# S&#39;inscrire]</li>
  
 

 

  <!-- end #login -->
  

   

    categories

   

   

    L'inscription sur Kiwizi est gratuite et sans engagement.
    Seules les personnes majeures et les entreprises domiciliées en France et Belgique créer un compte, vendre et acheter sur Kiwizi.
    L’inscription vous permet d’accéder à l’ensemble des services de Kiwiz
    Données et Confidentialité
    Conformément à notre Règlement sur la protection et le respect de votre vie privée, nous ne louerons, ne vendrons ou n'échangerons jamais les données que vous nous procurez. Pour plus d’information sur le respect de la vie privée sur Kiwizi.
   

  

  <!-- end #updates -->
 

 <!-- end #sidebar -->
 

  

   Inscription

   
     Vos coordon&eacute;es - Tous les champs sont obligatoires

    <form action ="inscription.php" method= "POST">
     Pr&eacute;nom :

     

     Nom :

     

     Adresse :

     

     

     Code postal :

     

     Ville :

     

     R&eacute;gion :

     <select name="regions">
      <option value="Choisissez votre r&eacute;gion">Choisissez votre r&eacute;gion</option>
      <option value="Alsace">Alsace</option>
      <option value="Aquitaine">Aquitaine</option>
      <option value="Auvergne">Auvergne</option>
      <option value="Basse-Normandie">Basse-Normandie</option>
      <option value="Bourgogne">Bourgogne</option>
      <option value="Bretagne">Bretagne</option>
      <option value="Centre">Centre</option>
      <option value="Champagne-Ardenne">Champagne-Ardenne</option>
      <option value="Corse">Corse</option>
      <option value="Franche-Comt&eacute;">Franche-Comt&eacute;</option>
      <option value="Guadeloupe">Guadeloupe</option>
      <option value="Guyanne">Guyanne</option>
      <option value="Haute-Normandie">Haute-Normandie</option>
      <option value="&Icirc;le-de-France">&Icirc;le-de-France</option>
      <option value="Languedoc-Roussillon">Languedoc-Roussillon</option>
      <option value="Limousin">Limousin</option>
      <option value="Lorraine">Lorraine</option>
      <option value="Martinique">Martinique</option>
      <option value="Midi-Pyr&eacute;n&eacute;es">Midi-Pyr&eacute;n&eacute;es</option>
      <option value="Nord-Pas-de-Calais">Nord-Pas-de-Calais</option>
      <option value="Pays de la Loire">Pays de la Loire</option>
      <option value="Picardie">Picardie</option>
      <option value="Poitou-Charentes">Poitou-Charentes</option>
      <option value="Provence-Alpes-Côte d'Azur">Provence-Alpes-C&ocirc;te d'Azur</option>
      <option value="R&eacute;union">R&eacute;union</option>
      <option value="Rh&ocirc;ne-Alpes">Rh&ocirc;ne-Alpes</option>
     </select>

     Pays :

     <select name="pays">
      <option value="">France</option>
      <option value="">Belgique</option>
     </select>
     

     Num&eacute;ro de t&eacute;l&eacute;phone principal :

     

     Exemple : 01.70.33.35.55

     (obligatoire si nous avons des questions relatives &agrave; votre compte)

     Adresse e-mail :

     

     Saisissez &agrave; nouveau votre adresse e-mail :

     

      Choisir votre pseudo et votre mot de passe - Tout les champs sont obligatoires

     Cr&eacute;er votre pseudo Kiwizi :

     

     Choisir votre mot de passe :

     

     Saisissez de nouveau votre mot de passe :

     

     Votre mot de passe doit comporter au minimum 6 caract&egrave;res ou chiffres.

     Selectionnez une question secr&egrave;te :

     <select name ="questions">
      <option value= "">Choisissez l'une des questions qui vous sont propos&eacute;es...</option>
      <option value="">Dans quelle rue avez-vous pass&eacute; votre enfance ?</option>
      <option value="">Quel est le nom de jeune fille de votre m&egrave;re ?</option>
      <option value="">Quel est le nom de votre grand-m&egrave;re maternelle ?</option>
      <option value="">Quel est le nom de votre premier petit ami/premi&egrave;re petite amie ?</option>
      <option value="">Quel est le nom de le premi&egrave;re &eacute;cole o&ugrave; vous &ecirc;tes all&eacute; ?</option>
      <option value="">Quel est le nom de votre animal de compagnie ?</option>
     </select>
     Votre r&eacute;ponse secr&egrave;te :

     

     Si vous oubliez votre mot de passe, nous vous poserons cette question secr&egrave;te afin de v&eacute;rifier votre identit&eacute;

     Date de naissance :

     <select name="jours">
      <option value="">--Jour--</option>
      <option value="">1</option>
      <option value="">2</option>
      <option value="">3</option>
      <option value="">4</option>
      <option value="">5</option>
      <option value="">6</option>
      <option value="">7</option>
      <option value="">8</option>
      <option value="">9</option>
      <option value="">10</option>
      <option value="">11</option>
      <option value="">12</option>
      <option value="">13</option>
      <option value="">14</option>
      <option value="">15</option>
      <option value="">16</option>
      <option value="">17</option>
      <option value="">18</option>
      <option value="">19</option>
      <option value="">20</option>
      <option value="">21</option>
      <option value="">22</option>
      <option value="">23</option>
      <option value="">24</option>
      <option value="">25</option>
      <option value="">26</option>
      <option value="">27</option>
      <option value="">28</option>
      <option value="">29</option>
      <option value="">30</option>
      <option value="">31</option>
     </select>
     <select name="mois">
      <option value="">--Mois--</option>
      <option value="">Janvier</option>
      <option value="">F&eacute;vrier</option>
      <option value="">Mars</option>
      <option value="">Avril</option>
      <option value="">Mai</option>
      <option value="">Juin</option>
      <option value="">Juillet</option>
      <option value="">Ao&ucirc;t</option>
      <option value="">Septembre</option>
      <option value="">Octobre</option>
      <option value="">Novembre</option>
      <option value="">D&eacute;cembre</option>
     </select>
     Ann&eacute;e
     

     Vous devez &ecirc;tre &acirc;g&eacute; d'au moins 18 ans pour pouvoir utiliser les services de Kiwizi.

      Conditions d'utilisation :

     <textarea name ="condition" disabled>
     
     </textarea>

     Donnez votre accord en cochant la case :

     
     J'accepte les conditions ci-dessous :

     
      <li>J'accepte les conditions d'utilisation et le r&egrave;glement sur le respect de la vie priv&eacute;e ci-dessus</li>
      <li>Je reconnais avoir plus de 18 ans &agrave; la date d'inscription.</li>
     

     Profitez d'autres offres et services en cochant la case ci-dessous :

     
     Je souhaite que Kiwizi m'envois des informations promotionnels ou de ses partenaires

     
    </form>
   

  

 

  <!-- end #welcome -->
 

 <!-- end #main -->
 

  

   

    &nbsp;

   

   

    &nbsp;

  

  <!-- end #sponsors -->
  
[# ]

 

 
&nbsp;

<!-- end #sidebar2 -->
<!-- end #content -->

 Copyright &copy; 2008 Soci&eacute;t&eacute; Kiwizi France .Tous droits r&eacute;serv&eacute;s. Les marques et
    marques commerciales mentionn&eacute;es appartiennent &agrave; leurs propri&eacute;taires
    respectifs. L&#39;utilisation de ce site Web implique l&#39;acceptation des
    conditions g&eacute;n&eacute;rales d&#39;utilisation et du r&egrave;glement sur le respect de la vie
    priv&eacute;e.

</html>
<?php
}
?>







Si la réponse vous convient, pensez : Réponse accepté !
0
winwarrior Messages postés 654 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 février 2009 1
1 juin 2008 à 17:18
Je vois pas de souci particulier non plus.. mais.. pourquoi t'utilises un cookie?

if ($_POST) {
 if (<verification des champs>) {
  <traitement du formulaire>
 
 }
 else {
 
 }
}
<formulaire>

ça suffirait non?

win
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
1 juin 2008 à 17:20
ba je ne sais pas, peut être parceque je suis bête ...

Si la réponse vous convient, pensez : Réponse accepté !
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
1 juin 2008 à 17:26
ba même sans les cookie ça affiche deux fois l'alert dès que j'arrive sur la page ...

voici la fonction que j'utilise :

function verif_form($champs) {
 if(!isset($champs)) {
  return false;
 } else {
  return true;
 }
 if(empty($champs)) {
  return false;
 } else {
  return true;
 }
}

Si la réponse vous convient, pensez : Réponse accepté !
0
winwarrior Messages postés 654 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 février 2009 1
1 juin 2008 à 17:45
Dans ta fonction le empty n'est jamais executé... (car il y a forcément un return avant (true ou false)

empty retourne un booléen (true ou false).. tu pourrais faire une fonction du genre, ça produirait le meme effet (quand tu utilises empty, isset n'est pas nécessaire):

function verif_form($champs) {
 return !empty($champs);
}

Le probleme d'empty c'est que si le champs contient le numero 0, il sera consideré comme vide..

win
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
1 juin 2008 à 17:53
merci, je test ...

Si la réponse vous convient, pensez : Réponse accepté !
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
1 juin 2008 à 18:01
c'est toujours pareil...

Si la réponse vous convient, pensez : Réponse accepté !
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
1 juin 2008 à 18:18
Re,

effectivement ce code fonctionne un peut mieux que le miens maisil affiche toujours deux alert lorsque je clique sur le bouton submit je précise que ça le fait sous ie ! Je précise que sous firefox il n'y en a qu'une ...

a++

Si la réponse vous convient, pensez : Réponse accepté !
0
Rejoignez-nous