Formulaire + redirection
drjonesx
Messages postés
5
Statut
Membre
-
drjonesx -
drjonesx -
hello
je me permet de vous exposer un probleme que je n arrive pas a resoudre
j ai cree un ptit formulaire
Et je voudrais faire un test pour voir si tout est completer si oui redirection vers une page mapage.html et si pas retour au formulaire
Voici la page php
d'avance merci pour votre precieuse aide
DrJonesX
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
window.setTimeout("window.location=('javascript:history.go(-1)');",4000)
</script>
</head>
<body style="margin-left: 30; margin-right: 0; margin-top: 25; margin-bottom: 0">
<div id="content">
<div class="indent">
<div class="style1">
<div class="col-1 col-pad">
<div class="box">
<div class="tail-top">
<div class="tail-right">
<div class="tail-left">
<div class="corner-bottom-right">
<div class="corner-bottom-left">
<div class="corner-top-right">
<div class="corner-top-left">
<div class="indent2">
<h2>Merci de votre confiance!</h2>
<div class="container2">
<div class="col-1">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<br/> <br/>
</body>
<?php
$header="Info Contact";
$headers="From:"."\n";
$headers.='Content-type: text/html; charset=utf-8';
$nom=$_GET['name'];
$adresse=$_GET['adresse'];
$cp=$_GET['cp'];
$commune=$_GET['commune'];
$pays=$_GET['pays'];
$tel=$_GET['tel'];
$mail=$_GET['email'];
$votremail="mail@xxx.xx";
$sujet="Contact ";
$corpmail="bla bla bla";
// on verifie que la personne a entre son nom, son adresse mail,...
if ($nom=="Nom requis" or $adresse=="Adresse requis" or $cp=="Code postal requis" or $commune=="Commune requis" or $pays=="Pays requis" or $tel=="Tel requis" or empty($email))
echo "Veuillez compléter obligatoirement les champs suivants<br><br>";
{
$pt = strpos($mail,".");
$aro = strpos($mail,"@");
if($pt == '') {echo "Verifiez votre email<br>";}
elseif($aro == ''){echo "Verifiez votre email<br>";}
//Si tous les champs sont bien remplis, on vérifie que le format de l'adresse mail est valide
else {
if($nom=="Nom requis") { echo "Nom<br>" ;}
if($adresse=="Adresse requis") { echo "Adresse<br>" ;}
if($cp=="Code postal requis") { echo "Code postal<br>" ;}
if($commune=="Commune requis") { echo "Commune<br>" ;}
if($pays=="Pays requis") { echo "Pays<br>" ;}
if($tel=="Tel requis") { echo "Tél<br>" ;}
if($mail=="Email requis") { echo "Email<br>" ;}
// Si tout est OK, le mail est envoye au support technique.
else {
mail("$votremail","$sujet", "
<html>
<head>
<title>Formulaire</title>
$corpmail
</head>
<body>
<hr>
<br>
<b>Nom :</b> $name<br>
<b>Adresse :</b> $adresse<br>
<b>Code postal :</b> $cp<br>
<b>Commune :</b> $commune<br>
<b>Pays :</b> $pays<br>
<b>Tél :</b> $tel<br>
<b>Email :</b> $email<br>
<br>
<hr>
</body>
</html>" ,$headers);
echo "<meta http-equiv='refresh' content='5; url=../mapage.html'>" ; echo "tout est ok on va rediriger." ; }
}
}
?>
</html>
je me permet de vous exposer un probleme que je n arrive pas a resoudre
j ai cree un ptit formulaire
Et je voudrais faire un test pour voir si tout est completer si oui redirection vers une page mapage.html et si pas retour au formulaire
Voici la page php
d'avance merci pour votre precieuse aide
DrJonesX
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
window.setTimeout("window.location=('javascript:history.go(-1)');",4000)
</script>
</head>
<body style="margin-left: 30; margin-right: 0; margin-top: 25; margin-bottom: 0">
<div id="content">
<div class="indent">
<div class="style1">
<div class="col-1 col-pad">
<div class="box">
<div class="tail-top">
<div class="tail-right">
<div class="tail-left">
<div class="corner-bottom-right">
<div class="corner-bottom-left">
<div class="corner-top-right">
<div class="corner-top-left">
<div class="indent2">
<h2>Merci de votre confiance!</h2>
<div class="container2">
<div class="col-1">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<br/> <br/>
</body>
<?php
$header="Info Contact";
$headers="From:"."\n";
$headers.='Content-type: text/html; charset=utf-8';
$nom=$_GET['name'];
$adresse=$_GET['adresse'];
$cp=$_GET['cp'];
$commune=$_GET['commune'];
$pays=$_GET['pays'];
$tel=$_GET['tel'];
$mail=$_GET['email'];
$votremail="mail@xxx.xx";
$sujet="Contact ";
$corpmail="bla bla bla";
// on verifie que la personne a entre son nom, son adresse mail,...
if ($nom=="Nom requis" or $adresse=="Adresse requis" or $cp=="Code postal requis" or $commune=="Commune requis" or $pays=="Pays requis" or $tel=="Tel requis" or empty($email))
echo "Veuillez compléter obligatoirement les champs suivants<br><br>";
{
$pt = strpos($mail,".");
$aro = strpos($mail,"@");
if($pt == '') {echo "Verifiez votre email<br>";}
elseif($aro == ''){echo "Verifiez votre email<br>";}
//Si tous les champs sont bien remplis, on vérifie que le format de l'adresse mail est valide
else {
if($nom=="Nom requis") { echo "Nom<br>" ;}
if($adresse=="Adresse requis") { echo "Adresse<br>" ;}
if($cp=="Code postal requis") { echo "Code postal<br>" ;}
if($commune=="Commune requis") { echo "Commune<br>" ;}
if($pays=="Pays requis") { echo "Pays<br>" ;}
if($tel=="Tel requis") { echo "Tél<br>" ;}
if($mail=="Email requis") { echo "Email<br>" ;}
// Si tout est OK, le mail est envoye au support technique.
else {
mail("$votremail","$sujet", "
<html>
<head>
<title>Formulaire</title>
$corpmail
</head>
<body>
<hr>
<br>
<b>Nom :</b> $name<br>
<b>Adresse :</b> $adresse<br>
<b>Code postal :</b> $cp<br>
<b>Commune :</b> $commune<br>
<b>Pays :</b> $pays<br>
<b>Tél :</b> $tel<br>
<b>Email :</b> $email<br>
<br>
<hr>
</body>
</html>" ,$headers);
echo "<meta http-equiv='refresh' content='5; url=../mapage.html'>" ; echo "tout est ok on va rediriger." ; }
}
}
?>
</html>
A voir également:
- Formulaire + redirection
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Formulaire de reclamation instagram - Guide
- Confirmer le nouvel envoi du formulaire err_cache_miss ✓ - Forum Access
- Récupérer compte outlook sans formulaire - Forum Hotmail / Outlook.com
6 réponses
essayes avec cette methode ou le traitement et le formulaire sont sur la même page, traitement php au début et formulaire ensuite
j'ai pas testé, il peut subsister des erreur des saisie
j'ai pas testé, il peut subsister des erreur des saisie
<?php
//init variables de travail
$saisies_ok=0;
$msg_erreur="";
//si le formulaire est posté on recupere les valeurs saisies sinon on met celles par défaut (premier affichage)
if(isset($_POST['name'])) {$nom=$_POST['name'];}else{$nom="Nom requis";}
if(isset($_POST['adresse'])) {$nom=$_POST['adresse'];}else{$adresse="Adresse requise";}
if(isset($_POST['cp'])) {$cp=$_POST['cp'];}else{$cp="Code postal requis";}
if(isset($_POST['commune'])) {$commune=$_POST['commune'];}else{$commune="Commune requise";}
if(isset($_POST['pays'])) {$pays=$_POST['pays'];}else{$pays="Pays requis";}
if(isset($_POST['tel'])) {$tel=$_POST['tel'];}else{$tel="Tel requis";}
if(isset($_POST['email'])) {$mail=$_POST['email'];}else{$mail="Email requis";}
// on verifie que la personne a entre son nom, son adresse mail,...
if ($nom=="Nom requis" or $adresse=="Adresse requis" or $cp=="Code postal requis" or $commune=="Commune requis" or $pays=="Pays requis" or $tel=="Tel requis" or $mail=="Email requis")
{
$msg_erreur.= "Veuillez compléter obligatoirement les champs suivants:<br>";
if($nom=="Nom requis") { $msg_erreur.= "Nom<br>" ;}
if($adresse=="Adresse requis") { $msg_erreur.= "Adresse<br>" ;}
if($cp=="Code postal requis") { $msg_erreur.= "Code postal<br>" ;}
if($commune=="Commune requis") { $msg_erreur.= "Commune<br>" ;}
if($pays=="Pays requis") { $msg_erreur.= "Pays<br>" ;}
if($tel=="Tel requis") { $msg_erreur.= "Tél<br>" ;}
if($mail=="Email requis") { $msg_erreur.= "Email<br>" ;}
$saisies_ok=0;
}elseif{
//tous les champs sont remplis on verifie le format de l'adresse mail par une REGEX php
if(!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-zA-Z]{2,4}$#",trim($mail))){
$msg_erreur.="Le format de votre adresse Email n'est pas correct !";
$saisies_ok=0;
}else{
//tous les champs sont remplis et le format mail est bon
//donc toutes les saisies sont OK
$saisies_ok=1;
}
}
if($saisies_ok==1){
//tout OK on envoie le mail au support technique.
$header="Info Contact";
$headers="From:"."\n";
$headers.='Content-type: text/html; charset=utf-8';
$votremail="mail@xxx.xx";
$sujet="Contact ";
$corpmail="<html> <head> <title>Formulaire</title></head>";
$corpmail.="<body>blablabla";
$corpmail.="<hr>
<br>
<b>Nom :</b> $name<br>
<b>Adresse :</b> $adresse<br>
<b>Code postal :</b> $cp<br>
<b>Commune :</b> $commune<br>
<b>Pays :</b> $pays<br>
<b>Tél :</b> $tel<br>
<b>Email :</b> $email<br><br>
<hr>
</body>
</html>";
$envoi_mail=mail($votremail,$sujet,$corpmail,$headers);
if($envoi_mail){
header("Location:../mapage.html"); //redirection vers la page (ATTENTION aucune balise HTML ou autre caratère ou echo avant cette ligne sinon pb !)
}else{
$msg_erreur.="Le mail n'a pas pu être envoyé ";
}
}elseif($saisies_ok==0){
//c'est le premier affichage ou réaffichage suite à erreur de saisie
//on affiche le formulaire
?>
<html>
<body>
<form name="form1" method="post" action="">
<!-- en method POST c'est mieux ensuite apr action="" la page s'appelle elle même -->
<input type="text" name="name" value="<?php echo $nom; ?>" />
<input type="text" name="adresse" value="<?php echo $adresse; ?>" />
<!-- en procedant ainsi avec l'echo ce qui est déja sasie est réaffiché, fait pareil pour les uatres champs -->
<input type="submit" name="envoyer" value="Envoyer" />
<!-- message d'erreur eventuel -->
<?php
if($message_erreur !="") echo '<font color="red">'.$message_erreur.'</font>';
?>
</form>
</body>
</html>
<?php
} //fin elseif
?>
Merci Alain_42
Deux petite chose
la 1ere c est que le message d erreur ne s affiche pas et la seconde il n accepte aucun format email du coups pas de redirection possible :(
Pourrais tu jeter un coups d oeil?
Merci
Deux petite chose
la 1ere c est que le message d erreur ne s affiche pas et la seconde il n accepte aucun format email du coups pas de redirection possible :(
Pourrais tu jeter un coups d oeil?
Merci
voilà j'ai testé en vrai, ça marche (pas testé l'envoi du mail qui n'est pas opérationnel sur mon Wamp)
méfies toi tu mets parfois $name $nom
$email $mail
méfies toi tu mets parfois $name $nom
$email $mail
<?php
//init variables de travail
$saisies_ok=0;
$msg_erreur="";
//si le formulaire est posté on recupere les valeurs saisies sinon on met celles par défaut (premier affichage)
if(isset($_POST['name'])) {$nom=$_POST['name'];}else{$nom="Nom requis";}
if(isset($_POST['adresse'])) {$adresse=$_POST['adresse'];}else{$adresse="Adresse requise";}
if(isset($_POST['cp'])) {$cp=$_POST['cp'];}else{$cp="Code postal requis";}
if(isset($_POST['commune'])) {$commune=$_POST['commune'];}else{$commune="Commune requise";}
if(isset($_POST['pays'])) {$pays=$_POST['pays'];}else{$pays="Pays requis";}
if(isset($_POST['tel'])) {$tel=$_POST['tel'];}else{$tel="Tel requis";}
if(isset($_POST['email'])) {$mail=$_POST['email'];}else{$mail="Email requis";}
if(isset($_POST['envoyer'])){
//le bouton envoyer a ete clique, le formulaire a ete poste
// on verifie que la personne a entre son nom, son adresse mail,...
if ($nom=="Nom requis" or $adresse=="Adresse requis" or $cp=="Code postal requis" or $commune=="Commune requis" or $pays=="Pays requis" or $tel=="Tel requis" or $mail=="Email requis")
{
$msg_erreur.= "Veuillez compléter obligatoirement les champs suivants:<br>";
if($nom=="Nom requis") { $msg_erreur.= "Nom<br>" ;}
if($adresse=="Adresse requise") { $msg_erreur.= "Adresse<br>" ;}
if($cp=="Code postal requis") { $msg_erreur.= "Code postal<br>" ;}
if($commune=="Commune requise") { $msg_erreur.= "Commune<br>" ;}
if($pays=="Pays requis") { $msg_erreur.= "Pays<br>" ;}
if($tel=="Tel requis") { $msg_erreur.= "Tél<br>" ;}
if($mail=="Email requis") { $msg_erreur.= "Email<br>" ;}
$saisies_ok=0;
}else{
//tous les champs sont remplis on vérifie le format de l'adresse mail par une REGEX php
if(!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-zA-Z]{2,4}$#",trim($mail))){
$msg_erreur.="Le format de votre adresse Email n'est pas correct !";
$saisies_ok=0;
}else{
//tous les champs sont remplis et le format mail est bon
//donc toutes les saisies sont OK
$saisies_ok=1;
}
}
} //fin if formulaire posté
if($saisies_ok==1){
//tout OK on envoie le mail au support technique.
$header="Info Contact";
$headers="From:"."\n";
$headers.='Content-type: text/html; charset=utf-8';
$votremail="mail@xxx.xx";
$sujet="Contact ";
$corpmail="<html> <head> <title>Formulaire</title></head>";
$corpmail.="<body>blablabla";
$corpmail.="<hr>
<br>
<b>Nom :</b> $nom<br>
<b>Adresse :</b> $adresse<br>
<b>Code postal :</b> $cp<br>
<b>Commune :</b> $commune<br>
<b>Pays :</b> $pays<br>
<b>Tél :</b> $tel<br>
<b>Email :</b> $mail<br><br>
<hr>
</body>
</html>";
$envoi_mail=mail($votremail,$sujet,$corpmail,$headers);
if($envoi_mail){
header("Location:../mapage.html"); //redirection vers la page (ATTENTION aucune balise HTML ou autre caratère ou echo avant cette ligne sinon pb !)
}else{
$msg_erreur.="Le mail n'a pas pu être envoyé ";
}
}elseif($saisies_ok==0){
//c'est le premier affichage ou réaffichage suite à erreur de saisie
//on affiche le formulaire
?>
<html>
<body>
<form name="form1" method="post" action="">
<!-- en method POST c'est mieux ensuite apr action="" la page s'appelle elle même -->
<input type="text" name="name" value="<?php echo $nom; ?>" /><br />
<input type="text" name="adresse" value="<?php echo $adresse; ?>" /><br />
<input type="text" name="cp" value="<?php echo $cp; ?>" /><br />
<input type="text" name="commune" value="<?php echo $commune; ?>" /><br />
<input type="text" name="pays" value="<?php echo $pays; ?>" /><br />
<input type="text" name="tel" value="<?php echo $tel; ?>" /><br />
<input type="text" name="email" value="<?php echo $mail; ?>" /><br />
<br />
<input type="submit" name="envoyer" value="Envoyer" />
<!-- message d'erreur eventuel -->
<?php
if($msg_erreur !="") echo '<font color="red"><br />'.$msg_erreur.'</font>';
//j'avais mis $message_erreur au lieu de $msg_erreur
?>
</form>
</body>
</html>
<?php
} //fin elseif
?>
Effectivement je viens de constater que je melangais de l anglais avec du francais tout fonctionne
Encore une petite question comment puis je aller a la ligne ( jai essayer le <br> <br/> le \n ... et rien ne marche :(
Voici le code
En tout cas un grand merci a toi pour ton aide et ta preciseuse aide :)
Encore une petite question comment puis je aller a la ligne ( jai essayer le <br> <br/> le \n ... et rien ne marche :(
Voici le code
</body>
</html>";
$envoi_mail=mail($votremail,$sujet,$corpmail,$headers);
if($envoi_mail){
header( "refresh:5;url=e-Shop.html" );
echo 'je prendrai contact avec vous afin de vous avec ' .$product; ici je voudrais aller a la ligne pour continuer la suite de mon texte et si possbile en couleur rouge
En tout cas un grand merci a toi pour ton aide et ta preciseuse aide :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Etant debut je viens de faire un simple copier coller pour voir ce que fait le script et pouvoir l adapter mais j ai une erreur qui s affiche.
Parse error: syntax error, unexpected '{', expecting '(' in test.php on line 28
Egalement existe t il une sorte de deboggeur qui me permet de voir ce qui ce passe ligne par ligne en php afin de mieux comprendre le tout?
Merci Alain_42 pour ton aide et ta patiente