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

  1. #1
    Membre confirmé
    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 : 36
    Localisation : Suisse

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

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    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 éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    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;
       }

  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
    Points : 1 071
    Points
    1 071
    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;
       }

  4. #4
    Membre confirmé
    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 : 36
    Localisation : Suisse

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

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    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 éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    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 ^^

  6. #6
    Membre confirmé
    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 : 36
    Localisation : Suisse

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

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    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 confirmé
    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 : 36
    Localisation : Suisse

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

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    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

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      $req = mysql_query("INSERT INTO livre(id, pseudo, message, date, heure) VALUES('', '".$_POST['pseudo']."','".$message."','".$date."','".$heure."')");
    ne devrait être exécutées que si on vient de soumettre le formulaire (càd ssi les variables dans $_POST existent )

  9. #9
    Membre confirmé
    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 : 36
    Localisation : Suisse

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

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    Par défaut
    Citation Envoyé par Swoög
    cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      $req = mysql_query("INSERT INTO livre(id, pseudo, message, date, heure) VALUES('', '".$_POST['pseudo']."','".$message."','".$date."','".$heure."')");
    ne devrait être exécutées que si on vient de soumettre le formulaire (càd ssi les variables dans $_POST existent )
    hum donc dans ma page $_get["mode"] = "InsertBook": je fais comme sa :

    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
    if($_POST['pseudo'] != "" && $_POST['message'] != ""){
     
       $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>
       <?
     
      }else{ }
    cest comme sa que tu voulais dire ? ou plutot comme sa ???

    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
    if(isset($_POST['pseudo']) && isset($_POST['message'])){
     
       $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>
       <?
     
      }else{ }
    merci de maider... c'est vraiment pénible comme prob...

  10. #10
    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
    Points : 1 071
    Points
    1 071
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($_POST['pseudo'] != "" && $_POST['message'] != "")
    est une bidouille pour moi, utilisé par bcp trop de gens. il existe une fonction qui fait pareil
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if(! empty ($_POST['pseudo']) && ! empty( $_POST['message']) )
    Sinon ici, à toi de savoir ce que tu veux vérifier.
    Personnellement je vérifierais qu'elles existent (isset) et qu'elles ne soient pas vides (!empty)

  11. #11
    Membre confirmé
    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 : 36
    Localisation : Suisse

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

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    Par défaut
    cest vrai... bon pour le moment jai fais le isset sur les deux champs et sa marche .... c'est vraiment utile de faire encore le empty ??? sa revient a la meme chose mais dans lotre sens non ?

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    disons que empty permet en plus de vérifier qu'on n'a pas laissé un champ vide

  13. #13
    Membre confirmé
    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 : 36
    Localisation : Suisse

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

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    Par défaut
    Citation Envoyé par Swoög
    disons que empty permet en plus de vérifier qu'on n'a pas laissé un champ vide
    mais si moi jai dis &&, de toute facon il fais rien si les deux champ de ne sont pas remplis...

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    isset() && isset() ça ne vérifie pas que les champs sont remplis, ça vérifie qu'ils existent (nuance)

  15. #15
    Membre confirmé
    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 : 36
    Localisation : Suisse

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

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    Par défaut
    Citation Envoyé par Swoög
    isset() && isset() ça ne vérifie pas que les champs sont remplis, ça vérifie qu'ils existent (nuance)
    hum vu de ce sens c'est vrai... je vais alors rajouter ce test... merci

  16. #16
    Membre confirmé
    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 : 36
    Localisation : Suisse

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

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    Par défaut
    voici mon code maintenant...

    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
    if(isset($_POST['pseudo']) && isset($_POST['message'])){
       if(!empty($_POST['pseudo']) && !empty($_POST['message'])){
     
        $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>
        <?
     
       }else{ }
      }else{ }
    c'est optimal ou non ?

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    tu peux remplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(isset($_POST['pseudo']) && isset($_POST['message'])){
       if(!empty($_POST['pseudo']) && !empty($_POST['message'])){
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(isset($_POST['pseudo']) && isset($_POST['message']) && !empty($_POST['pseudo']) && !empty($_POST['message'])){
    et inutile de mettre un bloc else s'il est vide

  18. #18
    Membre confirmé
    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 : 36
    Localisation : Suisse

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

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    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
    18
    19
    20
    21
    22
    23
    if(isset($_POST['pseudo']) && isset($_POST['message']) && !empty($_POST['pseudo']) && !empty($_POST['message'])){
     
        $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>
        <?
       }
    and now ??? coorect ? optimal ?

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    c'est bon...

    il reste toujours les modifs classiques : protections contre les SQL injections ( http://fr.php.net/mysql_real_escape_string ), pas besoin d'utiliser $message, tu peux utiliser $_POST['message'] directement, et tu devrais plutôt utiliser les long tags (<?php) tout le temps [question de compatibilité, les shorts tags ne sont pas activés partout...]

  20. #20
    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
    Points : 1 071
    Points
    1 071
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pas besoin d'utiliser $message, tu peux utiliser $_POST['message']
    si tu filtre ton $_POST['message'] et que tu place ce champ filtré dans $message, il ne faut surtout plus utilisé $_POST['message']

    vaut mieux des le début s'occuper des tableaux globaux et ne plus y toucher apres

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, 15h04
  2. Réponses: 4
    Dernier message: 18/03/2008, 02h59
  3. [Cookies] Sessions dans différents dossiers
    Par Babacooll dans le forum Langage
    Réponses: 4
    Dernier message: 03/09/2007, 12h20
  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, 15h07
  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, 12h56

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