Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/05/2006, 07h50   #1
Membre éprouvé
 
Homme Cyrill Gremaud
Ingénieur systèmes et réseaux
Inscription : août 2005
Messages : 1 002
Détails du profil
Informations personnelles :
Nom : Homme Cyrill Gremaud
Âge : 23
Localisation : Suisse

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Enseignement

Informations forums :
Inscription : août 2005
Messages : 1 002
Points : 429
Points : 429
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 :
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 :
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 :
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...
cyrill.gremaud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2006, 09h02   #2
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
Salut !

tu ne devrais pas ressoumettre le formulaire
Code :
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, 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 (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2006, 09h02   #3
Rédacteur
 
Avatar de wamania
 
Développeur Web
Inscription : juillet 2003
Messages : 676
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juillet 2003
Messages : 676
Points : 678
Points : 678
Code :
<input type="submit" name="Submit" value="Poster" />
1submit

Code :
1
2
3
4
else{
   document.repondre.submit();
   return true;
   }
2 submit

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

Code :
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

Lithium : ORM ActiveRecord PHP5 extrêmement léger
wamania est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2006, 10h48   #4
Membre éprouvé
 
Homme Cyrill Gremaud
Ingénieur systèmes et réseaux
Inscription : août 2005
Messages : 1 002
Détails du profil
Informations personnelles :
Nom : Homme Cyrill Gremaud
Âge : 23
Localisation : Suisse

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Enseignement

Informations forums :
Inscription : août 2005
Messages : 1 002
Points : 429
Points : 429
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...
cyrill.gremaud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2006, 10h57   #5
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
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, 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 (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2006, 11h07   #6
Membre éprouvé
 
Homme Cyrill Gremaud
Ingénieur systèmes et réseaux
Inscription : août 2005
Messages : 1 002
Détails du profil
Informations personnelles :
Nom : Homme Cyrill Gremaud
Âge : 23
Localisation : Suisse

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Enseignement

Informations forums :
Inscription : août 2005
Messages : 1 002
Points : 429
Points : 429
hum.... bon jai tout effacer les cookies, fichier temp etc... pour le moment je nai plus d'erreur en tout cas...
cyrill.gremaud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2006, 22h14   #7
Membre éprouvé
 
Homme Cyrill Gremaud
Ingénieur systèmes et réseaux
Inscription : août 2005
Messages : 1 002
Détails du profil
Informations personnelles :
Nom : Homme Cyrill Gremaud
Âge : 23
Localisation : Suisse

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Enseignement

Informations forums :
Inscription : août 2005
Messages : 1 002
Points : 429
Points : 429
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
cyrill.gremaud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2006, 23h16   #8
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
cette ligne :
Code :
  $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 )
__________________
Rédacteur "éclectique" (XML, 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 (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 07h34   #9
Membre éprouvé
 
Homme Cyrill Gremaud
Ingénieur systèmes et réseaux
Inscription : août 2005
Messages : 1 002
Détails du profil
Informations personnelles :
Nom : Homme Cyrill Gremaud
Âge : 23
Localisation : Suisse

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Enseignement

Informations forums :
Inscription : août 2005
Messages : 1 002
Points : 429
Points : 429
Citation:
Envoyé par Swoög
cette ligne :
Code :
  $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 :
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 :
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...
cyrill.gremaud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 08h25   #10
Rédacteur
 
Avatar de wamania
 
Développeur Web
Inscription : juillet 2003
Messages : 676
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juillet 2003
Messages : 676
Points : 678
Points : 678
Code :
if($_POST['pseudo'] != "" && $_POST['message'] != "")
est une bidouille pour moi, utilisé par bcp trop de gens. il existe une fonction qui fait pareil
Code :
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)
__________________
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

Lithium : ORM ActiveRecord PHP5 extrêmement léger
wamania est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 09h03   #11
Membre éprouvé
 
Homme Cyrill Gremaud
Ingénieur systèmes et réseaux
Inscription : août 2005
Messages : 1 002
Détails du profil
Informations personnelles :
Nom : Homme Cyrill Gremaud
Âge : 23
Localisation : Suisse

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Enseignement

Informations forums :
Inscription : août 2005
Messages : 1 002
Points : 429
Points : 429
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 ?
cyrill.gremaud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 09h10   #12
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
disons que empty permet en plus de vérifier qu'on n'a pas laissé un champ vide
__________________
Rédacteur "éclectique" (XML, 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 (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 10h01   #13
Membre éprouvé
 
Homme Cyrill Gremaud
Ingénieur systèmes et réseaux
Inscription : août 2005
Messages : 1 002
Détails du profil
Informations personnelles :
Nom : Homme Cyrill Gremaud
Âge : 23
Localisation : Suisse

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Enseignement

Informations forums :
Inscription : août 2005
Messages : 1 002
Points : 429
Points : 429
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...
cyrill.gremaud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 10h03   #14
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
isset() && isset() ça ne vérifie pas que les champs sont remplis, ça vérifie qu'ils existent (nuance)
__________________
Rédacteur "éclectique" (XML, 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 (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 10h11   #15
Membre éprouvé
 
Homme Cyrill Gremaud
Ingénieur systèmes et réseaux
Inscription : août 2005
Messages : 1 002
Détails du profil
Informations personnelles :
Nom : Homme Cyrill Gremaud
Âge : 23
Localisation : Suisse

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Enseignement

Informations forums :
Inscription : août 2005
Messages : 1 002
Points : 429
Points : 429
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
cyrill.gremaud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 10h15   #16
Membre éprouvé
 
Homme Cyrill Gremaud
Ingénieur systèmes et réseaux
Inscription : août 2005
Messages : 1 002
Détails du profil
Informations personnelles :
Nom : Homme Cyrill Gremaud
Âge : 23
Localisation : Suisse

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Enseignement

Informations forums :
Inscription : août 2005
Messages : 1 002
Points : 429
Points : 429
voici mon code maintenant...

Code :
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 ?
cyrill.gremaud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 10h20   #17
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
tu peux remplacer :
Code :
1
2
if(isset($_POST['pseudo']) && isset($_POST['message'])){
   if(!empty($_POST['pseudo']) && !empty($_POST['message'])){
par
Code :
if(isset($_POST['pseudo']) && isset($_POST['message']) && !empty($_POST['pseudo']) && !empty($_POST['message'])){
et inutile de mettre un bloc else s'il est vide
__________________
Rédacteur "éclectique" (XML, 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 (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 10h30   #18
Membre éprouvé
 
Homme Cyrill Gremaud
Ingénieur systèmes et réseaux
Inscription : août 2005
Messages : 1 002
Détails du profil
Informations personnelles :
Nom : Homme Cyrill Gremaud
Âge : 23
Localisation : Suisse

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Enseignement

Informations forums :
Inscription : août 2005
Messages : 1 002
Points : 429
Points : 429
Code :
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 ?
cyrill.gremaud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 11h00   #19
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
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...]
__________________
Rédacteur "éclectique" (XML, 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 (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 11h52   #20
Rédacteur
 
Avatar de wamania
 
Développeur Web
Inscription : juillet 2003
Messages : 676
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juillet 2003
Messages : 676
Points : 678
Points : 678
Code :
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
__________________
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

Lithium : ORM ActiveRecord PHP5 extrêmement léger
wamania est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h41.


 
 
 
 
Partenaires

Hébergement Web