Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
688 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  ne ps perdre un champ valide lors d'un post en php

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

ne ps perdre un champ valide lors d'un post en php

n°1119119
zit_zit
Posté le 14-06-2005 à 09:38:41  profilanswer
 

:jap: bonjour a tous :jap: ...
 
 
en gros sa doit faire la 3 eme fois que j'essaie d'avoir une reponse a cette question et sans grand resultat...desolé d'etre lourd mais je suis vraiment bloqué... je souhaiterai just savoir comment réafficher des données rentré dans un formulaire( php), car comme vous le savez pour récupérer des données on utilise la methode post ou get qui efface les données saisis dans les champs..de ce faite comment faire pour que les champ qui sont bon reste intact!!!ou plus qu ils ne disparaissent pas!! de maniere a ne pas les rattaper....  j'espere avoir ete assez claire  
 
merci bcp pour votre aide... :jap:  :jap:  :jap:

mood
Publicité
Posté le 14-06-2005 à 09:38:41  profilanswer
 

n°1119122
Worldofdad​a
Posté le 14-06-2005 à 09:44:10  profilanswer
 

?? je vois pas vraiment la difficulté.
 
Lors du click sur ton bouton submit, tu appelles une page qui va traiter les informations de ton formulaire.
Il suffit de placer dans des variables tous les champs qui sont ok. Tu nommes ces variables, par exemple, $ok_login, $ok_city, ...
 
Par défaut elles sont vides, et tu leur donne la valeur passée en $_POST par l'utilisateur si la valeur est correcte.
 
Ensuite il suffit d'afficher ces variables dans tes champs grace aux attributs de balises value="".
Si c'est pour un textarea, il faut <textarea name...>$ok_montexte</textarea>
 
Soit j'ai vraiment pas compris ce que tu veux, soit c'est excessivement simple

n°1119123
jeff@be
Posté le 14-06-2005 à 09:44:32  profilanswer
 

Code :
  1. <input type="text" name="monchamps" value="<?php echo $_POST['monchamps'] ?>">

n°1119127
j_lecruel
☀ ☁ ☂
Posté le 14-06-2005 à 09:47:22  profilanswer
 

Salut,
 
dans la partie du code où tu traite les données en provenance du formulaire, tu teste si la valeur saisie est valide, si oui tu la stocke dans une variable de session.  
 
Si redirection il y a vers le formulaire, tu teste si la variable de session est définie, si oui tu l'affiche dans le champs correspondant.
 

Code :
  1. <?php
  2. if(!empty($_SESSION['truc'])) { $form['truc']=$_SESSION['truc']; } else { $form['truc']=''; }
  3. <input type="text" name="truc" id="truc" value=<?php echo $form['truc']; ?>" />

n°1119150
zit_zit
Posté le 14-06-2005 à 10:07:58  profilanswer
 

Worldofdada a écrit :

?? je vois pas vraiment la difficulté.
 
Lors du click sur ton bouton submit, tu appelles une page qui va traiter les informations de ton formulaire.
Il suffit de placer dans des variables tous les champs qui sont ok. Tu nommes ces variables, par exemple, $ok_login, $ok_city, ...
 
Par défaut elles sont vides, et tu leur donne la valeur passée en $_POST par l'utilisateur si la valeur est correcte.
 
Ensuite il suffit d'afficher ces variables dans tes champs grace aux attributs de balises value="".
Si c'est pour un textarea, il faut <textarea name...>$ok_montexte</textarea>
 
Soit j'ai vraiment pas compris ce que tu veux, soit c'est excessivement simple


 
 
non ce n'est pas si simple autrement je pense que je serai vraiment un tres mauvais codeur!!
lorsque je vais ce que tu dis voici ce que j obtient:
 
<br /><b>Notice</b>:  Undefined index:  ste in <b>c:\program files\easyphp1-8\www\inscription.php</b> on line <b>49</b><br />
 

n°1119156
zit_zit
Posté le 14-06-2005 à 10:11:04  profilanswer
 

j_lecruel a écrit :

Salut,
 
dans la partie du code où tu traite les données en provenance du formulaire, tu teste si la valeur saisie est valide, si oui tu la stocke dans une variable de session.  
 
Si redirection il y a vers le formulaire, tu teste si la variable de session est définie, si oui tu l'affiche dans le champs correspondant.
 

Code :
  1. <?php
  2. if(!empty($_SESSION['truc'])) { $form['truc']=$_SESSION['truc']; } else { $form['truc']=''; }
  3. <input type="text" name="truc" id="truc" value=<?php echo $form['truc']; ?>" />



 
 
ok les variable de sessions doit etre la solution cependant j'utilise easyphp et voici les message d'erreur que j'obtient :
 
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at c:\program files\easyphp1-8\www\inscription.php:9) in c:\program files\easyphp1-8\www\inscription.php on line 54
 
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\program files\easyphp1-8\www\inscription.php:9) in c:\program files\easyphp1-8\www\inscription.php on line 54
 
 
je ne sais pas a quoi cela correspond...

n°1119173
j_lecruel
☀ ☁ ☂
Posté le 14-06-2005 à 10:24:04  profilanswer
 

Tu dois placer ton session_start() avant l'envoi des headers (donc apparement avant la ligne 9).

n°1119178
nada71
Posté le 14-06-2005 à 10:25:38  profilanswer
 

tu recuppere ou les donnes de ton formulaire?dans une base de donnee ou sur un autre formulaire?
donne nous aussi ton code.

n°1119180
nada71
Posté le 14-06-2005 à 10:26:42  profilanswer
 

sur une autre page pardon pas sur un autre formulaire

n°1119203
zit_zit
Posté le 14-06-2005 à 10:47:47  profilanswer
 

Code :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <title>Document sans titre</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  6. </head>
  7. <div>
  8. <?
  9. $base=mysql_connect("localhost","XXX","xxx" );
  10. $session_start();
  11. if((!empty($_POST["mot"]))&&(!empty($_POST["pass"])))
  12. {
  13.             if($_POST["mot"]==NULL)
  14.             {print "champ vide";}
  15.             if($_POST["pass"]==NULL)
  16.             {print "champ vide";}
  17. [...]//ici il y requette etc rien a voir avec le sujet  
  18. }
  19. mysql_close($base);
  20. ?>
  21. </div>
  22. <body>
  23. <form  method="post">
  24. <table width="295" height="194" border="0">
  25.   <tr>
  26.     <td height="62" colspan="6"> Connection à une base de donnée.</td>
  27.   </tr>
  28.   <tr>
  29.     <td width="125" height="24">Code Clients : </td>
  30.     <td width="160"><input name="mot" type="text" ></td>
  31.   </tr>
  32.   <tr>
  33.     <td height="24" >Mot de passe:</td>
  34.     <td><input name="pass" type="password"  ></td>
  35.   </tr>
  36.  
  37.   <tr>
  38.   <td height="43" colspan="2"  align="center">
  39.   <input type="submit" size="18" name="envoyer"  value="envoyer" ></td>
  40.  
  41.   </tr>
  42. </table>
  43. </form>
  44. </body>
  45. </html>


 
c'est du code test d'une page que j'ai fais pour commencer...

mood
Publicité
Posté le 14-06-2005 à 10:47:47  profilanswer
 

n°1119210
micfont999
Simplement Moi
Posté le 14-06-2005 à 10:55:23  profilanswer
 

ATTENTION !!!! Ton session start doit etre avant tout, meme pas un espace devant ni rien qui gène :  

Code :
  1. <?php
  2.     session_start();
  3. ?>


 
en début de code, ça enlèvera déjà ton erreur de sessions...

n°1119214
skeye
Posté le 14-06-2005 à 10:57:16  profilanswer
 

Et ce topic il te plaisait plus? :??:
http://forum.hardware.fr/hardwaref [...] 2192-1.htm


---------------
Can't buy what I want because it's free -
n°1119217
micfont999
Simplement Moi
Posté le 14-06-2005 à 11:00:33  profilanswer
 

lol je me suis posé la même question... ^^ :)

n°1119223
zit_zit
Posté le 14-06-2005 à 11:02:43  profilanswer
 

micfont999 a écrit :

lol je me suis posé la même question... ^^ :)


 
 
désolé  :ange:

n°1119227
zit_zit
Posté le 14-06-2005 à 11:06:00  profilanswer
 

non meme en mettant session_start au debut g les 2 erreurs...pfff :pt1cable:  
sa vien peut etre d'easy php tout simplement peut etre qu il faut que je jette un oeil sur php.ini??? :??:

n°1119230
micfont999
Simplement Moi
Posté le 14-06-2005 à 11:07:25  profilanswer
 

rohh normalement sur easy php les sessions sont activée dés le début.. Que donne le php info??

n°1119234
zit_zit
Posté le 14-06-2005 à 11:09:29  profilanswer
 

micfont999 a écrit :

rohh normalement sur easy php les sessions sont activée dés le début.. Que donne le php info??


 
le php info? :heink:  

n°1119237
skeye
Posté le 14-06-2005 à 11:10:16  profilanswer
 

zit_zit a écrit :

non meme en mettant session_start au debut g les 2 erreurs...pfff :pt1cable:  
sa vien peut etre d'easy php tout simplement peut etre qu il faut que je jette un oeil sur php.ini??? :??:


Tu n'a bien RIEN DU TOUT, PAS MEME UN ESPACE avant?:o


---------------
Can't buy what I want because it's free -
n°1119242
zit_zit
Posté le 14-06-2005 à 11:13:29  profilanswer
 

skeye a écrit :

Tu n'a bien RIEN DU TOUT, PAS MEME UN ESPACE avant?:o


 
 
ba g un espace <?[ici]session_start(); mais si je colle contre le ? sa fou la merde enfin sa ne reconnais pas un ouverture de script :bounce:  

n°1119243
skeye
Posté le 14-06-2005 à 11:14:27  profilanswer
 

zit_zit a écrit :

ba g un espace <?[ici]session_start(); mais si je colle contre le ? sa fou la merde enfin sa ne reconnais pas un ouverture de script :bounce:


 
avant le <?, évidemment, pas avant session_start()...:o


---------------
Can't buy what I want because it's free -
n°1119245
zit_zit
Posté le 14-06-2005 à 11:17:02  profilanswer
 

skeye a écrit :

avant le <?, évidemment, pas avant session_start()...:o


 

Code :
  1. <?php session_start();
  2. $base=mysql_connect("localhost","xxx","xxx" );


 
voici le code tel ... et les message d'erreur avec:
 
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at c:\program files\easyphp1-8\www\test_base_donnee.php:8) in c:\program files\easyphp1-8\www\test_base_donnee.php on line 9
 
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\program files\easyphp1-8\www\test_base_donnee.php:8) in c:\program files\easyphp1-8\www\test_base_donnee.php on line 9
 
 :cry:  :cry:

n°1119246
micfont999
Simplement Moi
Posté le 14-06-2005 à 11:17:14  profilanswer
 

Alors la session est merdique et ne récupère rien..

n°1119248
micfont999
Simplement Moi
Posté le 14-06-2005 à 11:18:07  profilanswer
 

Donne la ligne9 et un peu avt un peu après please ::: de 6 à 12 on va dire ... :)

n°1119250
skeye
Posté le 14-06-2005 à 11:18:31  profilanswer
 

Il y a vraiment uniquement ça dans ton fichier? :heink:


Message édité par skeye le 14-06-2005 à 11:18:38

---------------
Can't buy what I want because it's free -
n°1119252
zit_zit
Posté le 14-06-2005 à 11:18:39  profilanswer
 

micfont999 a écrit :

Alors la session est merdique et ne récupère rien..


 
 
ok et ...du coup je fais koi?? :??:

n°1119268
micfont999
Simplement Moi
Posté le 14-06-2005 à 11:26:07  profilanswer
 

zit_zit a écrit :

ok et ...du coup je fais koi?? :??:


 
Je viens de te le dire ^^  
Donne voir ton code de la ligne 6 à 12 please..
Merki :)  :D  

n°1119269
skeye
Posté le 14-06-2005 à 11:26:48  profilanswer
 

(moi je veux tout le code, pas seulement 5/6 lignes.:o)


---------------
Can't buy what I want because it's free -
n°1119277
zit_zit
Posté le 14-06-2005 à 11:30:58  profilanswer
 

Code :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <title>Document sans titre</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  6. </head>
  7. <div>
  8. <?php session_start();
  9. $base=mysql_connect("localhost","fredo","fred" );
  10. if((!empty($_POST["mot"]))&&(!empty($_POST["pass"])))
  11. {
  12.  mysql_select_db("test" );
  13.  $heur=date("G\:i\:s",time());
  14.  $requette= "insert into rens values('".$_POST["mot"]."','".$_POST["pass"]."','".date("j-m-Y" )."','"
  15.  .date("G\:i\:s",time())."')";
  16.  mysql_query($requette,$base)or die("mauvaise requette".mysql_error());
  17. }
  18. else
  19. {print "il faut remplir tout les champs";}
  20. mysql_close($base);
  21. ?>
  22. </div>
  23. <body>
  24. <form  method="post">
  25. <table width="295" height="194" border="0">
  26.   <tr>
  27.     <td height="62" colspan="6"> Connection à une base de donnée.</td>
  28.   </tr>
  29.   <tr>
  30.     <td width="125" height="24">Code Clients : </td>
  31.     <td width="160"><input name="mot" type="text" ></td>
  32.   </tr>
  33.   <tr>
  34.     <td height="24" >Mot de passe:</td>
  35.     <td><input name="pass" type="password"  ></td>
  36.   </tr>
  37.  
  38.   <tr>
  39.   <td height="43" colspan="2"  align="center">
  40.   <input type="submit" size="18" name="envoyer"  value="envoyer" ></td>
  41.  
  42.   </tr>
  43. </table>
  44. </form>
  45. </body>
  46. </html>


 
 
 
voila tout mon code ba bien complexe... :bounce:

n°1119279
skeye
Posté le 14-06-2005 à 11:32:03  profilanswer
 

ESPECE DE GROS BOULET§§§§§§§§§§§§§§§§§§§!!
 
ON A DIT RIEN DU TOUT AVANT§§§§§§§§§§§


---------------
Can't buy what I want because it's free -
n°1119280
skeye
Posté le 14-06-2005 à 11:32:30  profilanswer
 

(oui, j'avoue m'énerver un peu, mais je le voyais venir gros comme une maison...[:dawa])


---------------
Can't buy what I want because it's free -
n°1119282
micfont999
Simplement Moi
Posté le 14-06-2005 à 11:34:28  profilanswer
 

MDR ::: du calmeeee...

Code :
  1. <?php session_start(); ?>
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  3. <html>
  4. gnagnagna..


 
Voila comment procédé..
Quand on te disai avant c'est avant toute forme de vie extraterrestre (eu désolé je débloque, lol ) non mais plus sérieusement avant tout code de ta page... ^^
Voila :)

n°1119285
skeye
Posté le 14-06-2005 à 11:34:35  profilanswer
 

Rien du tout, ça veut aussi dire pas de  

Citation :


# <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
# <html>
# <head>
# <title>Document sans titre</title>
# <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
# </head>
# <div>


---------------
Can't buy what I want because it's free -
n°1119287
micfont999
Simplement Moi
Posté le 14-06-2005 à 11:36:28  profilanswer
 

skeye a écrit :

Rien du tout, ça veut aussi dire pas de  

Citation :


# <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
# <html>
# <head>
# <title>Document sans titre</title>
# <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
# </head>
# <div>



 
Bo c'est pas génant, peu etre pour le DOCTYPE, mais la suite ne dérange pas..  
 

n°1119291
skeye
Posté le 14-06-2005 à 11:38:58  profilanswer
 

micfont999 a écrit :

Bo c'est pas génant, peu etre pour le DOCTYPE, mais la suite ne dérange pas..


on parie?[:dawa]


---------------
Can't buy what I want because it's free -
n°1119297
plainsofpa​in
Pingouino's lover
Posté le 14-06-2005 à 11:42:00  profilanswer
 

+1 , tous avec skeye !
 
RIEN avant un session_start didiou !


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
n°1119300
micfont999
Simplement Moi
Posté le 14-06-2005 à 11:43:54  profilanswer
 

plainsofpain a écrit :

+1 , tous avec skeye !
 
RIEN avant un session_start didiou !


 
Crévindieu, mais je dit la même chose de ce coté la...
Mais après remettre le code html de base ne pose pas de problème, en tout cas ça ne m'en à jamais posé..  :sweat:

n°1119301
skeye
Posté le 14-06-2005 à 11:44:12  profilanswer
 

plainsofpain a écrit :

+1 , tous avec skeye !
 
RIEN avant un session_start didiou !


 
On notera au passage qu'il a la réponse sous les yeux depuis hier et qu'il aurait pu s'il avait un tout petit peu essayé de comprendre se démerder tout seul...:o
 
http://forum.hardware.fr/forum2.ph [...] 5#t1118075


---------------
Can't buy what I want because it's free -
n°1119306
skeye
Posté le 14-06-2005 à 11:45:37  profilanswer
 

micfont999 a écrit :

Crévindieu, mais je dit la même chose de ce coté la...
Mais après remettre le code html de base ne pose pas de problème, en tout cas ça ne m'en à jamais posé..  :sweat:


 
[:urd]
Tu as dû mal comprendre mon post. J'ai aps dit qu'écrire <html> etc. posait problème, j'ai dit que le faire avant session_start posait problème, même si la balise <?php n'était pas encore ouverte.


Message édité par skeye le 14-06-2005 à 11:48:15

---------------
Can't buy what I want because it's free -
n°1119307
micfont999
Simplement Moi
Posté le 14-06-2005 à 11:45:51  profilanswer
 

lol il devait etre fatigué...

n°1119311
zit_zit
Posté le 14-06-2005 à 11:46:55  profilanswer
 

skeye a écrit :

(oui, j'avoue m'énerver un peu, mais je le voyais venir gros comme une maison...[:dawa])


 
 
 
ok t enrve pas... :sweat: mais ou ??? de koi tu parle excuse moi  :sweat:

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  ne ps perdre un champ valide lors d'un post en php

 

Sujets relatifs
method post phpBase de données MYSQL et client MS ACCESS : Problème avec champ Date
Forcer un format de fichier dans un champ parcourir ?modifier des donné ds un champ via php
[ Réglé] Champ select et PHPproblème super space de POST
passage d'un champ saisie dans l'url (sans submit)Afficher message si duplicata de champ ID
Faire la somme des valeurs d'un champ<FORM method="POST" ENCTYPE="multipart/form-data">
Plus de sujets relatifs à : ne ps perdre un champ valide lors d'un post en php


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR