Formulaire de recommandation...

Eléphanteau du PHP | 31 Messages

25 juin 2006, 11:55

Salut

J'ai un script php pour faire un formulaire de recommandation mais il ne semble pas fonctionner ...

Code : Tout sélectionner

<?php if($_POST) { if(empty($_POST['nom']) OR empty($_POST['email']) OR empty($_POST['content'])) { echo "<p style='color: red; font-weight: bold;'>Veuillez remplir tous les champs.</p>"; } else { echo "<p style='color: red; font-weight: bold;'>Votre ami vient d'être prévenu.</p>"; } } ?> <form action='<?php echo $PHP_SELF; ?>' method='post'> <p>Votre nom<span style="color: red;">*</span> : <input type='text' name='nom' size='20' /><br /> L'email de votre ami(e)<span style="color: red;">*</span> : <input type='text' name='email' size='20' /><br /> Contenu<span style="color: red;">*</span> : <br /> <textarea name="content" cols="50" rows="10">Je te recommande le site http://<?php echo $_SERVER['HTTP_HOST']; ?> ! J'aimerais te faire découvrir ce site</textarea><br /> <span style="color: red;">* : Informations obligatoire</span><br /> <input type="submit" value="Recommander ce site" /></p> </form>
Si vous voyez de quoi ca peut venir... :roll: sachant que ce formulaire est dans une page rec.php qui est incluse dans une pseudo frame mais je ne pense pas que ça ai un rapport...

ps: quand je le teste, le formulaire s'affiche bien dans ma page, quand je clique sur "envoyer", je reviens à l'accueil de mon site, c'est a dire : le formulaire est sur rec.php "inclu" dans index.php (pseudoframe) et quand je clique je reviens à index.php...ET SURTOUT, je ne recois aucun mail :)

Ou si vous connaissez un script efficace valide xhtml bien sur...

merçi ...
Modifié en dernier par yank le 27 juin 2006, 11:39, modifié 2 fois.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

25 juin 2006, 12:28

Le "problème" vient à priori bien du fait que tu utilises des pseudo-frames. Lorsque tu soumets le formulaire tu l'envoi à $PHP_SELF qui correspond à la page que tu consultes actuellement, c'est à dire la page contenant la pseudo frame. En revanche, il n'y a aucune information quant à la page qu'elle inclue.
Du coup lorsque tu valides le formulaire il te renvoi juste sur la page index.php sans lui passer le paramètre permettant d'ouvrir le formulaire et d'exécuter ton code et l'envoi de mail :)

Il faudrait donc que tu ajoutes en champ hidden dans le formulaire (il sera envoyé en post) ou dans l'action du formulaire (pour le passer en get) l'attribut qui te permet d'ouvrir cette page depuis ta pseudo frame :)

chais pas si je suis très clair mais en gros tu devrais avoir quelque chose du genre :
<form action='<?php echo $PHP_SELF; ?>?laPageAInclure=rec.php' method='post'>
A adapter naturellement à ta pseudo frame :)

Eléphanteau du PHP | 31 Messages

25 juin 2006, 13:45

Salut

En effet, ça à l'air de venir de la, mais je ne parviens pas à "regler" le code que tu m'as donné...

Code : Tout sélectionner

<form action='<?php echo $PHP_SELF; ?>?=rec.php' method='post'>
J'ai mis ça mais apparement ça ne fonctionne toujours pas... :?

Merçi

Eléphanteau du PHP | 31 Messages

25 juin 2006, 13:53

bon pour finir j'ai mis

Code : Tout sélectionner

<form action='<?php echo $PHP_SELF; ?>?page=rec' method='post'
Donc la ca fonctionne, je vois bien le message qui me dit comme quoi mon ami a bien été prevenu mais par contre je ne recois pas le mail arfff