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

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Récupération d'un formulaires - pb avec espaces

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Récupération d'un formulaires - pb avec espaces

n°439898
tadzoa
Posté le 26-06-2003 à 10:30:29  profilanswer
 

Je suis en train de faire un truc tout con pour récuperer les valeurs d'un form...
 
Quand un champ obligatoire est pas rempli, il annonce dans une deuxieme page via empty() que tel ou tel champ n'est pas rempli, champ par champ, et si l'un des champs oblig. n'est pas rempli il recolle le formulaire en dessous, avec dans les champs les valeurs déja remplies précédemment, pour éviter d'avoir à les resaisir. Seuls les endroits ou c'etait pas rempli restent vides donc.
 
La problème que j'ai, c'est que certains de mes champs peuvent comporter des expressions à espaces, et si un autre champ n'est pas rempli et que le formulaire se raffiche, seul le premier mot de l'expression est réaffiché, tout ce qui est apres l'espace "saute" et donc le formulaire m'envoie des données incomplètes.
 
Comment faire ?

mood
Publicité
Posté le 26-06-2003 à 10:30:29  profilanswer
 

n°439933
dropsy
et bonne chance surtout...
Posté le 26-06-2003 à 10:48:54  profilanswer
 

tu dois avoir une erreur dans ton html, montres nous le code qui réaffiche le formulaire.

n°440031
tadzoa
Posté le 26-06-2003 à 11:54:45  profilanswer
 

donc le formulaire est envoyé en POST a une autre page, à partir de la un if pour verifier si l'un des champs obligatoire est vide, et si tout est rempli, voila un bout du formulaire qui est redonné
 
<TD ALIGN=LEFT VALIGN=MIDDLE><INPUT TYPE=text NAME=artistemp3 SIZE=40 class=liste value=$artistemp3>
 
je lui redonne la valeur entrée lors de la premiere saisie via le value=$var
 
ca marche nickel kan il y a pas d'espace possible, mais la c'est censé etre un artiste et un titre de musique, donc il y a souvent des espaces...

n°440061
burgergold
5$? va chez l'diable!
Posté le 26-06-2003 à 12:10:20  profilanswer
 

tadzoa a écrit :

donc le formulaire est envoyé en POST a une autre page, à partir de la un if pour verifier si l'un des champs obligatoire est vide, et si tout est rempli, voila un bout du formulaire qui est redonné
 
<TD ALIGN=LEFT VALIGN=MIDDLE><INPUT TYPE=text NAME=artistemp3 SIZE=40 class=liste value=$artistemp3>
 
je lui redonne la valeur entrée lors de la premiere saisie via le value=$var
 
ca marche nickel kan il y a pas d'espace possible, mais la c'est censé etre un artiste et un titre de musique, donc il y a souvent des espaces...


 
en perl je fais ca, je fais un if sur la chaine en remplacant les " " par "". Si la chaine n'a aucun caractère apres ca, soit "", bin je réaffiche le formulaire avec les données


---------------
http://www.boincstats.com/signature/user_664861.gif
n°440148
skylight
Made in France.
Posté le 26-06-2003 à 13:12:24  profilanswer
 

tadzoa a écrit :

donc le formulaire est envoyé en POST a une autre page, à partir de la un if pour verifier si l'un des champs obligatoire est vide, et si tout est rempli, voila un bout du formulaire qui est redonné
 
<TD ALIGN=LEFT VALIGN=MIDDLE><INPUT TYPE=text NAME=artistemp3 SIZE=40 class=liste value=$artistemp3>
 
je lui redonne la valeur entrée lors de la premiere saisie via le value=$var
 
ca marche nickel kan il y a pas d'espace possible, mais la c'est censé etre un artiste et un titre de musique, donc il y a souvent des espaces...


 
 
echo '<TD ALIGN="LEFT" VALIGN="MIDDLE"><INPUT TYPE="text" NAME="artistemp3" SIZE="40" class="liste" value="' . $artistemp3 . '" />';
 
ca marchera tout de suite mieux :)

n°440154
dropsy
et bonne chance surtout...
Posté le 26-06-2003 à 13:16:45  profilanswer
 

Code :
  1. <TD ALIGN=LEFT VALIGN=MIDDLE><INPUT TYPE='text' NAME='artistemp3' SIZE='40' class='liste' value='<?=$artistemp3?>'>


 
ça sera mieux comme ça ;)


Message édité par dropsy le 26-06-2003 à 13:17:37
n°440244
tadzoa
Posté le 26-06-2003 à 14:06:48  profilanswer
 

si j'ai jarté les " c'est paske c'est dans un echo()
 
en fait j'ai un peu changé la syntaxe pour simplifier..
 
Sur la deuxieme page (apres premier envoi de formulaire), pour chaque champ, il vérifié s'il est vide.
 
Si le champ est vide, il remet le INPUT pour pouvoir entrer de nouveau ce qu'on a oublié
 
Si le champ est renseigné, il affiche le résultat, et j'utilise un INPUT HIDDEN pour que la variable soit envoyée lors de la validation du formulaire pour la deuxieme fois.
 
Donc en gros ca donne ca :  
 
 <TR>
      <TD ALIGN=RIGHT VALIGN=MIDDLE class=resultg>Artiste :&nbsp;</TD>
       
<? if(empty($artistemp3))  
{  
echo("<TD ALIGN=LEFT VALIGN=MIDDLE><INPUT TYPE=text NAME=artistemp3 SIZE=40 class=liste></td>" );  
}  
else  
{  
echo("<td class=resultd>$artistemp3<INPUT TYPE=hidden NAME=artistemp3 VALUE=$artistemp3></td>" );  
} ?>
     
</TR>
 
Ca ne change toujours rien, il manque toujours ce qui est apres l'espace, une fois le formulaire envoyé.
 
J'essaie le  
value=' . $artistemp3 . '
et je vous tiens au courant

n°440252
skylight
Made in France.
Posté le 26-06-2003 à 14:09:37  profilanswer
 

tu le fais expres ?
 
pour que les espaces soient traités, dans ton HTML, tu dois avoir
 
<input type="type" name="nom" value="toto">
 
en gros, tu dois mettre des GUILLEMETS autour des parametres des champs...
 
 
echo '<input type="type" name="nom" value="' . $toto . '">';

n°440584
xkamui
Their Destiny Was Foreordained
Posté le 26-06-2003 à 17:46:56  profilanswer
 

sinon, il te suffit d'échapper les " par un \
 
par exemple :

Code :
  1. echo "<input type=\"text\" name=\"name\" value=\"".$val."\" />";


Message édité par xkamui le 26-06-2003 à 17:47:07
n°440632
Peaceiznot​die13
Je sens que ca vient
Posté le 26-06-2003 à 18:07:29  profilanswer
 

a mon avis c pas tellement tout c la le probleme...
 
faut que tu fasse un htmlentities(urlencode($tavar)) pour les champs du formulaire... et pour le récupérer tu fais un urldecode($tavar)  
 
le htmlentities est pas obligatoire ... mais bon il est préférable de le mettre...

mood
Publicité
Posté le 26-06-2003 à 18:07:29  profilanswer
 

n°440962
belgique
Posté le 26-06-2003 à 22:45:09  profilanswer
 

:non: passe bien ton formulaire en méthode POST et fais
 

Code :
  1. echo '<TD ALIGN="LEFT" VALIGN="MIDDLE"><INPUT TYPE="text" NAME="artistemp3" SIZE="40" class="liste" value="'.htmlentities($artistemp3).'">';

 
Après pense aussi à mettre tes paramètres html en minuscules.


Message édité par belgique le 26-06-2003 à 22:46:24

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

  [PHP] Récupération d'un formulaires - pb avec espaces

 

Sujets relatifs
PHP : Couper une phraseAutomatiser la récupération d'infos sur le site des Pages Jaunes...
[SQL et C#] Récupération d'un numéro de session[SQL et C#] Récupération d'un numéro de session
[SQL et C#] Récupération d'un numéro de session[PHP] fonction split et exp reg
pitit script PHP[PHP] Ping d'un nom Netbios en PHP
[ PHP ] Notice: Use of undefined constant nom - assumed 'nom'[PHP] utilité de isset?
Plus de sujets relatifs à : [PHP] Récupération d'un formulaires - pb avec espaces


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR