Recharger la meme page en affichant un message

Résolu
cyrilherve Messages postés 324 Date d'inscription dimanche 12 août 2007 Statut Membre Dernière intervention 26 août 2011 - 8 avril 2009 à 18:03
cyrilherve Messages postés 324 Date d'inscription dimanche 12 août 2007 Statut Membre Dernière intervention 26 août 2011 - 8 avril 2009 à 18:19
salut a tous , voici le code de ma page 'corps_expedition',

<script src="champsdyna1.js"></script>
<style type="text/css">
<!--
.Style6 {color: #000000; }
.Style7 {font-size: 10px}
.Style8 {font-size: 9px}
-->
</style>

<?php 

$db=mysql_connect ("localhost","root"); //Module de connexion
    mysql_select_db("gescour",$db);
?>

<script type="text/JavaScript">
<!--
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&amp;&amp;i[escale.php ][escale.php ][livraison.php ]

  EXPEDITION 
  

<?php
  if( isset($_GET['msg']) )
    {
      if ($_GET['msg']=0)
        {
          echo " ce numero de bordereaux est deja enregistré ";
        }
      else
        {
          echo " l'expedition a ete bien enregistrée ";
        }
    } 
?> 
  
  
  <form method="post" action="expedition.php">
      ----

      <fieldset>
<legend> Details </legend>
<table width="661" border="0" cellspacing="0" cellpadding="5">
  ----

   , <label></label></td>
    Nom de l'agence:,
    <select name="agence" id="agence">
        <?php
      $mesagences="SELECT * FROM agences"; //*****************selection des agences dans la base de données
      $resultagence=mysql_query($mesagences) or die (mysql_error());
      while($ligne=mysql_fetch_array ($resultagence)){ //listage des agences
  ?>
            <option><?php echo @$ligne['nom_agence']; ?></option>
            <?php } ?>
    </select>,
    &amp;nbsp;,
    &amp;nbsp;,
 
  ----

    &amp;nbsp;,
    N° du Bordereau:,
    <label>
      
    </label>,
    &amp;nbsp;,
 
  ----

    <label>
     
Provenance:

    </label>,
    <label>
    
    </label>,
    <label>
     
Destination:

    </label>,
    <label>
      
    </label>,
 

  ----

    <fieldset>
    <legend>Expéditeur</legend>
    <table width="267" border="0">
      ----

       , Nom:</td>
        <label>
        
        </label>,
     
      ----

        Prenom(s):,
        <label>
          
        </label>,
     
      ----

        Ville:,
        <label>
        
        </label>,
     
      ----

        Pays:,
        <label>
          <select name="paysexp" id="paysexp" style="font-size:9px">
            <option></option>
            <?php
      $sql="SELECT * FROM pays"; //*****************selection des pays dans la base de données
      $resultat=mysql_query($sql) or die (mysql_error());
      while($row=mysql_fetch_array ($resultat)){ //listage des pays
  ?>
            <option><?php echo @$row['fr']; ?></option>
            <?php } ?>
           </select>
        </label>,
     
      ----

        Rue:,
        <label>
        
        </label>,
     
      ----

        T&amp;eacute;l&amp;eacute;phone:,
        <label>
        
        </label>,
     
   

    </fieldset>    </td>
    <td width="34">&amp;nbsp;</td>
    <td width="395" colspan="2"><fieldset id="destinataire">
    <legend>Destinataire</legend>
          ----

        Noms:,
        <label>
        
        </label>,
     
      ----

        Pr&amp;eacute;noms:,
        <label>
        
        </label>,
     
      ----

        Ville:,
        <label>
        
        </label>,
     
      ----

        Pays:,
        <label>
          <select name="paysdes" id="paysdes" style="font-size:9px">
            <option></option>
            <?php
      $sql="SELECT * FROM pays"; //*****************selection des pays dans la base de données
      $resultat=mysql_query($sql) or die (mysql_error());
      while($row=mysql_fetch_array ($resultat)){ //listage des pays
  ?>
            <option><?php echo @$row['fr']; ?></option>
            <?php } ?>
           </select>
        </label>,
     
      ----

        Rue:,
        <label>
        
        </label>,
     
      ----

        T&amp;eacute;l&amp;eacute;phone:,
        <label>
        
        </label>,
     
   

    </fieldset></td>
    </tr>
</table>
      </fieldset>

</td>
    </tr>
  </table>

  ----

    <fieldset id='fichiers' style="font-size:11px">
     <legend> Details colis </legend>
      
      <table width="459" height="28" border="0">
        ----

         ,
Quantit&amp;eacute;
</td>
          D&amp;eacute;signations,
          Poids,
       
     

      

      

    </fieldset>                                      </td>
    </tr>
  
  <tr>
    <td width="0"></td>
    </tr>
</table>

  ----

    <fieldset>
<legend>Details:</legend>
<table width="725" border="0" cellspacing="0" cellpadding="5">
  ----

   , <label>Statut:</label></td>
    <select name="statut" id="statut">
      <option value="&amp;agrave; destination">&amp;agrave; destination</option>
      <option value="en cour">en cours de traitement</option>
      <option value="livre">livr&amp;eacute;</option>
    </select>,
          <label>Compteur
      
      
      </label>
    ,
 

</fieldset></td>
  </tr>
</table>

<?php
// verifie si le numero de bordereau n'existe pas deja dans la base de données 

@$numbe=htmlentities ($_POST['nombord']);$requette" select * from bordereaux where num_be '$numbe' " ;
$resultat=mysql_query($requette);
$lign=mysql_num_rows($resultat);

if ($lign > 0)
{
  header("Location:expedition.php?msg=0") ;
 //echo " il existe deja un bordereau à ce numero !!! " ;
}
else
{  
// insertion des donnees dans la base de donnees si le numero n'existe pas

  @$nomagence=htmlentities ($_POST['agence']);
  @$prove=htmlentities($_POST['provenance']);
  @$desti=htmlentities($_POST['destination']);
  @$nomexp=htmlentities($_POST['nomexp']);
  @$prenomexp=htmlentities($_POST['prenomexp']);
  @$paysexp=$_POST['paysexp'];
  @$villeexp=htmlentities($_POST['villexp']);
  @$rueexp=htmlentities($_POST['ruexp']);
  @$telexp=$_POST['telephonexp'];
  @$nomdest=htmlentities($_POST['nomdes']);
  @$prenomdest=htmlentities($_POST['prenomdes']);
  @$paysdest=htmlentities($_POST['paysdes']);
  @$villedest=htmlentities($_POST['villedes']);
  @$ruedest=htmlentities($_POST['ruedes']);
  @$teldest=htmlentities($_POST['telephonedes']);
  @$statut=$_POST['statut']; 
  @$dat=date("d-m-Y");
  @$heur=date("H:i");
  
     @$valeur=count($_POST['mesquantite']);
     @$valeurdes=count($_POST['mesdesignation']);
     
     for ($i=0;$i<$valeur;$i++)
     {
     //valeurs 
      $quantite=array_values($_POST['mesquantite']);
      $designation =array_values($_POST['mesdesignation']);
      $poids=array_values($_POST['mespoids']);
      @$produitfacture=mysql_query("INSERT INTO produits (num_prdt,num_be,designation,qute,poids) values ('','$numbe','$designation[$i]','$quantite[$i]','$poids[$i]')") or die (mysql_error());
      //envoi dans la base de données
       }
 $resultat2=mysql_query("INSERT INTO bordereaux(num_be,nom_agence,provenance,destination,statut_depart,date_depart,heure_depart,nom_exp, prenom_exp,pays_exp,ville_exp,rue_exp,tel_exp,nom_recep,prenom_recep,pays_recep,ville_recep,rue_recep,tel_recep) values ('$numbe','$nomagence','$prove','$desti','$statut','$dat','$heur','$nomexp','$prenomexp','$paysexp','$villeexp','$rueexp','$telexp','$nomdest','$prenomdest','$paysdest','$villedest','$ruedest','$teldest')") or die (mysql_error());// execute le requette

  header ("Location:expedition.php?msg=1");
//echo " l'enregistrement a été bien effectués " ;
}
?>
</form>


le but d'enregistrer une 'expedition' dans ma base de donnees et renvoyer en message selon que l'enregistrement a ete effectue ou pas, tous ceci en affichant la meme page.
pour cela je verifie d'abord si le numero de l'expedition n'existe pas deja pour eviter les doublons , s'il existe la mm page s'affiche mais cette fois avec un msg indiquant que le num existe , sinon l'enregistremnt s'affectue et la page s'affiche avec un msg indiquant que l'enregistrement a ete effectué.

sauf à l'execution j'ai ce message :
Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\wamp\www\gescour\corps_expedition.php:43) in C:\Program Files\wamp\www\gescour\corps_expedition.php on line 274


est un probleme avec la fonction 'header' vu que 'corps_expedition' ?
est qu'il y a un autre moyen pour atteindre mon objectif ?

merci d'avance de vos reponses.
cordialement.

1 réponse

cyrilherve Messages postés 324 Date d'inscription dimanche 12 août 2007 Statut Membre Dernière intervention 26 août 2011
8 avril 2009 à 18:19
je precise juste que l'enregistrement s'effectu normalement au niveau de la base de donnees ,,, mais le message apparait toujours.
merci
3
Rejoignez-nous