Amelioration formulaire php

Fermé
guiyom - 1 févr. 2009 à 18:54
 guiyom - 4 févr. 2009 à 09:59
Bonjour,
je voudrais faire un formulaire à remplir qui permet d'accéder à une page de téléchargement.
Malheureusement, je bloque sur plusieurs points.

Je souhaiterais qu'après validation du formulaire, l'internaute soit dirigé vers une page où il pourra télécharger les éléments en question.

Je souhaiterais également que l'internaute soit obligé de remplir les différents champs du formulaire.

Enfin et c'est surement le plus important, mon formulaire n'est pas visible sur safari ni sur internet explorer 7.

Si vous pouviez m'aider, je vous serez extremement reconnaissant.
D'avance merci!



<?php

$email_dest = "mail@hotmail.fr";

if ($_POST['envoi']) {

$message_remerciement = "Merci pour votre participation.";

// E-mail headers:
$headers ="MIME-Version: 1.0 \n";
$headers .="From: generiq_blog<mail@hotmail.fr>\n";


$headers .="Content-Type: text/html; charset=iso-8859-1 \n";

$subject = "confirmations";

$partie_entete = "<html><head>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
</head>
<body bgcolor=#FFFFFF>";

for ($a=1; $a<= $_POST['nbre_champs_texte']; $a++) {
$partie_champs_texte .= "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_champ'.$a] . " = " . $_POST['champ'.$a] . "</font><br>";
}

if ($_POST['nbre_zone_email'] != 0) {
$partie_zone_email = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_email'] . " = " . $_POST['zone_email'] . "</font><br>";
}

if ($_POST['nbre_zones_texte'] != 0) {
$partie_zone_texte = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_zone'] . " = " . $_POST['zone_texte'] . "</font><br>";
$partie_zone_texte = stripslashes($partie_zone_texte);
}

$fin = "</body></html>";

$sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_zone_texte . $fin;

// Send the e-mail
if (@!mail($email_dest,$subject,$sortie,$headers)) {
echo("Envoi du formulaire impossible");
} // Closing if !mail...

} // Closing if edit
?><html>
<head>
<title>Poster un commentaire sur le site GéNéRiQ Festival</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript"><!-- Hide script from older browsers
function verifSelection() {} // Fin de la fonction

</script>
</head>

<body bgcolor="#000000">
<form name="mail_form" method="post" action="<?=$PHP_SELF?>" onSubmit="return verifSelection()">
<div align="center"></div>
<p align="center">
<?php
if ($message_remerciement) {
echo("<font face=Verdana size=2 color=ffffff>");
echo(stripslashes($message_remerciement));
echo("</p></body></html>");
exit();
}
?>

2 réponses

zoby44 Messages postés 818 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 7 avril 2010 199
1 févr. 2009 à 21:08
Salut, bon, pour ce qui est d'une redirection, tu peux utiliser un truc dans ce genre :
<html>
	<head>	
		<script>
			lanceur = function() {
				setTimeout(tempo,5000); 
			}
			tempo = function() {
				window.location.href="mapage.html";
			}
		</script>
	</head>
	<body onload="lanceur();">
		Le message à été envoyé, vous allez être redirigé dans 5 secondes. Si ce n'est pas le cas, cliquez <a href="mapage.html">ici</a>.
	</body>
</html>


Pour la vérification, un script ici : http://www.editeurjavascript.com/scripts/scripts_formulaires_3_431.php

Après, pour ce qui est de formulaire qui ne s'affiche pas, je ne sais pas, dans ton bout de code il n'y a rien dans le formulaire.

Sinon, remplace <?$PHP_SELF;?> par <?php $_SERVER['php_self'];?>
Autrement, j'ai eut le droit à une erreur pour:
if ($POST['envoi'])

0
Merci pour ces eclaircissements zoby44. je vais tester tout ça et j'espère ne revenir sur le forum que pour dire que c'est réglé ;-)
Merci encore.
Bonne journée.
0