PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : Forum Général PHP » Etre rediriger après x secondes après un submit » 16-11-2016 08:22:41

Bonjour Kaimite,

J'ai un dernier petit soucis le bout de code que vous m'avez donné je l'ai mis partout sauf a un endroit ou je ne vois pas ou le mettre a cause du break ...

foreach ($listNumDossiers as $numDossier)
{
// On verifie qu'il soit pas vide
if($numDossier != '')
{
// Si il est pas vide, on fait la verif_num_dossier sur le numero de dossier en cours dans la boucle, la fonction renvoi TRUE ou FALSE
$verif_num_dossier = attribution_num_dossier($numDossier);
// Si la fonction renvoi FALSE
if(!$verif_num_dossier)
{
// Il y a une erreur dans le numero, on l'affiche
$verif_all_num_dossier = FALSE;
echo '<br/>
<p>Le numéro de dossier "'
. $numDossier . '" est incorrect</p>
'
;
echo '
<p>Aucun NDA à été enregistré !</p>
'
;  
break;
}else
{
// On incrémente $i et on dit que la réémission est toujours faisable
$i++;  
}
}else
{
// on le met à FALSE
$verif_all_num_dossier = FALSE;
break;
}
}
 

Savez vous ou je peux le mettre ?

Bien Cordialement

#2 Re : Forum Général PHP » Etre rediriger après x secondes après un submit » 16-11-2016 08:22:41

J'ai réussi à résoudre le problèmes car j'avais ajouté le bout de code que vous m'avez donnez a un seul endroit.
Erreur de ma part ^^! Ca marche très bien cette fois ci et pour tout les cas du site web merci beaucoup Kaimite !

#4 Re : Forum Général PHP » Etre rediriger après x secondes après un submit » 16-11-2016 08:22:41

Et le script ne fonctionne pas la syntaxe est pas bonne car le <?php n'est pas en rouge ..

#5 Re : Forum Général PHP » Etre rediriger après x secondes après un submit » 16-11-2016 08:22:41

Pas de soucis ^^ !
Par contre le $traitementFiniEtOK il ne doit pas être déclaré avant ?

#6 Re : Forum Général PHP » Etre rediriger après x secondes après un submit » 16-11-2016 08:22:41

Alors moi ce que je voudrais c'est que l'utilisateur remplisse comme j'ai fais les informations puis les soumettent.
Le message par la suite leur indique que la réémission c'est bien ou pas effectuer et après j'aimerais que sa réinitialise la page entièrement ..

#7 Re : Forum Général PHP » Etre rediriger après x secondes après un submit » 16-11-2016 08:22:41

Donc en faisant ce que vous m'avez dis j'ai cela comme retour :

Array
(
    [MODE_REEMIS] => STREAM
    [abonne] => HL7IDEOLOC
    [TYPE_MSG] => LST
    [FORMAT_MSG] => MDOS
    [NDA] => 123456789
)
Donc c'est bien ce que je lui rentre mais a partir du bouton sauvegarder j'ai un message que je lui dis d'afficher :

Votre réémission à bien été prise en compte !

Est ce cela qui peux poser soucis pour la réinitialisation sachant que pour l'insert en table j'ai une requête qui permet d'allez verifier sur le NDA existe dans la BDD =/ ?

#8 Re : Forum Général PHP » Etre rediriger après x secondes après un submit » 16-11-2016 08:22:41

J'ai ca :

Choisir un mode de réemission : BATCH (réemission différé) ou STREAM (réemission fil de l'eau : maximum 20 numéros)
Sélectionner l'application destinataire de la réémission :

Informations du POST

Array
(
    [MODE_REEMIS] => STREAM
    [abonne] => abonne3
)

Pour le test j'ai mis le délais à 1.5 sec

#9 Re : Forum Général PHP » Etre rediriger après x secondes après un submit » 16-11-2016 08:22:41

bonjour,

Ca ne change absolument rien il fais juste le submit uniquement

#10 Re : Forum Général PHP » Etre rediriger après x secondes après un submit » 16-11-2016 08:22:41

Merci de votre réponse, si je vous mets mon code entier est ce que vous verrez plus clair sur ce qu'il fait ?

Car je n'ai qu'un seul formulaire sur ma page principal, et toutes mes variables sont dans le formulaire.


<!-- PROGRAMME POUR TITI 14/04/2015-->
<?php
   ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
   //  Programme développer par afin de pouvoir réemettre des messages en mode Stream et Batch a l'application qu'il désire  //
   //  12 Janvier 2015                                                                                                                     //
   /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////  
   
   
    include( "../include/infirst.inc"  );
    include( "../include/myfuncts.inc" );  
    include( "../include/my_sgbd.inc"  );
    include_once("function.php");  
   
   ?>
<!DOCTYPE HTML>
<html lang="fr">
   <head>
      <meta charset="UTF-8">
      <meta http-equiv="x-ua-compatible" content="IE=9">
      <meta name='Author' content=''>
      <meta http-equiv="refresh" content="S" URL=http://helsinki/HERMES/TEST/pages/menu.php">
      <title>Réémission</title>
      <link rel="stylesheet" href="../styles/css.css" />
      <script language='JavaScript' type='text/javascript' src='../include/javascript.js'></script>
   </head>
   <body>
      <div id="wrapper">
         <div class="banniere"></div>
         <section>
            <h1><strong>&nbsp; Réémission des Messages &nbsp; </strong></h1>
            <p class="message">HERMES</p>
            <form method='post' id='Application' action='<?php echo $_SERVER["PHP_SELF"]; ?> '>
               <fieldset>
                  <legend>Réemission des messages</legend>
                  <label for="MODE_REEMIS">Choisir un mode de réemission : BATCH (réemission différé) ou STREAM (réemission fil de l'eau : maximum 20 numéros)</label><br/>
                  <?php
                     // Déclarations des variables  
                        $appli = $_POST['abonne'];  
                        $TYPE_MSG     = $_POST['TYPE_MSG'];
                        $FORMAT_MSG   = $_POST['FORMAT_MSG'];
                        $MODE_REEMIS  = $_POST['MODE_REEMIS'];
                        $ETAT_REEMIS  = $_POST['ETAT_REEMIS'];
                        $appli      = $_POST['abonne'];
                        $hl7_IMS_ABONNE = $_POST['hl7_IMS_ABONNE'];
                       
                        /* --------------------------------------------------- Condition pour le Mode de Réémission  -----------------------------------------------*/ 
                        $MODE_REEMIS = $_POST['MODE_REEMIS'];
                        $ETAT_REEMIS = $_POST['ETAT_REEMIS'];
                       
                        // cacher le warning !
                        error_reporting(0);
                       
                        ?>
                  <!-- LISTE DEROULANTE POUR LE MODE REEMIS -->
                  <select name='MODE_REEMIS' id='MODE_REEMIS' onchange='submit()'>
                  <?php
                     if($MODE_REEMIS == '')
                     {
                      echo "  <option selected ='selected' value=''> </option>";
                     }
                     else {
                      echo "  <option value=''> </option>";
                     }
                     if($MODE_REEMIS == 'STREAM')
                      {
                        echo "<option selected ='selected' value='STREAM'>STREAM</option>";
                      }
                     else {
                      echo "<option value='STREAM'>STREAM</option>";
                     }
                     if($MODE_REEMIS == 'BATCH')
                      {
                        echo "<option selected='selected' value='BATCH'>BATCH</option>";
                        header('Location: menuBatch.php');
                      }
                     else {
                      echo "<option value='BATCH'>BATCH</option>";
                     }
                     ?>
                  </select><br/>
                  <?php
                     if($MODE_REEMIS == 'STREAM')
                     {
                      $ETAT_REEMIS = 'A';
                     }else{
                      $ETAT_REEMIS = 'A';
                     }
                     /* ------------------------------------------------- Condition pour les abonnees destinataires --------------------------------------------*/ 
                     ?>
                  <!-- LISTE DEROULANTE POUR LES APPLICATIONS -->
                  <label for="abonne">Sélectionner l'application destinataire de la réémission  :</label><br/>
                  <select  id='abonne' name='abonne' onchange='submit()'>
                  <?php
                     $requete = 'SELECT RECEIVING_APPLICATION FROM hl7_IMS_ABONNE order by 1' ;
                     $res= exec_select( 'ORACLE8', 'TITI', $requete,'', $trace=true );
                     
                     for($i=0 ; $i < sizeof($res); $i++)
                     {
                     
                      $resultat=($res[$i]['RECEIVING_APPLICATION']);
                      if($resultat == $appli)
                      {
                        echo " <option selected ='selected' value='".$resultat."'>".$resultat."</option>";
                      }
                      else
                      {
                        echo " <option value='".$resultat."'>".$resultat."</option>";
                       
                      }
                     }
                     
                     /*if($appli == 'HL7IDEOLOC')
                     {
                      echo"<script>alert(\"Vous venez de sélectionner l'application IDEOMED les messages seront donc effacés avant d'être rejoués\")</script>";
                      //echo '<script type="text/javascript">window.alert("\Vous venez de sélectionner l application IDEOMED, les messages seront donc éffacés avant d être rejoués\");</script>';
                     }
                     */
                     ?>
                  </select><br/>
                  <?php
                     // RECAPITULATIF DE L'ABONNE SUR LE QUEL NOUS ALLONS REEMETTRE
                     
                     if (isset( $appli)) {
                      echo "<p>Vous avez sélectionné l'application : " .  $appli . "</p> ";
                     }
                     $requete1 = 'SELECT DISTINCT TYPE_MSG FROM hl7_IMS_REEMIS order by 1' ;
                     $res1= exec_select( 'ORACLE8', 'TITI', $requete1,'', $trace=true );
                     ?>
                  <label for="TYPE_MSG"> Sélectionner le type de message ou collection(MSG ou LST) à réémettre : </label><br/>
                  <!-- LISTE DEROULANTE POUR LE TYPES DE MESSAGES A REJOUER -->
                  <select  id='TYPE_MSG' name='TYPE_MSG'  onchange='submit()'>
                  <?php       for($i=0 ; $i < sizeof($res1); $i++)
                     {
                      $resultat1=($res1[$i]['TYPE_MSG']);
                      if($resultat1 == $TYPE_MSG)
                      {
                        echo " <option selected ='selected' value='".$resultat1."'>".$resultat1."</option>";
                      }
                      else
                      {
                        echo " <option value='".$resultat1."'>".$resultat1."</option>";
                       
                      }
                     }
                     ?>
                  </select><br/>
                  <!-- RECAPITULATIF DU TYPE DE MESSAGE SUR LE QUEL NOUS ALLONS REEMETTRE -->
                  <?php
                     if (isset( $TYPE_MSG))
                     {
                      echo "<p>La valeur que vous avez séctionnée est : " .  $TYPE_MSG . "</p> ";
                     }
                     /* --------------------------------------------------------- Condition pour le MSG  --------------------------------------------------------*/    
                     
                     if($TYPE_MSG == 'MSG')
                     { 
                      // LISTE DEROULANTE POUR LE FORMATS DE MESSAGES
                     echo "     <select name='FORMAT_MSG' id='FORMAT_MSG' onchange='submit()'>";
                        if($FORMAT_MSG == '')
                          {
                            echo "  <option selected ='selected' value=''> </option>";
                          }
                        else {
                          echo "  <option value=''> </option>";
                        }
                        if($FORMAT_MSG == 'M1')
                          {
                            echo "  <option selected ='selected' value='M1'>M1</option>";
                          }
                        else {
                          echo "  <option value='M1'>M1</option>";
                        }
                        if($FORMAT_MSG == 'M2')
                        {
                          echo "  <option selected ='selected' value='M2'>M2</option>";
                        }
                        else {
                          echo "  <option value='M2'>M2</option>";
                        }
                        if($FORMAT_MSG == 'M6')
                        {
                          echo "  <option selected ='selected' value='M6'>M6</option>";
                        }
                        else {
                          echo "  <option value='M6'>M6</option>";
                        }
                        if($FORMAT_MSG == 'M8')
                        {
                          echo "  <option selected ='selected' value='M8'>M8</option>";
                        }
                        else {
                          echo "  <option value='M8'>M8</option>";
                        }
                        if($FORMAT_MSG == 'M9')
                        {
                          echo "  <option selected ='selected' value='M9'>M9</option>";
                        }
                        else {
                          echo "  <option value='M9'>M9</option>";
                        }
                     echo"    </select>";
                     
                      $FORMAT_MSG = $_POST['FORMAT_MSG'];
                      echo "<br/>";
                     
                      if($FORMAT_MSG == 'M1')
                      {
                        if (isset($_POST['NIP']))
                        {  
                          $NIP=$_POST['NIP'];
                        }else
                        {
                          $NIP = '';
                        }
                       
                        echo " <p>Saisir le ou les NIP séparés par un espace ou un retour chariot : </p>";
                        echo "<textarea id='NIP' name='NIP' rows='3' cols = '50'>";
                        echo $NIP;
                        echo "</textarea>";
                       
                        $ReemissionOk=$_POST['ReemissionOk'];
                        // boolean à TRUE par défaut
                        $ReemissionOk=FALSE;
                       
                        // Recuperation de la liste des numéro de patients
                        $listNumPatient = preg_split('/[\s]+/', trim($NIP));
                        $k = 1;
                        // Taille defaut des numero de patient
                          $lenghtNumPatient = 12;
                          // Pour chaque numero de patient
                        for($y = 0; $y < sizeof($listNumPatient); $y++)
                        {
                          // On verifie si il est nulle
                          if($listNumPatient[$y] == "")
                          {
                            // Si il est null, on le retire du tableau
                            unset($listNumPatient[$y]);
                          }
                        }
                        // Des qu'on a retirer les vides, on remet en ordre les values du tableau
                        $listNumPatient = array_values($listNumPatient);
                        // On crée un tableau d'erreur vide
                        $listErrorNumPatient = array();
                        // Pour chaque numero de patient
                        foreach ($listNumPatient as $numPatient)
                        {
                          // On verifie qu'il soit pas vide
                          if ($numPatient != '')
                          {
                            // Si il est pas vide, on fait la verfi_nip sur le numero de patient en cours dans la boucle, la fonction renvoi TRUE ou FALSE
                            $verif_nip = verif_nip($numPatient);
                            // Si la fonction renvoi FALSE
                            if (!$verif_nip)
                            {
                              // Il y a une erreur dans le numero, on l'affiche et on note le numero eronné dans le tableau d'erreur
                              echo '<p>Le numéro de dossier "' . $numPatient . '" est incorrect</p>';                        
                              $listErrorNumPatient[] = $numPatient;
                            }else
                            {
                              //Sinon si le numero de patient est un numérique (type INT)
                              if(is_numeric($numPatient))
                              {
                                // Et qu'il n'est pas vide
                                if($numPatient != '' )
                                {
                                  // On incrémente $k et on dit que la réémission est toujours faisable
                                  $k++;
                                  // on le met à true que si tu insères une ligne correctement !
                                    $ReemissionOk=TRUE;
                                }
                              }else
                              {
                                // Sinon on a une erreur et on affiche a l'utilisateur que le numero de patient ne contient pas que des chiffres et on notifie l'erreur dans le tableau d'erreur !
                                echo '<p>Le numéro d identifiant patient"' . $numPatient . '" ne contient pas que des chiffres </p>';
                                $listErrorNumPatient[] = $numPatient;
                              }
                            }
                          }
                        }
                        // à l'exterieur du foreach (Rajouter le 25/03/2015)
                        if(!empty($_POST['NIP']))
                        {
                          // Si le $_POST['NIP'] est remplis
                          if (sizeof($listErrorNumPatient) == 0 && sizeof($listNumPatient) > 0)
                          {
                            // Si le tableau d'erreur est vide et que les numero de patient sont remplit
                            foreach ($listNumPatient as $numPatient)
                            {
                              // Pour chaque numero de patient, on l'insert en base et on dit que la mise a jour a été faite!
                              $requeteInsert = "  Insert into TOTO (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."','0' ,'".$numPatient."', TO_DATE('31/12/2099 23:59:59', 'dd/mm/yyyy hh24:mi:ss'),  '".$ETAT_REEMIS."',  '".$MODE_REEMIS."')";
                              $resReq= exec_select( 'ORACLE8', 'TITI', $requeteInsert,'', $trace=true );
                            }
                            echo "<br/><br/>Votre réémission à bien été prise en compte !<br/>";
                          }else
                          {
                            // Sinon c'est qu'aucune mise a jour a été faite vue qu'il y a des erreurs
                            echo '<p>Aucun NIP à été enregistré !</p>';
                          }
                        }          
                      }else
                      {  
                        // Si $_POST['NDA_MSG'] existe : Soumission d'un formulaire
                        if (isset($_POST['NDA_MSG']))
                        {
                          // On affecte la valeur du formumaire dans $NDA_MSG
                          $NDA_MSG=$_POST['NDA_MSG'];
                        }else
                        {
                          // SINON $NDA_MSG est initialisé à vide
                          $NDA_MSG = '';
                        }
                        echo "<p>Saisir le ou les NDA séparés par un espace ou un retour chariot :</p>";
                        echo "<textarea id='NDA_MSG' name='NDA_MSG' rows='3' cols = '50'>";
                        echo $NDA_MSG;
                        echo "</textarea>";
                               
                        //on découpe la chaîne en fonction des espaces rencontrés (eclatement d'une chaine)
                        $result = preg_match('/^([0-9]{12}\s*)*$/',$NDA_MSG, $result);
                        //on decoupe la chaine en fonction des espaces rencontres
                          $listNumDossiers = preg_split('~[ \s]+~', trim($NDA_MSG));
                          //le dernier item est vide car la chaine se termine par un espace ce qui cree une entree
                        $i = 1;
                        $verif_all_num_dossier = TRUE;
                        // Pour chaque numero de patient
                        foreach ($listNumDossiers as $numDossier)
                        {
                          // On verifie qu'il soit pas vide
                          if($numDossier != '')
                          {
                            // Si il est pas vide, on fait la verif_num_dossier sur le numero de dossier en cours dans la boucle, la fonction renvoi TRUE ou FALSE
                            $verif_num_dossier = attribution_num_dossier($numDossier);
                            // Si la fonction renvoi FALSE
                            if(!$verif_num_dossier)
                            {
                              // Il y a une erreur dans le numero, on l'affiche
                                    $verif_all_num_dossier = FALSE;
                                    echo '<br/><p>Le numéro de dossier "' . $numDossier . '" est incorrect</p>';
                                    echo '<p>Aucun NDA à été enregistré !</p>';
                                    break;
                            }else
                            {
                              // On incrémente $i et on dit que la réémission est toujours faisable
                                    $i++;  
                            }
                          }else
                          {
                            // on le met à FALSE
                                $verif_all_num_dossier = FALSE;
                                break;
                          }
                        }
                        if($verif_all_num_dossier)
                        {
                            foreach ($listNumDossiers as $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 TOTO (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', 'TITI', $requeteInsert,'', $trace=true );
                            }
                            echo '<br/><br/>Votre réémission à bien été prise en compte !<br/>';
                        }
                      }
                     }
                     
                     /* --------------------------------------------------------- Condition pour le LST  --------------------------------------------------------*/    
                     
                     if($TYPE_MSG == 'LST')
                     {
                      // LISTE DEROULANTE POUR LE FORMATS DE MESSAGES
                     
                     echo "     <select name='FORMAT_MSG' id='FORMAT_MSG' onchange='submit()'>";
                        if($FORMAT_MSG == '')
                        {
                          echo "  <option selected ='selected' value=''> </option>";
                        }
                        else {
                        echo "  <option value=''> </option>";
                        }
                        if($FORMAT_MSG == 'DOSP')
                        {
                          echo "  <option selected ='selected' value='DOSP'>DOSP : Tous messages NIP</option>";
                        }
                        else {
                          echo "  <option value='DOSP'>DOSP : Tous messages NIP</option>";
                        }
                        if($FORMAT_MSG == 'MDOS')
                          {
                            echo "  <option selected ='selected' value='MDOS'>MDOS : Tous messages NDA</option>";
                          }
                        else {
                          echo "  <option value='MDOS'>MDOS : Tous messages NDA</option>";
                        }
                     
                        if($FORMAT_MSG == 'DSIT')
                        {
                          echo "  <option selected ='selected' value='DSIT'>DSIT : dernière situation d'un NDA</option>";
                        }
                        else {
                          echo "  <option value='DSIT'>DSIT : dernière situation d'un NDA</option>";
                        }
                     echo "   </select>";
                     echo "   <br />";
                     
                     $FORMAT_MSG = $_POST['FORMAT_MSG'];
                     
                     // (Rajouter le 25/03/2015)
                     
                     $ReemissionOk=$_POST['ReemissionOk'];
                     $ReemissionOk=FALSE; // boolean à faux par défaut  
                     if($FORMAT_MSG == 'DOSP')
                     {
                     // Si $_POST['NIP'] existe : Soumission d'un formulaire
                        if (isset($_POST['NIP']))
                            {  
                              // On affecte la valeur du formumaire dans $NIP
                                $NIP=$_POST['NIP'];
                            }else
                            {
                              // SINON $NIP est initialisé à vide
                                $NIP = '';
                            }
                     
                     echo "<p>Saisir le ou les NIP séparés par un espace ou un retour chariot : </p>";
                          echo " <textarea id='NIP' name='NIP' rows='3' cols = '50'>";
                          echo $NIP;
                          echo " </textarea>";
                         
                          // Recuperation de la liste des numéro de patients
                          $listNumPatient = preg_split('/[\s]+/', trim($NIP));
                          // Pour chaque numero de patient
                          for($y = 0; $y < sizeof($listNumPatient); $y++)
                     {
                      // On verifie si il est nulle
                        if($listNumPatient[$y] == "")
                        {
                          // Si il est null, on le retire du tableau
                            unset($listNumPatient[$y]);
                        }
                     }
                     
                     // Des qu'on a retirer les vides, on remet en ordre les values du tableau
                     $listNumPatient = array_values($listNumPatient);
                     // On crée un tableau d'erreur vide
                          $listErrorNumPatient = array();
                          $j = 1;
                          // Pour chaque numero de patient
                          foreach ($listNumPatient as $numPatient)
                          {
                            // On verifie qu'il soit pas vide
                              if ($numPatient != '')
                              {
                                // Si il est pas vide, on fait la verfi_nip sur le numero de patient en cours dans la boucle, la fonction renvoi TRUE ou FALSE
                                  $verif_nip = verif_nip($numPatient);
                                  // Si la fonction renvoi FALSE
                                  if (!$verif_nip)
                                  {
                                    // Il y a une erreur dans le numero, on l'affiche et on note le numero eronné dans le tableau d'erreur
                                      echo '<p>Le numéro d identifiant patient "' . $numPatient . '" est incorrect</p>';                        
                                      $listErrorNumPatient[] = $numPatient;
                                  }else
                                  {
                                    //Sinon si le numero de patient est un numérique (type INT)
                                      if(is_numeric($numPatient))
                                      {
                                        // Et qu'il n'est pas vide
                                          if($numPatient != '' )
                                          {
                                            // On incrémente $j et on dit que la réémission est toujours faisable
                                              $j++;
                                              $ReemissionOk=TRUE; // on le met à true que si tu insères une ligne correctement !
                                          }
                                      }else
                                      {
                                        // Sinon on a une erreur et on affiche a l'utilisateur que le numero de patient ne contient pas que des chiffres et on notifie l'erreur dans le tableau d'erreur !
                                          echo '<p>Le numéro d identifiant patient"' . $numPatient . '" ne contient pas que des chiffres </p>';
                                          $listErrorNumPatient[] = $numPatient;
                                      }
                                  }
                              }
                          }
                        if ($FORMAT_MSG == 'DOSP')
                        {
                          echo"<script>alert(\"ATTENTION, vous allez rejouer tous les dossiers du NIP que vous allez saisir !\")</script>";
                        }
                     // à l'exterieur du foreach (Rajouter le 25/03/2015)
                        if(!empty($_POST['NIP']))
                        {
                          // Si le $_POST['NIP'] est remplis
                          if (sizeof($listErrorNumPatient) == 0 && sizeof($listNumPatient) > 0)
                           {
                            // Si le tableau d'erreur est vide et que les numero de patient sont remplit
                               foreach ($listNumPatient as $numPatient)
                               {
                                // Pour chaque numero de patient, on l'insert en base et on dit que la mise a jour a été faite!
                        $requeteInsert = "  Insert into TOTO (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."','0' ,'".$numPatient."', TO_DATE('31/12/2099 23:59:59', 'dd/mm/yyyy hh24:mi:ss'),  '".$ETAT_REEMIS."',  '".$MODE_REEMIS."')";
                        $resReq= exec_select( 'ORACLE8', 'TITI', $requeteInsert,'', $trace=true );
                               }
                               echo "<br/><br/>Votre réémission à bien été prise en compte !<br/>";
                           }else
                           {
                                 echo '<p>Aucun NIP à été enregistré !</p>';
                           }
                      }  
                     }else
                      {
                        if (isset($_POST['NDA']))
                        {
                          $NDA=$_POST['NDA'];
                        }else
                        {
                          $NDA = '';
                        }
                        echo "<p> Saisir le ou les NDA séparés par un espace ou un retour chariot : </p>";
                        echo "<textarea id='NDA' name='NDA' rows='3' cols = '50'>";
                        echo $NDA;
                        echo "</textarea>";
                     
                        $listNumDossiers = preg_split('/[\s]+/', trim($NDA));
                          $i = 1; // pour aider l'utilisateur à savoir quel numéro de dossier il a mal saisi
                        $verif_all_num_dossier = TRUE;
                       
                        // Pour chaque numero de patient
                        foreach ($listNumDossiers as $numDossier)
                        {
                          // On verifie qu'il soit pas vide
                          if($numDossier != '')
                          {
                            // Si il est pas vide, on fait la verfi_nip sur le numero de patient en cours dans la boucle, la fonction renvoi TRUE ou FALSE
                            $verif_num_dossier = attribution_num_dossier($numDossier);
                            // Si la fonction renvoi FALSE
                            if(!$verif_num_dossier)
                            {
                              // Il y a une erreur dans le numero, on l'affiche
                                    $verif_all_num_dossier = FALSE;
                                    echo '<br/><p>Le numéro de dossier "' . $numDossier . '" est incorrect</p>';
                                    echo '<p>Aucun NDA à été enregistré !</p>';
                                    break;
                            }else
                            {
                                    $i++;  
                            }
                          }else
                          {
                                $verif_all_num_dossier = FALSE;
                                break;
                          }
                        }
                     /*echo "Le".$_POST['valid'];
                        //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' && $TYPE_MSG =='LST' && in_array('MDOS', 'DSIT',$FORMAT_MSG)) && !empty($_POST['valid']))
                        {
                          echo "Les".$_POST['valid'];
                     // 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>";
                     }*/
                     if (($appli == 'HL7IDEOLOC' && $TYPE_MSG == 'LST' && $FORMAT_MSG=='MDOS' || $appli == 'HL7IDEOLOC' && $TYPE_MSG =='LST' && $FORMAT_MSG=='DSIT') && empty($_POST['valid']))
                     {
                     // 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 TOTO (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', 'TITI', $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'/>
                  <a class="btn" href='<?php echo $_SERVER["PHP_SELF"]; ?>'>Réinitialiser</a>
               </fieldset>
            </form>
            <form action="" id="myForm">
            <!--   <input type="submit" class='btn' id="submitButton" value="Valider">
               </form>
               
               <script>
               document.getElementById("submitButton").addEventListener("click", function (e) {
                 e.preventDefault();
                 setTimeout(function(){ document.getElementById("myForm").submit() }, 5000);
               });
               </script> -->
         </section>
         <?php
            include ("PiedPage.php");
            ?>
      </div>
   </body>
</html>
 

#11 Re : Forum Général PHP » Etre rediriger après x secondes après un submit » 16-11-2016 08:22:41

Bonjour,

A la base je n'avais qu'un seul formulaire y compris mon bouton submit et réinitialisé
Mais maintenant j'aimerais simplifier le site en le réinitialisant a chaque enregistrement.

Le code que vous m'avez donné marche bien en général je l'ai tester et lorsque je clique sur le bouton il réinitialise la page.
C'est bien ce que je veut mais le problème est qu'il n'enregistre pas dans ma BDD les informations sélectionnés ...

Le délai de 5 secondes est pour que l'utilisateur puisse voir si son messages à bien été enregistré dans la BDD.
Je m'explique lorsque l'utilisateur sélectionne ce qu'il veut parmi les listes déroulantes, il doit ensuite saisir le numéro qu'il veut rejouer.
Après il clique sur le bouton sauvegarder qui par la suite lui fais un retour si le numéro a bien été pris en compte ou si il était incorrect :

 
foreach ($listNumPatient as $numPatient)
{
// Pour chaque numero de patient, 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."','0' ,'".$numPatient."', 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/>";
}else
{
echo '
<p>Aucun NIP à été enregistré !</p>
';
}

Cordialement
 

#12 Re : Forum Général PHP » Etre rediriger après x secondes après un submit » 16-11-2016 08:22:41

Bonjour Kaimite et merci pour votre réponse.
Cela marche bien je suis d'accord mais le problème en faisant ca est que les données ne s'enregistre plus dans ma base de données ...

Voici la fin de mon code :


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/>
</fieldset>
</form>
<form action="" id="myForm">
   <input type="submit" id="submitButton" class='btn' value="Sauvegarder">
</form>
<script>
   document.getElementById("submitButton").addEventListener("click", function (e) {
     e.preventDefault();
     setTimeout(function(){ document.getElementById("myForm").submit() }, 5000);
   });
</script>
</section>
<?php
   include ("PiedPage.php");
   ?>
</div>
</body>
</html>
 

#13 Forum Général PHP » Etre rediriger après x secondes après un submit » 16-11-2016 08:22:41

cahuet-200
Réponses : 23

bonjour,

Après avoir regardé plusieurs postes, je n'ai pas réussi a trouver ce que je voulais ...

J'aimerais savoir si c'est possible de rediriger après X secondes ma pages principal après un bouton submit ?

J'ai trouver cette solution :

<meta http-equiv="refresh" content="5"; url=http://helsinki/HERMES/TEST/pages/menu.php">


mais le problème c'est qu'il ne s'effectue pas a partir du submit ...

Quelqu'un aurait il une idée ?

Merci d'avance

Pied de page des forums

Propulsé par FluxBB