Alert qui s'affiche deux fois au lieu d'une... [Résolu]

nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 1 juin 2008 à 13:07 - Dernière réponse : nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention
- 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é !
Afficher la suite 

Votre réponse

13 réponses

Meilleure réponse
winwarrior 654 Messages postés jeudi 3 avril 2003Date d'inscription 10 février 2009 Dernière intervention - 1 juin 2008 à 18:09
3
Merci
<?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

Merci winwarrior 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 74 internautes ce mois-ci

Commenter la réponse de winwarrior
winwarrior 654 Messages postés jeudi 3 avril 2003Date d'inscription 10 février 2009 Dernière intervention - 1 juin 2008 à 15:45
0
Merci
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
Commenter la réponse de winwarrior
nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 1 juin 2008 à 15:51
0
Merci
ok, merci, je test ça...

Si la réponse vous convient, pensez : Réponse accepté !
Commenter la réponse de nicomilville
nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 1 juin 2008 à 16:02
0
Merci
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é !
Commenter la réponse de nicomilville
winwarrior 654 Messages postés jeudi 3 avril 2003Date d'inscription 10 février 2009 Dernière intervention - 1 juin 2008 à 16:23
0
Merci
Montre ta page entiere (avec le formulaire), là je peux pas te dire, tout me semble correct

win
Commenter la réponse de winwarrior
nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 1 juin 2008 à 16:59
0
Merci
<?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é !
Commenter la réponse de nicomilville
winwarrior 654 Messages postés jeudi 3 avril 2003Date d'inscription 10 février 2009 Dernière intervention - 1 juin 2008 à 17:18
0
Merci
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
Commenter la réponse de winwarrior
nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 1 juin 2008 à 17:20
0
Merci
ba je ne sais pas, peut être parceque je suis bête ...

Si la réponse vous convient, pensez : Réponse accepté !
Commenter la réponse de nicomilville
nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 1 juin 2008 à 17:26
0
Merci
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é !
Commenter la réponse de nicomilville
winwarrior 654 Messages postés jeudi 3 avril 2003Date d'inscription 10 février 2009 Dernière intervention - 1 juin 2008 à 17:45
0
Merci
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
Commenter la réponse de winwarrior
nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 1 juin 2008 à 17:53
0
Merci
merci, je test ...

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

Si la réponse vous convient, pensez : Réponse accepté !
Commenter la réponse de nicomilville
nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 1 juin 2008 à 18:18
0
Merci
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é !
Commenter la réponse de nicomilville

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.