Pb PHP $_POST[]
Fermé
emmaus
-
22 avril 2008 à 11:18
gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 - 22 avril 2008 à 16:45
gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 - 22 avril 2008 à 16:45
A voir également:
- Pb PHP $_POST[]
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Bouton php - Forum PHP
- \R php ✓ - Forum PHP
- Php alert - Forum PHP
14 réponses
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
22 avril 2008 à 12:36
22 avril 2008 à 12:36
salut,
quel est le code de ton formulaire ?
pense à utiliser le bouton !
-;o)
quel est le code de ton formulaire ?
pense à utiliser le bouton !
-;o)
comment ca le "code de mon formulaire", c'est ca ?
<FORM name="formulaire" method="POST" action="register.php" enctype="text/plain" onSubmit="return testTotal(document.formulaire)"> <table> <tr> <td>Nom</td> <td><input type="text" name="nom" /></td> </tr> <tr> <td>Prénom </td> <td><input type="text" name="prenom" /></td> </tr> <tr> <td>email</td> <td><input type="text" name="email" /></td> </tr> <tr> <td>Mobile</td> <td><input type="text" name="mobile" /></td> </tr> <tr> <td><INPUT type="submit" name="buttontest" value="Envoyer"></td> </tr> </table> <br> </form>
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
22 avril 2008 à 14:34
22 avril 2008 à 14:34
oui, mais tout semble en ordre !…
essaie d'afficher ce que contient '$_POST' :
essaie d'afficher ce que contient '$_POST' :
<?php print_r( $_POST ); $newline="\r\n"; $file=fopen("register.txt","a"); $data=$_POST['nom'] . ";" . $_POST['prenom'] . ";" . $_POST['email'] . ";" . $_POST['mobile'] . $newline; fwrite($file,$data); fclose($file); ?>
j'ai essayé mais rien ne se passe...
cela me renvoie sur une page blanche, et dans mon .txt, toujours pareil, ";;;"
Merci de ta dispo en tt cas c'est simpa
cela me renvoie sur une page blanche, et dans mon .txt, toujours pareil, ";;;"
Merci de ta dispo en tt cas c'est simpa
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
22 avril 2008 à 15:30
22 avril 2008 à 15:30
ton script PHP est bien nommé 'register.php' ?
et tes variables ne seraient pas effecer par ta vérification en JS par hasard ?
essaie sans la fonction JS.
et tes variables ne seraient pas effecer par ta vérification en JS par hasard ?
essaie sans la fonction JS.
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
22 avril 2008 à 15:40
22 avril 2008 à 15:40
ah oui pardon, JS pour Javascript.
un bout de code appelé par 'onSubmit="return testTotal(document.formulaire)"'.
il faut l'enlever et tester pour savoir si ça vient de là.
un bout de code appelé par 'onSubmit="return testTotal(document.formulaire)"'.
il faut l'enlever et tester pour savoir si ça vient de là.
<FORM name="formulaire" method="POST" action="register.php" enctype="text/plain" onSubmit="return testTotal(document.formulaire)"> <table> <tr> <td>Nom</td> <td><input type="text" name="nom" /></td> </tr> <tr> <td>Prénom </td> <td><input type="text" name="prenom" /></td> </tr> <tr> <td>email</td> <td><input type="text" name="email" /></td> </tr> <tr> <td>Mobile</td> <td><input type="text" name="mobile" /></td> </tr> <tr> <td><INPUT type="submit" name="buttontest" value="Envoyer"></td> </tr> </table> <br> </form>
dans mon JV ;-), j'ai ces fonctions :
En tout cas, c'est simpa de m'aider
unction testTotal(form) { // teste tous les envois var OK = true; if(testEmail(form)==false) { OK = false; } if(testNomPrenom(form)==false) { OK = false; } if(testPhone(form) == false) { OK = false; } if (OK == true) { alert("Tous les champs ont été correctement remplis"); } } function testNomPrenom(form) { // teste si le nom et prenom sont valides var OK = true; if (form.nom.value == "") { alert("Le nom saisi n'est pas valide"); OK = false; } if (form.prenom.value == "") { alert("Le prenom saisi n'est pas valide"); OK = true; } return OK ; } function testEmail(form) {// teste si l'email est valide var OK = true; if ((form.email.value == "") || (form.email.value.indexOf('@') == -1)) { alert("L'email saisi n'est pas valide"); OK = false; } return OK; } function check(input, check) { var OK = true; for (var i=0;i<input.length;i++) { var chr = input.charAt(i); var found = false; for (var j=0;j<check.length;j++) { if (chr==check[j]) found = true; } if (!found) OK = false; } return OK; } function testPhone(form) { var OK = true; if (!check(form.mobile.value,["1","2","3","4","5","6","7","8","9","0","/","+","-"]) || (form.mobile.value == "")) { alert ("Le numero de telephone n'est pas valide"); OK = false; } return OK; }
En tout cas, c'est simpa de m'aider
même en mettant en commentaire toute la fonction TestTotal, ca ne marche pas. Je repete bien que j'ai le traitement dans un fichier lettre.php et à côté j'ai mon register.php.
Comment register.php sait que la variable "nom" existe??
En plus je la déclare même pas, sauf quand je fais
Je dois pas faire un output par exemple dans register.php ou un truc du genre??
Comment register.php sait que la variable "nom" existe??
En plus je la déclare même pas, sauf quand je fais
input type="text" name="nom"
Je dois pas faire un output par exemple dans register.php ou un truc du genre??
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
22 avril 2008 à 16:11
22 avril 2008 à 16:11
ton formulaire envoie les données par 'POST'.
donc chaque variable se retrouve dans le tableau '$_POST' à l'index 'name', le même que tu as précisé avec l'attribut 'name' de la balise '<input />'.
donc pour :
tu devrais retrouver la valeur dans le fichier 'script.php' avec '$_POST['nom'].
donc pour toi :
doit se trouver dans 'register.php'
donc chaque variable se retrouve dans le tableau '$_POST' à l'index 'name', le même que tu as précisé avec l'attribut 'name' de la balise '<input />'.
donc pour :
<form method="post" action="script.php"> <input name="nom" /> </form>
tu devrais retrouver la valeur dans le fichier 'script.php' avec '$_POST['nom'].
donc pour toi :
<?php $newline="\r\n"; $file=fopen("register.txt","a"); $data=$_POST['nom'] . ";" . $_POST['prenom'] . ";" . $_POST['email'] . ";" . $_POST['mobile'] . $newline; fwrite($file,$data); fclose($file); ?>
doit se trouver dans 'register.php'
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
22 avril 2008 à 16:28
22 avril 2008 à 16:28
essaie d'enlever "enctype="text/plain" dans le <form>.
et si ça marche tu pourras dire merci à Gryzzly !
-;o)
et si ça marche tu pourras dire merci à Gryzzly !
-;o)
MERCI A GRYZZLY!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Merci beaucoup ca marche, t'es énorme!
Merci beaucoup ca marche, t'es énorme!
gryzzly
Messages postés
4608
Date d'inscription
lundi 7 novembre 2005
Statut
Contributeur
Dernière intervention
24 octobre 2020
1 335
22 avril 2008 à 16:45
22 avril 2008 à 16:45
pas de quoi.