Page 1 sur 1

valider un formulaire avec un lien

Posté : 19 avr. 2005, 10:30
par Vianney
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.

Posté : 19 avr. 2005, 15:44
par Invité
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

Posté : 19 avr. 2005, 16:25
par Vianney
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:

Posté : 19 avr. 2005, 17:13
par ouckileou
à 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)

Posté : 19 avr. 2005, 17:31
par gregood2000
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]

Posté : 19 avr. 2005, 17:36
par gregood2000
il manque un bout
<a href="javascript:document.forms.formulaire.submit.click()">....link txt suite.................. </a>

Posté : 19 avr. 2005, 17:39
par ouckileou
relis toi quand tu postes : saute des lignes et corrige tes fautes, on comprend rien

Posté : 20 avr. 2005, 11:17
par Vianney
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

Posté : 20 avr. 2005, 11:25
par Vianney
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 :)