Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/02/2007, 20h19   #1
Nouveau Membre du Club
 
Inscription : mars 2002
Messages : 65
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 65
Points : 26
Points : 26
Par défaut Submit n'envoie pas les paramètres

Voila, j'ai un guestbook sur lycos, mais comme il se rempli maintenant quotidiennement de pubs et de messages générés par robots inutiles, j'ai décidé de créer un CAPTCHA (image de vérification générée).

J'ai donc changé de serveur pour un gratuit qui offre la librairie GD (nécessaire pour l'image).

J'ai donc transféré la BD, et les fichiers php (en prenant soin de modifier l'addresse des liens pour coincider avec le nouveau serveur).

Mais voila ce qui arrive, mon captcha fonctionne a merveille, mais le submit n'envoie plus les données du formulaire à la page php qui valide et ajoute le message a la bd. Le code est EXACTEMENT le même que sur lycos (mis a part les addresse) alors je ne vois pas pourquoi ca ne fonctionne pas... le forum de mon nouveau serveur n'arrive pas a répondre on dirais...

voici le code, qui semble ne pas avoir d'erreur:

Formulaire:

Code html :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<form name="formulaire" action="http://fragments.redby.info/guestbook/posterGuestbook.php" method="post"> 
      <table bgcolor="303030"> 
         <tr bgcolor="black"><td>Nom:</td><td colspan="2"><input type="text" size="30" name="nom"></td></tr> 
         <tr bgcolor="black"><td>E-Mail:</td><td colspan="2"><input type="text" size="30" name="email"></td></tr> 
         <tr bgcolor="black"><td>Origine:</td><td colspan="2"><input type=""text" size="30" name="origine"></td></tr> 
         <tr bgcolor="black"><td>Message:</td><td colspan="2"><textarea rows='5' cols='30' name="message"></textarea></td></tr> 
         <tr bgcolor="black"><td>Vérification:</td><td><input type="text" size="15" name="codeimage"></td><td><img src="http://fragments.redby.info/guestbook/image.php"></td></tr> 
      </table> 
      <input type="button" onClick="valider()" value="Soumettre"> 
      <p></form> 
 
<script language="javascript"> 
function valider(){ 
   if(document.formulaire.nom.value == "" || document.formulaire.message.value == ""){ 
      alert("Vous devez impérativement remplir les champs 'Nom' et 'Message' pour poster dans le Guestbook."); 
   } 
   else{document.formulaire.submit();} 
} 
</script>

et la page qui recoit:

Code PHP :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//Remplace les '\n' par des "<br>" dans le message 
$mess = eregi_replace("[\n]", "<br>", $message); 
 
//récupère l'addresse du client 
if(isset($_SERVER["REMOTE_ADDR"])) { // Si on peut déterminer l'adresse IP 
$ip_en_cours = $_SERVER["REMOTE_ADDR"]; 
} 
else { // sinon 
$ip_en_cours = "Non identifiable"; 
} 
 
if (eregi("http://", $mess)) { 
    echo "on accepte plus de liens, depuis le spam"; 
    $req = "INSERT INTO addressesLouches (adresseIP, date) VALUES ('$ip_en_cours', NOW());"; 
    $result = mysql_query($req); 
    mysql_close(); 
} 
else if(eregi(".com", $mess)){ 
    echo "on accepte plus de liens, depuis le spam"; 
    $req = "INSERT INTO addressesLouches (adresseIP, date) VALUES ('$ip_en_cours', NOW());"; 
    $result = mysql_query($req); 
    mysql_close(); 
} 
else if (strlen($mess)<5){ 
    echo "votre message doit contenir au moins 6 caractère<br>"; 
    echo $mess; 
    $req = "INSERT INTO addressesLouches (adresseIP, date) VALUES ('$ip_en_cours', NOW());"; 
    $result = mysql_query($req); 
    mysql_close(); 
} 
// si le code ne correspond pas à celui déjà stocké dans la variable de session après l'avoir hashé avec md5() comme l'autre 
else if(md5($codeimage) != $_SESSION['code_image']){ 
    // on affiche une erreur 
    echo "vous n'avez pas entré le bon code de validation, veuillez réessayer<p>"; 
    echo "you entered a wrong validation code, please try again"; 
} 
 
else{ 
 
//Affichage normal de la page

Le submit du formulaire donne ceci comme message:
"votre message doit contenir au moins 6 caractère"

j'ai essayé de remplacer la page du formulaire par ce qui suit, avec le même résultat...

Code html :
1
2
3
4
5
6
7
8
9
10
<form name="formulaire" action="http://fragments.redby.info/guestbook/posterGuestbook.php" method="post"> 
      <table bgcolor="303030"> 
         <tr bgcolor="black"><td>Nom:</td><td colspan="2"><input type="text" size="30" name="nom"></td></tr> 
         <tr bgcolor="black"><td>E-Mail:</td><td colspan="2"><input type="text" size="30" name="email"></td></tr> 
         <tr bgcolor="black"><td>Origine:</td><td colspan="2"><input type=""text" size="30" name="origine"></td></tr> 
         <tr bgcolor="black"><td>Message:</td><td colspan="2"><textarea rows='5' cols='30' name="message"></textarea></td></tr> 
         <tr bgcolor="black"><td>Vérification:</td><td><input type="text" size="7" name="codeimage"></td><td><img src="http://fragments.redby.info/guestbook/image.php"></td></tr> 
      </table> 
      <input type="submit" value="Soumettre"> 
      <p></form>


dans les deux cas, l'adresse de la page appelée est ceci:
http://fragments.redby.info/guestboo.../guestbook.php

au lieu de:
http://fragments.redby.info/guestboo...deimage=lecode

j'aurais vraiment besoin d'aide, car mon guestbook se rempli encore de merdes a tous les jours et personne ne semble avoir d'idées...
si le problème provient du serveur, est-ce que quelqu'un connais un autre serveur gratuit offrant un interpréteur php, un bd mysql et la librairie gd?
CinErarY est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2007, 22h41   #2
Membre Expert
 
Avatar de Seb33300
 
Homme Sébastien Alfaiate
Développeur Web
Inscription : janvier 2007
Messages : 1 330
Détails du profil
Informations personnelles :
Nom : Homme Sébastien Alfaiate
Âge : 26
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2007
Messages : 1 330
Points : 1 659
Points : 1 659
Ton script php ne récupere pas tes valeur saisie dans ton formulaire, il ne fait aue ajouter des adresse ip dans la base

aussi tu as du remarqué que la colorisation du texte a un probleme, il serais bien de le corriger, le probleme vien peut etre de la :

c'est un probleme de guillemet :

<input type=""text" size="30" name="origine">

il faut enlever un " pour donner :

<input type="text" size="30" name="origine">
Seb33300 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2007, 03h04   #3
Nouveau Membre du Club
 
Inscription : mars 2002
Messages : 65
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 65
Points : 26
Points : 26
Citation:
Ton script php ne récupere pas tes valeur saisie dans ton formulaire, il ne fait aue ajouter des adresse ip dans la base
c'est parce-que je ne vous ai pas écrit cette partie du code, le script ne se rend pas la... ça s'execute ici:

Code :
1
2
3
else{ 
 
//Affichage normal de la page
les variables arrivent a l'autre page vides (ou totalement inexistantes)

c'est pourquoi le script s'arrête ici:

Code :
1
2
3
else if (strlen($mess)<5){ 
    echo "votre message doit contenir au moins 6 caractère<br>"; 
    echo $mess;
je note d'ailleur que echo $mess; n'affiche rien du tout

pour le problème du guillemet, merci de l'info, je l'ai corrigé, mais le problème ne viens pas de la...
CinErarY est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2007, 09h01   #4
Membre chevronné
 
Avatar de J0r_x
 
Homme
Analyste - Programmeur
Inscription : mai 2006
Messages : 712
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Analyste - Programmeur
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : mai 2006
Messages : 712
Points : 607
Points : 607
Citation:
dans les deux cas, l'adresse de la page appelée est ceci:
http://fragments.redby.info/guestboo.../guestbook.php

au lieu de:
http://fragments.redby.info/guestboo...deimage=lecode
C'est normal tu utilises une methode POST, les paramètres ne sont pas passé dans l'URL, pour le faire il faut que tu utilises une méthode GET.
__________________
Aucune aide par MP, utilisez le forum.
J0r_x est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2007, 09h32   #5
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
ou sinon , recupere tes valeurs via la methode ou tu les envoi :

Code php :
1
2
//Remplace les '\n' par des "<br>" dans le message 
$mess = eregi_replace("[\n]", "<br>", $_POST['message']);
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h42.


 
 
 
 
Partenaires

Hébergement Web