IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Popup qui s'ouvre plusieurs fois


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Technicien réseau
    Inscrit en
    Octobre 2014
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2014
    Messages : 108
    Points : 30
    Points
    30
    Par défaut Popup qui s'ouvre plusieurs fois
    Bonjour à tous et à toute,

    Je me permets d'écrire un sujet sur mon problème car après maintes recherches je n'arrive pas à résoudre mon problème je m'explique :

    J'ai créer un site web qui permet la réémission des messages. Jusque la tout vas bien, une consigne m'a été donnée par la suite qui était si on sélectionne tel application avec tel type de message et tel valeur je dois afficher un message (script) qui permet juste d'avertir l'utilisateur sur ce qu'il va réémettre.

    Le message s'affiche bien mais lorsque l'utilisateur rentre son numéro a rejouer dans le textarea et appuie sur le bouton submit, le script s'effectue une deuxième fois ce que j'aimerais évité.

    Mais je n'arrive pas a ce que le script s’exécute qu'une seule fois ...

    Je vous mets mon code ci dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    // Si l'application est HL7IDEOLOC et que le TYPE de message est LST et que son format est MDOS ou Si l'application est HL7IDEOLOC et que le TYPE de message est LST et que son format est DSIT
     if (($appli == 'HL7IDEOLOC' and $TYPE_MSG =='LST' and $FORMAT_MSG=='MDOS' or $appli == 'HL7IDEOLOC' and $TYPE_MSG =='LST' and $FORMAT_MSG=='DSIT') and $_SESSION['test_popup'] == 0 )
            {                      
        // ouvrir une POPUP pour avertir que nous sommes sur l'application IDEOMED
        echo"<script>alert(\"ATTENTION, vous avez choisi de réémettre les messages pour IDEOMED : Le(s) dossier(s) seront supprimés avant la réémission des messages\")</script>";
        }
      // Si les numero de dossiers sont remplit
      if($verif_all_num_dossier && sizeof($listNumDossiers) > 0)
      {
         foreach ($listNumDossiers as $numDossier)
         {
     
           if($appli == 'HL7IDEOLOC')
           {
                 //Exécution du script pour effacer le dossier d'un patient
     
                 exec("/home/interface/dvt/html/HERMES/TEST/scripts/EFFACEDOSSIERCOMPLET.sh $numDossier");
                 }
     
                 // Pour chaque numero de dossier, on l'insert en base et on dit que la mise a jour a été faite!
                 $requeteInsert = " Insert into INTERNEW.HL7_IS_REEMIS (SEQ, ABONNE, TYPE_MSG, FORMAT_MSG, NDA, NIP, DATE_REEMIS, ETAT_REEMIS, MODE_REEMIS)";
                 $requeteInsert     .= " Values (HL7_REEMIS_SEQUENCE.NEXTVAL, '".$appli."', '".$TYPE_MSG."', '".$FORMAT_MSG."', '".$numDossier."','0', TO_DATE('31/12/2099 23:59:59', 'dd/mm/yyyy hh24:mi:ss'),  '".$ETAT_REEMIS."',  '".$MODE_REEMIS."')";
                 $resReq= exec_select( 'ORACLE8', 'TOTO', $requeteInsert,'', $trace=true );
            }
            echo '<br/><br/>Votre réémission à bien été prise en compte !<br/>';
       }
    } // FIN du else
    } // FIN du if($TYPE_MSG == 'LST')
    ?>
    <br/>
    <input id='Submit' type='Submit'  class='btn' name='valid' value='Sauvegarder'/>
    Merci d'avance,

    Cordialement Cahuet

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 303
    Points : 1 380
    Points
    1 380
    Par défaut
    Bonjour,

    il vous suffit de créer une variable contenant le nombre de clics et de la tester avant d'ouvrir la fenêtre.
    Christophe

    Pensez à mettre quand c'est le cas.

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Technicien réseau
    Inscrit en
    Octobre 2014
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2014
    Messages : 108
    Points : 30
    Points
    30
    Par défaut
    Bonjour,

    je ne vois pas bien comment faire ce que vous me dites ..

    Cordialement

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 303
    Points : 1 380
    Points
    1 380
    Par défaut
    N'ayant pas tout votre code, voici une solution qui doit fonctionner dans tous les cas.
    Avant le if :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (!isset($_SESSION['compteurclic']))
        $_SESSION['compteurclic'] = 1;
    else
        $_SESSION['compteurclic']++;
    Ajouter dans le "if" la condition sur le compteur.
    Christophe

    Pensez à mettre quand c'est le cas.

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Technicien réseau
    Inscrit en
    Octobre 2014
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2014
    Messages : 108
    Points : 30
    Points
    30
    Par défaut
    Bonjour,

    Cela ne change toujours pas a mon problème lors du submit il me ré-affiche une deuxième fois le popup ..

  6. #6
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 303
    Points : 1 380
    Points
    1 380
    Par défaut
    Pouvons-nous voir le code modifié ?
    Christophe

    Pensez à mettre quand c'est le cas.

  7. #7
    Nouveau membre du Club
    Femme Profil pro
    Technicien réseau
    Inscrit en
    Octobre 2014
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2014
    Messages : 108
    Points : 30
    Points
    30
    Par défaut
    Oui bien sur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    if (!isset($_SESSION['compteurclic']))
                         		{
    								    $_SESSION['compteurclic'] = 1;
                         		}else {
    								    $_SESSION['compteurclic']++;
                         		}
                         		// Si l'application est HL7IDEOLOC et que le TYPE de message est LST et que son format est MDOS ou Si l'application est HL7IDEOLOC et que le TYPE de message est LST et que son format est DSIT 
                         		if (($appli == 'HL7IDEOLOC' and $TYPE_MSG =='LST' and $FORMAT_MSG=='MDOS' or $appli == 'HL7IDEOLOC' and $TYPE_MSG =='LST' and $FORMAT_MSG=='DSIT') and $_SESSION['test_popup'] == 0 )
    							{						
    								$_SESSION['test_popup'] = 1;
    								// ouvrir une POPUP pour avertir que nous sommes sur l'application IDEOMED
    								echo"<script>alert(\"ATTENTION, vous avez choisi de réémettre les messages pour IDEOMED : Le(s) dossier(s) seront supprimés avant la réémission des messages\")</script>";
    							}
                         		// Si les numero de dossiers sont remplit
                         		if($verif_all_num_dossier && sizeof($listNumDossiers) > 0)
                         		{
                         		    foreach ($listNumDossiers as $numDossier)
                         			{
     
                         				if($appli == 'HL7IDEOLOC')
                         				{
                         					//Exécution du script pour effacer le dossier d'un patient 
     
                         					exec("/home/interface/dvt/html/HERMES/TEST/scripts/EFFACEDOSSIERCOMPLET.sh $numDossier");
                         				}
     
                         				// Pour chaque numero de dossier, on l'insert en base et on dit que la mise a jour a été faite! 
                         		        $requeteInsert = "	Insert into INTERNEW.HL7_IMS_REEMIS (SEQ, ABONNE, TYPE_MSG, FORMAT_MSG, NDA, NIP, DATE_REEMIS, ETAT_REEMIS, MODE_REEMIS)";
                         				$requeteInsert 	.= " Values (HL7_REEMIS_SEQUENCE.NEXTVAL, '".$appli."', '".$TYPE_MSG."', '".$FORMAT_MSG."', '".$numDossier."','0', TO_DATE('31/12/2099 23:59:59', 'dd/mm/yyyy hh24:mi:ss'),  '".$ETAT_REEMIS."',  '".$MODE_REEMIS."')";
                         				$resReq= exec_select( 'ORACLE8', 'TCPAGEI', $requeteInsert,'', $trace=true );
                         		    }
                         		    echo '<br/><br/>Votre réémission à bien été prise en compte !<br/>';
                         		}
                         	} // FIN du else
                         } // FIN du if($TYPE_MSG == 'LST')
                         ?>
                      <br/>	
                      <input id='Submit' type='Submit'  class='btn' name='valid' value='Sauvegarder' onclick="window.location.href('http://helsinki/HERMES/TEST/pages/menu.php')"/>
                      <a class="btn" href='<?php echo $_SERVER["PHP_SELF"]; ?>'>Réinitialiser</a>
                   </fieldset>

  8. #8
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 303
    Points : 1 380
    Points
    1 380
    Par défaut
    C'est normal, vous avez oublié cette modification :
    Citation Envoyé par Christophe P. Voir le message
    Ajouter dans le "if" la condition sur le compteur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($_SESSION['compteurclic'] == 1 && ($appli == 'HL7IDEOLOC' && ...
    Au passage, changez les "and" en "&&" et les "or" en "||".

    C'est quoi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['test_popup']
    Il semble que vous avez déjà un test sur la popup (probablement mal initialisé).
    Christophe

    Pensez à mettre quand c'est le cas.

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Avril 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    bonsoir

    avez-vous trouver la solution?

  10. #10
    Nouveau membre du Club
    Femme Profil pro
    Technicien réseau
    Inscrit en
    Octobre 2014
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2014
    Messages : 108
    Points : 30
    Points
    30
    Par défaut
    Bonjour si j'ai bien compris cela donnerais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    if (($_SESSION['compteurclic'] == 1 && $appli == 'HL7IDEOLOC' && $TYPE_MSG =='LST' && $FORMAT_MSG=='MDOS' || $appli == 'HL7IDEOLOC' && $TYPE_MSG =='LST' && $FORMAT_MSG=='DSIT'))
    							{						
    								$_SESSION['compteurclic'] = 1;
    								// ouvrir une POPUP pour avertir que nous sommes sur l'application IDEOMED
    								echo"<script>alert(\"ATTENTION, vous avez choisi de réémettre les messages pour IDEOMED : Le(s) dossier(s) seront supprimés avant la réémission des messages\")</script>";
    							}
    							$_SESSION['compteurclic']++;
                         		// Si les numero de dossiers sont remplit
                         		if($verif_all_num_dossier && sizeof($listNumDossiers) > 0)
                         		{
                         		    foreach ($listNumDossiers as $numDossier)
                         			{
     
                         				if($appli == 'HL7IDEOLOC')
                         				{
                         					//Exécution du script pour effacer le dossier d'un patient 
     
                         					exec("/home/interface/dvt/html/HERMES/TEST/scripts/EFFACEDOSSIERCOMPLET.sh $numDossier");
                         				}
     
                         				// Pour chaque numero de dossier, on l'insert en base et on dit que la mise a jour a été faite! 
                         		        $requeteInsert = "	Insert into INTERNEW.HL7_IMS_REEMIS (SEQ, ABONNE, TYPE_MSG, FORMAT_MSG, NDA, NIP, DATE_REEMIS, ETAT_REEMIS, MODE_REEMIS)";
                         				$requeteInsert 	.= " Values (HL7_REEMIS_SEQUENCE.NEXTVAL, '".$appli."', '".$TYPE_MSG."', '".$FORMAT_MSG."', '".$numDossier."','0', TO_DATE('31/12/2099 23:59:59', 'dd/mm/yyyy hh24:mi:ss'),  '".$ETAT_REEMIS."',  '".$MODE_REEMIS."')";
                         				$resReq= exec_select( 'ORACLE8', 'TCPAGEI', $requeteInsert,'', $trace=true );
                         		    }
                         		    echo '<br/><br/>Votre réémission à bien été prise en compte !<br/>';
                         		}
                         	} // FIN du else
                         } // FIN du if($TYPE_MSG == 'LST')
                         ?>
    Mais ca ne fonctionne toujours pas ..
    J'ai un peu du mal à comprendre tout ça ..

    Merci en tout cas de vos réponses !

  11. #11
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 303
    Points : 1 380
    Points
    1 380
    Par défaut
    Vous n'avez pas bien compris, il nous manque visiblement une partie du code qui peut être importante et vous n'avez pas répondu à ma question sur test_popup.
    De plus, préciser "ne fonctionne toujours pas" nous aiderait à comprendre ce qui ne va pas (la popup ne s'affiche pas ? s'affiche à chaque fois ? etc.).
    En résumant vous avez écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?php
    		if ($_SESSION['compteurclic'] == 1 &&...)
    		{						
    			$_SESSION['compteurclic'] = 1;
    			// ouvrir une POPUP pour avertir que nous sommes sur l'application IDEOMED
    			...
    		}
    		$_SESSION['compteurclic']++;
    		// Si les numero de dossiers sont remplit
    		if($verif_all_num_dossier && sizeof($listNumDossiers) > 0)
    		{
    			// traitement de la réémission
    			...
    		}
    	} // FIN du else ??? Quel else ?
    } // FIN du if($TYPE_MSG == 'LST') ??? quel if ?
    ?>
    "$_SESSION['compteurclic']" n'est pas initialisé avant le premier if dans le code fournit. Le test de sa valeur ne peut donc pas être bon. Vous devriez essayer quelque chose comme ce qui suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php
    $_SESSION['compteurclic'] = 0;
    ...
    		if ($_SESSION['compteurclic'] == 0 &&...)
    		{						
    			$_SESSION['compteurclic']++;
    			// ouvrir une POPUP pour avertir que nous sommes sur l'application IDEOMED
    			...
    		}
    		// Si les numero de dossiers sont remplit
    		if($verif_all_num_dossier && sizeof($listNumDossiers) > 0)
    		{
    			// traitement de la réémission
    			...
    		}
    	} // FIN du else ??? Quel else ?
    } // FIN du if($TYPE_MSG == 'LST') ??? quel if ?
    ?>
    Christophe

    Pensez à mettre quand c'est le cas.

  12. #12
    Nouveau membre du Club
    Femme Profil pro
    Technicien réseau
    Inscrit en
    Octobre 2014
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2014
    Messages : 108
    Points : 30
    Points
    30
    Par défaut
    Bonjour,

    Oui il manque une partie du code mais elle est tellement grosse que je ne la met pas entièrement...

    Quand je dis que ca ne fonctionne pas, cela veut dire que j'ai bien la première popup qui s'ouvre et lors de l'enregistrement une deuxième s'affiche en plus (alors que j'en ai pas besoin)

    Mon code avec vos modifications donne ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    $_SESSION['compteurclic'] = 0;
                         		// Si l'application est HL7IDEOLOC et que le TYPE de message est LST et que son format est MDOS ou Si l'application est HL7IDEOLOC et que le TYPE de message est LST et que son format est DSIT 
                         		if ($_SESSION['compteurclic'] == 0 && $appli == 'HL7IDEOLOC' && $TYPE_MSG =='LST' && $FORMAT_MSG=='MDOS' || $appli == 'HL7IDEOLOC' && $TYPE_MSG =='LST' && $FORMAT_MSG=='DSIT')
    							{						
    								$_SESSION['compteurclic']++;
    								// ouvrir une POPUP pour avertir que nous sommes sur l'application IDEOMED
    								echo"<script>alert(\"ATTENTION, vous avez choisi de réémettre les messages pour IDEOMED : Le(s) dossier(s) seront supprimés avant la réémission des messages\")</script>";
    							}
                         		// Si les numero de dossiers sont remplit
                         		if($verif_all_num_dossier && sizeof($listNumDossiers) > 0)
                         		{
                         		    foreach ($listNumDossiers as $numDossier)
                         			{
     
                         				if($appli == 'HL7IDEOLOC')
                         				{
                         					//Exécution du script pour effacer le dossier d'un patient 
     
                         					exec("/home/interface/dvt/html/HERMES/TEST/scripts/EFFACEDOSSIERCOMPLET.sh $numDossier");
                         				}
     
                         				// Pour chaque numero de dossier, on l'insert en base et on dit que la mise a jour a été faite! 
                         		        $requeteInsert = "	Insert into INTERNEW.HL7_IMS_REEMIS (SEQ, ABONNE, TYPE_MSG, FORMAT_MSG, NDA, NIP, DATE_REEMIS, ETAT_REEMIS, MODE_REEMIS)";
                         				$requeteInsert 	.= " Values (HL7_REEMIS_SEQUENCE.NEXTVAL, '".$appli."', '".$TYPE_MSG."', '".$FORMAT_MSG."', '".$numDossier."','0', TO_DATE('31/12/2099 23:59:59', 'dd/mm/yyyy hh24:mi:ss'),  '".$ETAT_REEMIS."',  '".$MODE_REEMIS."')";
                         				$resReq= exec_select( 'ORACLE8', 'TCPAGEI', $requeteInsert,'', $trace=true );
                         		    }
                         		    echo '<br/><br/>Votre réémission à bien été prise en compte !<br/>';
                         		}
                         	} // FIN du else
                         } // FIN du if($TYPE_MSG == 'LST')
    ?>
                      <br/>	
                      <input id='Submit' type='Submit'  class='btn' name='valid' value='Sauvegarder' onclick="window.location.href('http://helsinki/HERMES/TEST/pages/menu.php')"/>
                      <a class="btn" href='<?php echo $_SERVER["PHP_SELF"]; ?>'>Réinitialiser</a>
                   </fieldset>
                </form>
    Pour autant j'ai toujours la deuxième popup qui s'affiche lors de la soumission du formulaire ...


    Bien cordialement

  13. #13
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 303
    Points : 1 380
    Points
    1 380
    Par défaut
    Comparez ce que j'ai écrit dans un message précédent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($_SESSION['compteurclic'] == 0 && ($appli == 'HL7IDEOLOC' && ...
    avec ce que vous avez écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($_SESSION['compteurclic'] == 0 && $appli == 'HL7IDEOLOC' && $TYPE_MSG =='LST' && $FORMAT_MSG=='MDOS' || $appli == 'HL7IDEOLOC' && $TYPE_MSG =='LST' && $FORMAT_MSG=='DSIT')
    Puis réfléchissez.
    Christophe

    Pensez à mettre quand c'est le cas.

  14. #14
    Nouveau membre du Club
    Femme Profil pro
    Technicien réseau
    Inscrit en
    Octobre 2014
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2014
    Messages : 108
    Points : 30
    Points
    30
    Par défaut
    Alors excusez moi je suis repartie du dernier poste soit :
    <?php
    $_SESSION['compteurclic'] = 0;
    ...
    if ($_SESSION['compteurclic'] == 0 &&...)
    {
    $_SESSION['compteurclic']++;
    // ouvrir une POPUP pour avertir que nous sommes sur l'application IDEOMED
    ...
    }
    // Si les numero de dossiers sont remplit
    if($verif_all_num_dossier && sizeof($listNumDossiers) > 0)
    {
    // traitement de la réémission
    ...
    }
    } // FIN du else ??? Quel else ?
    } // FIN du if($TYPE_MSG == 'LST') ??? quel if ?
    ?>
    Donc excusez moi de ne pas avoir lu correctement celui d'avant.

    En mettant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    if ($_SESSION['compteurclic'] == 0 && ($appli == 'HL7IDEOLOC' && $TYPE_MSG =='LST' && $FORMAT_MSG=='MDOS' || $appli == 'HL7IDEOLOC' && $TYPE_MSG =='LST' && $FORMAT_MSG=='DSIT'))
    							{						
    								$_SESSION['compteurclic']++;
    								// ouvrir une POPUP pour avertir que nous sommes sur l'application IDEOMED
    								echo"<script>alert(\"ATTENTION, vous avez choisi de réémettre les messages pour IDEOMED : Le(s) dossier(s) seront supprimés avant la réémission des messages\")</script>";
    							}
                         		// Si les numero de dossiers sont remplit
                         		if($verif_all_num_dossier && sizeof($listNumDossiers) > 0)
                         		{
                         		    foreach ($listNumDossiers as $numDossier)
                         			{
     
                         				if($appli == 'HL7IDEOLOC')
                         				{
                         					//Exécution du script pour effacer le dossier d'un patient 
     
                         					exec("/home/interface/dvt/html/HERMES/TEST/scripts/EFFACEDOSSIERCOMPLET.sh $numDossier");
                         				}
     
                         				// Pour chaque numero de dossier, on l'insert en base et on dit que la mise a jour a été faite! 
                         		        $requeteInsert = "	Insert into INTERNEW.HL7_IMS_REEMIS (SEQ, ABONNE, TYPE_MSG, FORMAT_MSG, NDA, NIP, DATE_REEMIS, ETAT_REEMIS, MODE_REEMIS)";
                         				$requeteInsert 	.= " Values (HL7_REEMIS_SEQUENCE.NEXTVAL, '".$appli."', '".$TYPE_MSG."', '".$FORMAT_MSG."', '".$numDossier."','0', TO_DATE('31/12/2099 23:59:59', 'dd/mm/yyyy hh24:mi:ss'),  '".$ETAT_REEMIS."',  '".$MODE_REEMIS."')";
                         				$resReq= exec_select( 'ORACLE8', 'TCPAGEI', $requeteInsert,'', $trace=true );
                         		    }
                         		    echo '<br/><br/>Votre réémission à bien été prise en compte !<br/>';
                         		}
                         	} // FIN du else
                         } // FIN du if($TYPE_MSG == 'LST')
                         ?>
                      <br/>	
                      <input id='Submit' type='Submit'  class='btn' name='valid' value='Sauvegarder' onclick="window.location.href('http://helsinki/HERMES/TEST/pages/menu.php')"/>
                      <a class="btn" href='<?php echo $_SERVER["PHP_SELF"]; ?>'>Réinitialiser</a>
                   </fieldset>
                </form>
    J'ai toujours le même problème lors du submit, la popup apparaît une seconde fois.

  15. #15
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 303
    Points : 1 380
    Points
    1 380
    Par défaut
    C'est probablement que $_SESSION['compteurclic'] est réinitialisé à chaque fois dans votre page. Pour l'initialiser faites (comme dit précédemment) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (!isset($_SESSION['compteurclic']))
        $_SESSION['compteurclic'] = 0;
    else
        $_SESSION['compteurclic']++;
    Christophe

    Pensez à mettre quand c'est le cas.

  16. #16
    Nouveau membre du Club
    Femme Profil pro
    Technicien réseau
    Inscrit en
    Octobre 2014
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2014
    Messages : 108
    Points : 30
    Points
    30
    Par défaut
    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    if (!isset($_SESSION['compteurclic']))
                         		{
                         			$_SESSION['compteurclic'] = 0;
                         		}else{
                         			$_SESSION['compteurclic']++;
                         		}
    							// Si l'application est HL7IDEOLOC et que le TYPE de message est LST et que son format est MDOS ou Si l'application est HL7IDEOLOC et que le TYPE de message est LST et que son format est DSIT 
                         		if ($_SESSION['compteurclic'] == 0 && ($appli == 'HL7IDEOLOC' && $TYPE_MSG =='LST' && $FORMAT_MSG=='MDOS' || $appli == 'HL7IDEOLOC' && $TYPE_MSG =='LST' && $FORMAT_MSG=='DSIT'))
    							{						
    								$_SESSION['compteurclic']++;
    								// ouvrir une POPUP pour avertir que nous sommes sur l'application IDEOMED
    								echo"<script>alert(\"ATTENTION, vous avez choisi de réémettre les messages pour IDEOMED : Le(s) dossier(s) seront supprimés avant la réémission des messages\")</script>";
    							}
                         		// Si les numero de dossiers sont remplit
                         		if($verif_all_num_dossier && sizeof($listNumDossiers) > 0)
                         		{
                         		    foreach ($listNumDossiers as $numDossier)
                         			{
     
                         				if($appli == 'HL7IDEOLOC')
                         				{
                         					//Exécution du script pour effacer le dossier d'un patient 
     
                         					exec("/home/interface/dvt/html/HERMES/TEST/scripts/EFFACEDOSSIERCOMPLET.sh $numDossier");
                         				}
     
                         				// Pour chaque numero de dossier, on l'insert en base et on dit que la mise a jour a été faite! 
                         		        $requeteInsert = "	Insert into INTERNEW.HL7_IMS_REEMIS (SEQ, ABONNE, TYPE_MSG, FORMAT_MSG, NDA, NIP, DATE_REEMIS, ETAT_REEMIS, MODE_REEMIS)";
                         				$requeteInsert 	.= " Values (HL7_REEMIS_SEQUENCE.NEXTVAL, '".$appli."', '".$TYPE_MSG."', '".$FORMAT_MSG."', '".$numDossier."','0', TO_DATE('31/12/2099 23:59:59', 'dd/mm/yyyy hh24:mi:ss'),  '".$ETAT_REEMIS."',  '".$MODE_REEMIS."')";
                         				$resReq= exec_select( 'ORACLE8', 'TCPAGEI', $requeteInsert,'', $trace=true );
                         		    }
                         		    echo '<br/><br/>Votre réémission à bien été prise en compte !<br/>';
                         		}
    Mais cela ne résout toujours pas le problème ...

    Cordialement

  17. #17
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 303
    Points : 1 380
    Points
    1 380
    Par défaut
    Quelle est la valeur de $_SESSION['compteurclic'] aux différentes étapes ?
    Christophe

    Pensez à mettre quand c'est le cas.

  18. #18
    Nouveau membre du Club
    Femme Profil pro
    Technicien réseau
    Inscrit en
    Octobre 2014
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2014
    Messages : 108
    Points : 30
    Points
    30
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    if (!isset($_SESSION['compteurclic']))
             {
                    $_SESSION['compteurclic'] = 0;
             }else{
                    $_SESSION['compteurclic']++;
             }
                    echo "avant".$compteurclic;
    		// Si l'application est HL7IDEOLOC et que le TYPE de message est LST et que son format est MDOS ou Si l'application est HL7IDEOLOC et que le TYPE de message est LST et que son format est DSIT 
             if ($_SESSION['compteurclic'] == 0 && ($appli == 'HL7IDEOLOC' && $TYPE_MSG =='LST' && $FORMAT_MSG=='MDOS' || $appli == 'HL7IDEOLOC' && $TYPE_MSG =='LST' && $FORMAT_MSG=='DSIT'))
             {		
    		echo "pendant".$compteurclic;				
    		$_SESSION['compteurclic']++;
    		// ouvrir une POPUP pour avertir que nous sommes sur l'application IDEOMED
    		echo"<script>alert(\"ATTENTION, vous avez choisi de réémettre les messages pour IDEOMED : Le(s) dossier(s) seront supprimés avant la réémission des messages\")</script>";
    	}
    		echo "après".$compteurclic;
                    // Si les numero de dossiers sont remplit
    Avant il est a 0 avant de sélectionner le choix ou la popup s'affiche, une fois sélectionner le avant et après sont a 1 chacun et une fois sauvegarder il passe les deux à 2 ...

  19. #19
    Nouveau membre du Club
    Femme Profil pro
    Technicien réseau
    Inscrit en
    Octobre 2014
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2014
    Messages : 108
    Points : 30
    Points
    30
    Par défaut
    Mais je pensais pour être plus explicite voila a quoi ressemble ma page :

    Nom : Capture.PNG
Affichages : 268
Taille : 17,5 Ko
    Puis une fois sélectionner les choix ou le popup s'affiche cela ressemble a ça avant de remplir le textarea avec une numéro de dossier:

    Nom : Capture1.PNG
Affichages : 261
Taille : 29,8 Ko

    Mais je pensais, lorsque l'utilisateur utilise les listes déroulantes, ce sont des onchange='submit()' est ce que cela peux avoir un rapport avec le dysfonctionnement ?

  20. #20
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 303
    Points : 1 380
    Points
    1 380
    Par défaut
    Je ne peux pas répondre car je ne sais pas où est placée la fonction alert.
    Sans code, c'est à vous de trouver la solution. Il faut que vous ajoutiez un compteur (PHP ou/et JavaScript, suivant votre code) initialisé à 0 et incrémenté à l'ouverture de la popup. L'ouverture de la popup doit être conditionnée sur ce (ou ces) compteur(s).
    Christophe

    Pensez à mettre quand c'est le cas.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. popup jquery qui s'affiche plusieurs fois
    Par dombili dans le forum jQuery
    Réponses: 3
    Dernier message: 02/11/2011, 08h21
  2. [VB.NET]Procédure qui s'éxécute plusieurs fois
    Par ropiet dans le forum Windows Forms
    Réponses: 13
    Dernier message: 25/08/2006, 17h21
  3. Pop-up qui s'ouvre deux fois
    Par arnapou dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/06/2006, 08h49
  4. popup qui s'ouvre tout le temps par rapprot à une checkbox
    Par atomik29 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/06/2006, 10h34
  5. code qui s'execute plusieurs fois
    Par khelif dans le forum JBuilder
    Réponses: 1
    Dernier message: 10/03/2005, 21h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo