valider un formulaire avec un lien

Eléphant du PHP | 161 Messages

19 avr. 2005, 10:30

Salut tout le monde :)
Mon pb est tout con, je veux juste valider un formulaire en cliquant sur un lien.
Les valeurs de ce formulaire doivent ensuite me permettre d'envoyer un mail
donc voila jai fait ce petit test sans succes ! :/
<?php 
include("inc.function.php");
if(isset($_POST['adressee']) && isset($_POST['message']) && isset($_POST['title'])) {
		if(isset($_SESSION['email'])) {
				$headers  = 'From: '.$_SESSION['email']."\n";
				$headers .= 'Reply-To: '.$_SESSION['email'];
		}
		else {
				$headers  = "From: [email protected]\n";
				$headers .= "Reply-To: [email protected]";
		}
		$message  = $_POST['message'];
		mail('[email protected]', 'Broken link', $message, $headers);
}
?>
<html>
<head>
</head>

<body>
<FORM ACTION="<?php getUrl();?>" METHOD="POST" NAME="email" TARGET="_blank">
<input type="hidden" name="adressee" value="[email protected]"> 
<input type="hidden" name="message" value="Test envoie de mail"> 
<input type="hidden" name="title" value="title test"> 
<A HREF="javascript:document.email.submit()">Valider</A></FORM>
</body>

</html>
Mais voila ca marche pas :s
Je sais pas si qq1 aurait une idée de ce qui chie?
Merci d'avance :)

ps : getUrl() c'est juste une ptite fonction que j'ai faite qui remplace $_SERVER['REQUEST_URI'] vu qu'elle est disponible avec apache mais pas IIS.

Invité
Invité n'ayant pas de compte PHPfrance

19 avr. 2005, 15:44

je voi pas pour quoi tu teste les varible $_POST puis apres tu utilise $_SESSION pour quoi pas ?? si tu veux recuper la varible de ton fomuliaire sa $_SESSION['email'] renplacer par $_POST[''email'] valble pour l Otre ;-) puis autre chose il faut bien respecter
 \r\n
dans les entetes des protocoles mail tu devrais trouver la reponse sur les cette page http://www.nexen.net/docs/php/annotee/function.mail.php

Eléphant du PHP | 161 Messages

19 avr. 2005, 16:25

Bah parce que sinon a chaque fois que j'afficherai la page, il enverrait un mail ce qui est pas trop le but.. :)

apres jverifie session parce que je veux voir si l'utilisateur est loggué. si oui ca sera son nom qui sera mis comme expéditeur sinon ca sera un nom générique ! voila :)

la fonction mail marche si je la lance séparément du formulaire c'est juste le probleme du click sur le lien qui marche pas et me casse les c...... :lol:

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

19 avr. 2005, 17:13

à tout hasard :

Code : Tout sélectionner

<A HREF="javascript:document.email.submit();">Valider</A>
(un petit ; en plus)

sinon essaye de voir ce que donne un click sur ton lien dans une console javascript (il y a une avec Firefox)

Petit nouveau ! | 9 Messages

19 avr. 2005, 17:31

pour explication des varible de la session ok il faut penser aussi que utilisateur peut recharger ta page avec le bouton actualiser du navigateur et la il manque un bout de code :-)
jj ai poster une solutiion qui doit marcher http://www.phpfrance.com/forums/voir_su ... submit.php
j ai teste ton fomulaire avec mon firefox et sa marche 1 idée pour uqoi sa marche pas pas le bon file dans linge poste. je rigol :-) ou tu un bloker de poper un truc comme sa. pasque moi sa souvre sur une autre fenetre. j esper que tu trouvera la repose dans le l autre poste que j ai mi et moi sa souvre toujour dans la meme fenêtre. a+ pour le la route [php] <body bgcolor="white" text="black" link="blue" vlink="green" alink="red">

<form method="post" action="yourfile" name="formulaire">

<input type="hidden" name="varnameeeeeeeeeee" value="valueeeeeeeee">

<input type="submit" name="submit" style="visibility:hidden">
<INPUT TYPE="image" SRC="http://high.free.fr/smal/thumbnails/etoilebleu.jpg" VALUE="Go">

</form> [/php]

Petit nouveau ! | 9 Messages

19 avr. 2005, 17:36

il manque un bout
<a href="javascript:document.forms.formulaire.submit.click()">....link txt suite.................. </a>

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

19 avr. 2005, 17:39

relis toi quand tu postes : saute des lignes et corrige tes fautes, on comprend rien

Eléphant du PHP | 161 Messages

20 avr. 2005, 11:17

merci les gens d'avoir matté.

bien vu le ; !
maintenant le script se lance mais il m'envoie sur une erreur 404!!! :(

et je comprend pas il me met cet url dans la barre d'adresse
http://monserver/<br%20/><b>Notice</b>: ... >test2.php?

ce qui voudrait dire que j'ai une erreur a la ligne 8 qui correspond a :
                $headers .= 'Reply-To: '.$_SESSION['email'];
        } //cette ligne la 8||
        else { 
bouuuuuuuuh

Eléphant du PHP | 161 Messages

20 avr. 2005, 11:25

Argh le con l'erreur viens de ma fonction getUrl()
si ya pas de paramettre dans l'url elle renvoie une erreur!

a pu de pb :)