Apostrophe formulaire [PHP] - PHP - Programmation
Marsh Posté le 28-04-2009 à 10:01:35
pour enregistrer dans la bd
mysql_real_escape_string()
http://fr.php.net/mysql_real_escape_string
puis pour afficher
htmlspecialchars()
je me sert tout le temps de ca, ca marche niquel.
Marsh Posté le 28-04-2009 à 10:08:12
Bonjour tout le monde,
J'ai une question:je suis sur un projet d'interface pour une base de donnée oracle avec le langage PHP et j'airais voulu savoir comment faire pour enregistrer des information d'une page après avoir filtré ou fait un tri sur une colonne par example ?
j'ai vraiment besoin de votre aide
merci d'avance!
Marsh Posté le 28-04-2009 à 10:13:17
moumoune81 a écrit : Bonjour tout le monde, |
c'est a dire?
c'est un peu large comme question quand meme
c'est quoi ton souci? tu arrive pas a te connecter a la bd, t'arrive pas a faire le formulaire,
(crée un sujet personnel, ta question n'a rien a voir le sujet actuel)
Marsh Posté le 28-04-2009 à 10:18:20
merci infoman64...
mon souci n'est pas dans l'insertion dans la BDD... c'est même avant...
je m'explique :
j'ai mon formulaire, l'utilisateur le saisit...
ensuite, la page du action du form fait des verifications sur chaque champ pour voir s'il est conforme...
s'il ne l'est pas, je reviens en arriere en affichant dans chaque champs les valeurs déjà saisies...
et c'est en affichant ces valeurs déjà saisies que je perds de l'info quand il y a un apostrophe...
Marsh Posté le 28-04-2009 à 10:23:22
oui, t'as raison mais je ne sais pas trop où me diriger pour avoir une réponse, je suis nouvelle dans la programmation,j'efectue un stage qui consiste à faire une interface pour une base de donnée oracle avec du php que je connais pas biensur, mais pour l'instant je suis arrivée à me connecter et j'ai fais construire mes propre requetes sql sur la page php mais le souci c'est que lorsque je fait executer ma requete qui fait le tri avec un bouton que j'ai créé, les colonne triées ne sont pas enregistrées et je ne sais pas comment faire ?????
Marsh Posté le 28-04-2009 à 10:23:29
donc si je comprends bien
l'utilisateur saisies ces infos
il valide
ta page vérifie les champs, si ils sont pas bon,
tu redirige sur la précédente page, où tu remplis les champs avec les valeurs saisies par l'utilisateur
et la si tu as une apostrophe dans la valeur
tu pert ce qui est aprés l'apostrophe c'est ca?,
si c'est ca, tu les perds pas, regarde la source de ta page web , en faite, elles y sont mais n'apparaissent pas vu qu'elle sont aprés les guillemets de fermeture de l'option value
moi je fait ca
<input type="text" name="monchamp" value="<? echo htmlspecialchars($mavaleur);?>" />
Marsh Posté le 28-04-2009 à 10:25:06
moumoune81 a écrit : oui, t'as raison mais je ne sais pas trop où me diriger pour avoir une réponse, je suis nouvelle dans la programmation,j'efectue un stage qui consiste à faire une interface pour une base de donnée oracle avec du php que je connais pas biensur, mais pour l'instant je suis arrivée à me connecter et j'ai fais construire mes propre requetes sql sur la page php mais le souci c'est que lorsque je fait executer ma requete qui fait le tri avec un bouton que j'ai créé, les colonne triées ne sont pas enregistrées et je ne sais pas comment faire ????? |
http://forum.hardware.fr/hfr/Progr [...] _sujet.htm
voila créer ton propre sujet, ca sera plus simple au lieu d'etre au milieu de celui ci
Marsh Posté le 28-04-2009 à 10:26:52
je ne suis pas la bienvenue alors merci
Marsh Posté le 28-04-2009 à 10:28:23
moumoune81 a écrit : je ne suis pas la bienvenue alors marci |
si t'es la bienvenue, mais ca sera plus simple
pour toi, et pour ce qui vont t'aider d'avoir un sujet rien que a toi,
sans devoir chercher au milieu des reponses de quel sujet on parle
Marsh Posté le 28-04-2009 à 10:37:58
c'est exactement mon pb infoman...
par contre, mes champs sont déjà déclarés dans un "echo" donc j'ai :
<input name='nom' value='$nom' type='text' size='20' />
Marsh Posté le 28-04-2009 à 10:41:49
et si je fais ca :
<input name='nom' value='".htmlspecialchars($nom)."' type='text' size='20' />
ca ne fonctionne tjrs pas...
Marsh Posté le 28-04-2009 à 10:55:53
quand je fais ca, dans mon echo :
<input name='nom' value='".htmlspecialchars($nom, ENT_QUOTES)."' type='text' size='20' />
ca ne fonctionne pas... je n'ai tjrs que les lettres avant l'apostrophe...
Marsh Posté le 28-04-2009 à 10:57:03
Si j'ai bien compris ton problème c'est ça :
Utilise ceci pour les apostrophes : addslashes($TaVariable);
Et pour récupérer sans les "\" fait avec : stripcslashes($TaVariable)
Marsh Posté le 28-04-2009 à 11:00:45
<input name='nom' value='".htmlentities($nom, ENT_QUOTES)."' type='text' size='20' />
ne fonctionne pas non plus...
pour les addslashes / stripslashes, je vois pas où les mettre...
Marsh Posté le 28-04-2009 à 13:27:29
apres tu peut au lieu de mettre de simple cote mettre des doubles quotes pour l'option value, et la htmlspecialchar marche
Marsh Posté le 28-04-2009 à 14:06:44
si je mets :
<input name='nom' value=".htmlspecialchars($nom)." type='text' size='20' />
a l'affichage, il me met : type='text' dans le champs !!! la blague !!
Marsh Posté le 28-04-2009 à 14:10:52
nan mais
je disais comme ca
echo "<input name=\"nom\" value=\"".htmlspecialchars($nom)."\" type=\"text\" size=\"20\" /> ";
ou comme ta solution
echo "<input name='nom' value=\"".htmlspecialchars($nom)."\" type='text' size='20' />";
je l'avoue c'est moche de faire comme ca, mais au moins ca marche
Marsh Posté le 28-04-2009 à 14:31:29
tu vas rire...
mais cela ne fonctionne pas...
je vais pleurer, je pense !
Marsh Posté le 28-04-2009 à 14:55:18
hein ca fonctionne pas
meme le second?
montre ton code ou tu recupere et ou tu remets
Marsh Posté le 28-04-2009 à 14:56:23
J'ai peut-être pas tout suivi mais ceci marcherait non :
?>
<input name='nom' value='
<?php
echo $nom;
?>
'type='text' size='20' />
<?php
Marsh Posté le 28-04-2009 à 15:00:06
c'est bon en fait...
boulet !!!
comme je la renvoyais par un champs hidden, il fallait que je repercute le mm code !!
ouffff !!!
un GRAND merci a toi !!!
Marsh Posté le 28-04-2009 à 15:03:21
jay-jay69 a écrit : c'est bon en fait... |
oui gros boulet la quand même,lol
tant mieux si ca marche
Marsh Posté le 28-04-2009 à 15:04:04
par contre, maintenant, ca deconne dans l'insertion dans sql...
faut utiliser ca, non ?
mysql_real_escape_string ?
Marsh Posté le 28-04-2009 à 15:05:24
ouais moi j'utilise ca
comme ca dans la base les données sont propres, il ya pas de \ ou truc du genre
c'est vraiment identique que ce qu'a tapé l'utilisateur
et apres a l'affichage
htmlspecialchar et hop tout est niquel
Marsh Posté le 28-04-2009 à 15:06:11
tu l'utilises a quel moment ? j'suis pas sur d'avoir capté...
Marsh Posté le 28-04-2009 à 15:11:51
ben moi si tu veut
une fois le formulaire validé
dans ma page ou je traite mes données
bon je recupere ma donnée
puis au moment de faire l'insertion en bd dans la requete
je fais par exemple
insert into matable values('".mysql_real_escape_string($mavaleur)."','titi');
Marsh Posté le 28-04-2009 à 15:14:41
oki... impecc...
ca roule comme sur des roulettes !!
merci bcp chef !!!
a bientot !!
Marsh Posté le 28-04-2009 à 09:53:26
hello,
j'ai un petit souci dans la gestion d'un formulaire... j'ai plusieurs champs sur lesquels les utilisateurs peuvent saisir des apostrophes...
j'ai fait plusieurs recherches sur le net et il faudrait utiliser :
htmlentities($nom);
puis,
html_entity_decode($nom);
Mais ca ne fonctionne pas... quand je fais mes tests sur mon formulaire et qu'il revient en arrière (par exemple, tous les champs n'ont pas été saisis), le champs où il y avait l'apostrophe est coupé...
Ou faut-il mettre ces fonctions ?
merci,