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 :

[Cookies] Simple, double, différent POST...


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Par défaut [Cookies] Simple, double, différent POST...
    salut tout le monde ! la jai vraiment besoin de votre aide parce que je ne comprend vraiment rien ! jai un livre d'or que j'ai fais moi meme... mon code est pourtant très simple, mais lorsque je fais envoyer, soit il le post une fois et tout va bien, soit il le post deux fois, soit deux fois et encore une fois avec rien a lintérieur.... je devient FOU ! voici mon code

    livre.php

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    <script language="javascript">
    function openSmile()
    {
    window.open("pages/smileys.php", "SmileyPanel", "toolbar=no, location=no, directories=no, status=no, scrollbars=yes, resizable=no, copyhistory=no, width=400, height=400, left=0, top=0");
    }
    function checkForm(){
    if(document.repondre.pseudo.value == ""){
     alert("Tu n'a pas choisis de pseudo");
     document.repondre.pseudo.focus();
     return false;
     }
     else if(document.repondre.message.value == ""){
      alert("Tu n'a rien mis dans ton message");
      document.repondre.message.focus();
      return false;
      }
      else{
       document.repondre.submit();
       return true;
       }
    }
    </script>
    <p align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Laisse un petit message lors de ta visite.</p> 
    <?
    /* affichage du nombre de messages */
     $req = mysql_query("SELECT * FROM livre");
     $count = mysql_num_rows($req);
     $nbr_par = $_GET["nb"]; // nombre d'enregistrement par page
    ?>
    <div align="center">
    <form name="repondre" id="form" method="post" action="indexO.php?Page=9&Mode=Insertbook&nb=<? echo $nbr_par; ?>" onsubmit="return checkForm()">
    <table width="60%" border="0">
     <tr>
      <td>
      <fieldset>
       <table width="100%" border="0">
         <tr>
        <td><div align="left">Pseudo : </div></td>
        <td><label>
          <div align="left">
         <input name="pseudo" type="text" id="pseudo" size="26" value="<? echo $_SESSION['login']; ?>"/>
         </div>
        </label></td>
         </tr>
         <tr>
        <td><div align="left">Message : </div></td>
        <td rowspan="2"><div align="left">
          <textarea name="message" rows="3" id="message"></textarea>
        </div></td>
         </tr>
         <tr>
        <td>&nbsp;</td>
         </tr>
         <tr>
        <td></td>
        <td><div align="left"><input type="submit" name="Submit" value="Poster" /></div></td>
         </tr>
       </table>
      </fieldset>
      </td>
     </tr>
    </table>
     </form>
     <br />
     <div align="left">
       <table width="95%" border="0">
      <tr>
        <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<? echo "Déja ".$count." messages postés !"; ?></td>
        <td><a href="javascript:openSmile()">Smileys</a></td>
        <td><div align="right">Msg par page : | <a href="indexO.php?Page=15&nb=3">3</a> | <a href="indexO.php?Page=15&nb=5">5</a> | <a href="indexO.php?Page=15&nb=7">7</a> | <a href="indexO.php?Page=15&nb=9">9</a> |</div></td>
      </tr>
       </table>
    </div>
    <br>
    <? 
       $table_fiche = "livre" ; 
       $sql = "SELECT * from $table_fiche ORDER BY id DESC"; // requete qui sera envoyer pour recupere les resultats
     
     
     
    /* on  compte le nombre d'enregistrement */ 
       $retour = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM $table_fiche "); 
       $donnees = mysql_fetch_array($retour); 
       $nbr = $donnees['nbre_entrees']; 
     
    /* decoupage par page */ 
       $nombre_de_page = ceil($nbr/$nbr_par); //ceil = arrondi au nombre supérieur
    /* verifie si on a pas appelle de page */    
       if (isset ($_GET['page'])) 
       { 
       // recup le numero de la page a choper 
          $page = $_GET['page']; 
          $sql .= " LIMIT $page ; "; 
       // on affiche la page 
          $reponse = mysql_query($sql); // Requête SQL 
          while ($donnees = mysql_fetch_array($reponse) ) 
          { ?>
      <table width="90%" cellpadding="0" cellspacing="0" border="0">
       <tr>
       <td>
       <fieldset><legend class="fildset"><? echo"Posté par ".$donnees['pseudo'];?>&nbsp;</legend>
         <table width="100%" border="0">
          <tr>
         <td width="12%">&nbsp;</td>
         <td width="79%">&nbsp;</td>
          </tr>
          <tr>
         <td colspan="2"><div align="left"><? echo $donnees['message']; ?><br /><font color="#999999">------------------------------------<br /><? echo"Posté le ".$donnees['date']." à ".$donnees['heure'];?></font></div></td>
        </tr>
       </table>
       </fieldset>
       </td>
      </tr>
     </table>
     <br />
       <?   } 
       } 
       else // sa veut dire qu'il y'en a pas eu 
       { 
          $sql .= " LIMIT 0,$nbr_par ; "; 
          // on affiche la page 
          $reponse = mysql_query($sql); // Requête SQL 
          while ($donnees = mysql_fetch_array($reponse) ) 
          { ?>
          <table width="90%" cellpadding="0" cellspacing="0" border="0">
       <tr>
       <td>
       <fieldset><legend class="fildset"><? echo"Posté par ".$donnees['pseudo']; ?>&nbsp;</legend>
         <table width="100%" border="0">
          <tr>
         <td width="12%">&nbsp;</td>
         <td width="79%">&nbsp;</td>
          </tr>
          <tr>
         <td colspan="2"><div align="left"><? echo $donnees['message']; ?><br /><font color="#999999">------------------------------------<br /><? echo"Posté le ".$donnees['date']." à ".$donnees['heure'];?></font></div></td>
        </tr>
       </table>
       </fieldset>
       </td>
      </tr>
     </table>
     <br />
         <? } 
       } 
     
    /* on affiche le menu qui permet de changer de page */ 
       for ( $i = 0 ; $i < $nombre_de_page ; ++$i ) 
       { 
          echo '<a href="indexO.php?Page=15&page='. ($i * $nbr_par) .','. $nbr_par .'&nb='. $nbr_par .'" class="linkExept">';
          echo $i + 1;
          echo '</a> - ' ; 
       } 
       echo"<br>";
     
    ?>
    la page indeO.php

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    if(isset($_GET['Page'])){
     
                   switch($_GET['Page']){
     
                    case "0":
                     include_once('index.php'); ?>
                     <br>
                     <?
                     break;
     
                    case "1":
                     include_once('pages/description.php');?>
                     <br>
                     <?
                    break;
     
                    case "2":
                     include_once('pages/membres.php');?>
                     <br>
                     <?
                     break;
     
                    case "3":
                     include_once('pages/manifestations.php');?>
                     <br>
                     <?
                     break;
     
     
                    case "5":
                     include_once('pages/news.php'); ?>
                     <br>
                     <? break;
     
                    case "6":
                     include_once('pages/contact.php');?>
                     <br>
                     <?
                     break;
     
                    case "7":
                     include_once('pages/admin.php');?>
                     <br>
                     <?
                     break;
     
                    case "8":
                     include_once('pages/membresAdmin.php');?>
                     <br>
                     <?
                     break;
     
                    case "9":
                     include_once('pages/brain.php');?>
                     <br>
                     <?
                     break;
    et la page brain.php (Page=9)

    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
     
    case"Insertbook":
     
      $date = date("d/m/Y");
      $heure = date("H:i");
      $message = $_POST['message'];
     
       $sql = 'SELECT url, code FROM smileys'; 
        $result = mysql_query($sql) or die(mysql_error()); 
     
        while($smiley = mysql_fetch_assoc($result)){ 
     
          $codes[] = $smiley['code']; 
          $urls[] = '<img src="'.$smiley['url'].'">'; 
     
        } 
     
      $message = str_replace($codes, $urls, $message);
     
      $req = mysql_query("INSERT INTO livre(id, pseudo, message, date, heure) VALUES('', '".$_POST['pseudo']."','".$message."','".$date."','".$heure."')"); ?>
      <? echo"Patiente un moment..."; ?>
      <script type="text/javascript">setTimeout(function(){document.location='indexO.php?Page=15&nb=<? echo $_GET['nb']; ?>'},0)</script>
      <?
     
     break;
    bon jai je vous ai pas coller toute la page indexO parce qu'apart le switch cest que du design et la page brain jai mis que le switch($_get['Mode']) = InsertBook

    merci de maider...

  2. #2
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    Salut !

    tu ne devrais pas ressoumettre le formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function checkForm(){
    if(document.repondre.pseudo.value == ""){
     alert("Tu n'a pas choisis de pseudo");
     document.repondre.pseudo.focus();
     return false;
     }
     else if(document.repondre.message.value == ""){
      alert("Tu n'a rien mis dans ton message");
      document.repondre.message.focus();
      return false;
      }
      else{
       return true;
       }
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  3. #3
    Rédacteur

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 695
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="submit" name="Submit" value="Poster" />
    1submit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    else{
       document.repondre.submit();
       return true;
       }
    2 submit

    en fait le deuxième ne sers à rien
    enleve simplement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    else{
       document.repondre.submit();
       return true;
       }
    Articles sur developpez.com
    - Gestion des exceptions avec PHP5
    - Chiffrement et hash en PHP contre l'attaque Man in the middle
    - Aedituus - Espace membre sécurisé en PHP5

  4. #4
    Membre éprouvé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Par défaut
    oui jai remarquer sa tout de suite après avoir poster sa desolé... sa marche mieu effectivement... mais il me semble des fois lorsque je clique sur le lien qui pointe vers la page livre.php, il me rajoute encore un champ vite... pas tout le temps mais des fois...

  5. #5
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    Double click sur le submit, Bug du navigateur, reload de la page... autant de possibilités qui font qu'il faut toujours revérifier les données côté PHP ^^
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  6. #6
    Membre éprouvé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Par défaut
    hum.... bon jai tout effacer les cookies, fichier temp etc... pour le moment je nai plus d'erreur en tout cas...

  7. #7
    Membre éprouvé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Par défaut
    RE ! bon alors lorsque je post mon message sa marche parfais mais mtn le problème cest que lorsque je post un messahe, je vais ensuite sur une autre page et je revient sur la page du livre, ben sa me post souvent un ou plusieurs message vide.... d'ou sa pourrait venir ??? merci

Discussions similaires

  1. [PHP 5.2] [Cookies] utilisation de différente session par browser
    Par DeeVoiD dans le forum Langage
    Réponses: 3
    Dernier message: 21/01/2009, 14h04
  2. Réponses: 4
    Dernier message: 18/03/2008, 01h59
  3. [Cookies] Sessions dans différents dossiers
    Par Babacooll dans le forum Langage
    Réponses: 4
    Dernier message: 03/09/2007, 11h20
  4. Ouverture d'une meme base access sur différents postes
    Par baboulilie dans le forum Runtime
    Réponses: 4
    Dernier message: 05/01/2007, 14h07
  5. [VB]Lancer un *.exe sur différents postes
    Par shaftJackson dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 10/02/2006, 11h56

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