|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : juin 2007 Messages : 8 ![]() |
Bonjour,
Voici mon problème, quand je clique sur envoyer, il ne se passe strictement rien , mon formulaire me renvoie sur la meme page mais normalement il doit inserer les informations dans ma base de données et les echo doivent s'afficher bref cela ne fonctionne pas Vous allez me dire vas voir dans les tutoriaux pour corriger ton probleme , c'est fait mais je ne vois toujours pas où est le problème , bref si vous pouviez m'aider ... Voici un bout de mon code (sachant que la connection à la base est déjà faite : Code php :
|
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
je pense que le problème vient du fait que "action" ne vaut jamais add. Il faut que ton action soit un champ input de type hiddent dans ton formulaire (ou mettre le nom action a ton submit, au choix) mais pas que ca soit dans la balise <form ... />
|
|
|
00
|
|
|
#3 | ||||
![]() ![]() Développeuse PHP/Java Inscription : avril 2007 Messages : 3 686 ![]() |
![]() Comme le dit koopajah, le nom de ton formulaire N'EST PAS une variable transmise par post. Pour coder ses suggestions : Code html :
Par ailleurs, je te conseille de n'utiliser le switch-case que si $action peut avoir plusieurs valeurs. Si vraiment tu as besoin d'utiliser des case, n'oublie les {} autour des blocs Code php :
__________________
Modératrice PHP Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) |
||||
|
|
00
|
|
|
#4 | |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
Citation:
|
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : juin 2007 Messages : 8 ![]() |
Merci ca marche, mais maintenant ce qui rentre dans chacun de mes champs dans ma base de données c'est : Array['Pseudo'] , Array['Mdp'] , etc
Et donc au bout de la deuxieme inscriptions , ca me met le pseudo existe deja |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
JE remplacerai ca :
Code php :
$requete=mysql_db_query($bdd,"select * from clients where Pseudo=\"$_POST\[\'Pseudo\'\]\"",$connexion) or die(mysql_error()); par ca Code php :
$requete=mysql_db_query($bdd,"select * from clients where Pseudo='" .$_POST['Pseudo'] "'",$connexion) or die(mysql_error()); et idem pour les autres lignes qui utilisent $_POST[] dans une requete. |
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Inscription : novembre 2004 Messages : 151 ![]() |
bonjour,
Personnellement pour plus de clarté j'écrirais les requete avec des simples quotes ... ca sert à rien d'écrire avec des doubles. |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
Comment ça, ca sert a rien ?
Il faut bien mettre des quotes autour de la requete, ET des quote autour de chaque valeur a insérer dans la table (si c'est du texte). Donc je trouve plus clair ca : Code :
"Select * FROM matable WHERE monchamp = '". $mavaleur . "'"; Code :
'Select * FROM matable WHERE monchamp = "'. $mavaleur . '"'; |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : juin 2007 Messages : 8 ![]() |
Les quotes sont censé remplacer les \ ?
Car le code que tu as filé marche pas |
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
ca veut dire quoi "ne marche pas"?
t'as une erreur sQL? ca te met pas les bonnes données dans la base? PArce que tu peux voir que dans mon exemple j'ai oublié un . juste avant le "'". Le but est effectivement de remplacer tes \ qui ne fonctionnent pas par quelquechose qui marche. Jusqu'a maintenant ce que faisait ta requete c'était de récupèrer la valeur de $_POST (donc Array) et ca t'affichait ensuite ['Pseudo'] apparemment. Or tu veux la valeur de $_POST['Pseudo'] donc le mieux c'est de sortir cette variable des " " pour qu'elle soit analysée correctement. |
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : juin 2007 Messages : 8 ![]() |
Ca marche avec le point que tu avais oublié mais c'est le meme problème, ca me rentre dans ma base Array['Pseudo'] , ...
Et au passage je te remercie de te pencher sur mon problème |
|
|
00
|
|
|
#12 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
Tu peux remontrer ton code modifié s'il te plait?
Et au passage, tu as bien vidé la base entre temps? |
|
|
00
|
|
|
#13 | ||
|
Invité de passage
![]() Inscription : juin 2007 Messages : 8 ![]() |
Oui j'ai vidé ma base
Voici mon code : Code php :
|
||
|
|
00
|
|
|
#14 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
Si tu regardes ta requete d'insertion dans la base, tu verras que tu n'as pas remplacé les $_POST[] proprement, tu as laissé les \ c'est normal que ca ne fonctionne tjs pas
(penses a mettre ton code en forme avec le bouton # pour qu'il soit lisible, stp! |
|
|
00
|
|
|
#15 | ||
|
Invité de passage
![]() Inscription : juin 2007 Messages : 8 ![]() |
Désolé je ne savait pas pour les balises # ^^
Sinon qu'est-ce que tu veux que je fasse sur cette ligne? : Code :
|
||
|
|
00
|
|
|
#16 | ||
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
La meme chose qu'avant, puisque ton problème est que le $_POST['qqch'] est mal interprété il faut faire la modif partout :
Code :
|
||
|
|
00
|
|
|
#17 |
![]() ![]() Développeuse PHP/Java Inscription : avril 2007 Messages : 3 686 ![]() |
Pour résumer : il faut que dans ta requête les valeurs soient entre quotes.
Ta requête étant une chaine de caractères, elle doit elle-même être entre quotes, tout en permettant l'interprétation des variables. Concernant ce dernier point, je te conseille d'aller voir ce sujet où le problème était assez proche du tien. (parce que je n'ai pas le courage de refaire l'explication sur les ", ' et autres concaténations Bon courage !
__________________
Modératrice PHP Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) |
|
|
00
|
|
|
#18 |
|
Invité de passage
![]() Inscription : juin 2007 Messages : 8 ![]() |
Merci ca marche, juste une derniere question , dans mon champs addresse , dans ma base g mis du type varchar et quand dans mon form je rentre une addresse avec une apostrophe (ex : rue de l'or ) Ca fais foiré mon insertion
|
|
|
00
|
|
|
#19 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
Ca empêche l'insertion de fonctionner, c'est un peu mieux que "ca fais foiré". Il faut que tu remplaces les caractères spéciaux (dont ') par \'. Pour ca il y a la fonction mysql_real_escape_string().
|
|
|
00
|
|
|
#20 |
|
Invité de passage
![]() Inscription : juin 2007 Messages : 8 ![]() |
C'est bon ca marche , merci beaucoup à ceux qui m'ont aider, en particulier koopajah merci beaucoup
La prochaine fois c'est moi qui vous aide ... enfin essaye xD Problème résolu , encore merci Amicalement Hulrick |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com