Comment changer de page aprés clic sur envoyé

g8436 -  
 g8436 -
Bonjour,
Bonjour,

J'ai un formulaire html . Il m'ouvre outlook et je reçois les données dans ma boite mail. ( le lendemain mais bon c'est pas grave)

Mon soucis c'est que lorsque le client rempli le formulaire et l'envoie ça reste sur cette page.

Je voudrais que lorsque le client est appuyé sur le bouton envoyer ça change de page et envoie la page merci

Quel code faut il que je mette au bouton envoyé et éventuellement sur la page merci si il y a lieu.
J'ai essayé un millier de choses que j'ai trouvé sur le net sans y arriver

Merci si quelqu'un veut bien regarder et me donner une réponse simple et explicite

voici le code (fait avec namo)

<form name="gratuitpagedevente" method="post" action="mailto:postmaster@lemeilleurdu-net.com"
enctype="text/plain">
<table width="445" align="center">
<tr>
<td width="130" align="right"><p><font size="2"><b>Prénom : </b></font></td>
<td width="311" align="left"><p><font size="2"><input
type="text" name=sender> </font></td>
</tr>
<tr>
<td width="130" align="right"><p><font size="2"><b>E-Mail : </b></font></td>
<td width="311"><p><font size="2"><input type="text"
name="email">
</font></td>
</tr>
<tr>
<td width="130" align="right"><p><font size="2"><b>Sujet
: </b></font></td>
<td width="311" align="left"><p><font size="2"><input
value="Kit gratuit page de vente" /> </font></td>
</tr>
<tr>
<td width="130" align="right" valign="top" rowspan="2" ><p> </td>
<td width="311"><font size="2"></font></td>
</tr>
<tr>
<td width="311" align="left"><p><font size="2"><input type="submit" value="envoyer">
<input type="reset" value="anuler"></font></td>
</tr>
</table></form>

6 réponses

Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
 
salut,

tu pourrais le faire avec un simple lien.

et pour aller vers une autre page, ça n'a pas de sens car ton visiteur peut très bien fermer le client de messagerie et ne pas envoyer de mail.

il n'y a pas de lien entre les deux applications.

il vaudrait mieux utiliser un formulaire de contact.
0
Nico_ Messages postés 1302 Statut Membre 189
 
bonsoir,

peut tu utiliser le php ?

si oui, voici un générateur de formulaire php

bonne soirée
0
g8436
 
Bonsoir

Merci de vos réponses

J'ai essayé le générateur que tu me donnes et ça marche super

ça envoie le message que je reçois bien

et sous le formulaire ça affiche bien "Votre message a été envoyé avec succès, merci! "
Mais j'aimerais leur envoyer le lien de téléchargement du produit en retour

Donc j'ai essayé de rajouter à suivre "Voici votre lien de téléchargement:http://www.lemeilleurdu-net.com/mPersPgV"

ça le marque mais le lien n'est pas cliquable. Qu'est ce que je peux rajouter au code pour que ce soit un hyperlien ou mieux pour que la redirection se fasse automatiquement

Merci beaucoup de ta réponse
0
Benibis Messages postés 55 Statut Membre 8
 
Salut !

Pour la redirection, c'est possible avec du javascript ou du php.
Dans ta page php, après ta fonction mail(), tu termines simlement par la ligne :

Header("Location=http://www.lemeilleurdu-net.com/mPersPgV");

Ca va directement t'envoyer vers ta page.

En javascript, c'est surement possible via un onClick dans ton bouton submit, mais j'ai pas de code tout fait.

Bonne soirée
0
Nico_ Messages postés 1302 Statut Membre 189
 
re:

dans le code,
<!-- Debut message succes -->
     <p style="text-align:center;">Votre message a &eacute;t&eacute; envoy&eacute; avec succ&egrave;s, merci!</p>
  <!-- Fin message succes -->

pour avoir une url a cliquer, remplace par:
<!-- Debut message succes -->
     <p style="text-align:center;">Votre message a &eacute;t&eacute; envoy&eacute; avec succ&egrave;s, merci!<br />
<a href="http://www.lemeilleurdu-net.com/mPersPgV">Cliquer ici pour télécharger le fichier</p>
  <!-- Fin message succes -->
0
g8436
 
Bonsoir

merci ça fonctionne bien

Mais si il y avait une possibilité pas trop compliqué , ma préférence irait vers la redirection sur la page merci
en gardant le message erreur si le post ne s'effectue pas

J'ai essayé d'insérer le code de benibis, (que je remercie de sa réponse aussi) à divers endroits mais c'est pas bon

Est ce possible de rajouter ce genre de redirection au code et où
Header("Location=http://www.lemeilleurdu-net.com/mPersPgV");

Merci de ton aide
0
g8436
 
Bonsoir

Merci ça fonctionne super bien

Mais si il y avait une possibilité par trop compliqué, ma préférence irait vers une redirection sur la page merci, tout en gardant le message erreur si le post n'est pas effectué

J'ai essayé d'insérer le code de benibis( que je remercie de sa réponse également) de diverses façons mais je ne suis pas arrivé au résultats.

Y a' t'il une solution pour rajouter ce genre de code et où
Header("Location=http://www.lemeilleurdu-net.com/mPersPgV");

merci de ton aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Benibis Messages postés 55 Statut Membre 8
 
Salut !

Perso, pour être tout à fait complet, j'ai le code suivant :

if (mail($destinataire,$subject,$body,$headers)) {
Header("Location: http://www.****/message.htm");
} else {
Header("Location: http://www.****/erreur.htm");

En gros, ça veut dire que si mon mail est passé correctement, il renvoie sur une page, s'il est pas passé, il passe à une page d'erreur.

Ca marche impec... Il te dit pas où se trouve l'erreur, par hasard ? J'avoue ne pas être un expert en php, loin de là, mais bon, si je peux aider... Poste éventuellement tout ton code, comme ça je peux comparer avec ce que j'ai déjà fait et essayer d'identifier ce qui plante...
0
g8436
 
Bonsoir

C'est sympa de t'occuper de moi, merci
J'ai essayé de placer ton code dans 2 endroits mais bon, ça ne s'invente pas...

Je te fais passer le code actuel, je sais pas si c'est adaptable

En haut de la page avant html:


<?php
$champs_obligatoires = array("champ1","email");
$champs_titres = array('champ1' =>'Prénom','email' =>'Email',);
$destinataire = 'postmaster@...';
$headers = 'From: "Demande PgV" <contact@...>'."\n";
$headers .= 'Content-Type: text/plain; charset=iso-8859-1';
$sujet = 'Demande PgV';
if (!empty($_POST)){
$complete = true;
foreach($champs_obligatoires as $champ){
if (!isset($_POST[$champ])||trim($_POST[$champ])===''){
$complete = false; //un champ obligatoire est incomplet
break;
}elseif($champ == 'email' && !preg_match('/[.+a-zA-Z0-9-]+@[.a-zA-Z0-9-]+.[a-zA-Z]{2,6}/', $_POST[$champ])){
$complete = false; //email invalide
$_POST[$champ] = '';
break;
}
}
foreach($_POST as $champ=>$valeur){
$message .= $champs_titres[$champ].': '.$valeur."\n";
}
$sent = $complete && @mail($destinataire,$sujet, $message,$headers);
}
?>


Entre head et head:

<script language="JavaScript" type="text/javascript">
<!--
function flash_labels(show) {
var i = 1;
while(document.getElementById('field'+i)){
if (document.getElementById('flabel'+i).style.color == "red"){
if (show)
document.getElementById('flabel'+i).style.visibility = "visible";
else
document.getElementById('flabel'+i).style.visibility = "hidden";
}
i++;
}
}

function verifSelection() {
var i = 1;
var retour = true;
while(document.getElementById('field'+i)){
if (document.getElementById('field'+i).value == ""){
document.getElementById('flabel'+i).style.color = "red";
retour = false;
}else{
document.getElementById('flabel'+i).style.color = "";
}
i++;
}
if (!retour) alert("Vous devez remplir le formulaire au complet !");
setTimeout("flash_labels(false)", 100);
setTimeout("flash_labels(true)", 350);
setTimeout("flash_labels(false)", 600);
setTimeout("flash_labels(true)", 850);
return retour;
}

<?php if (isset($complete) && $complete == false) echo 'onload = function() {verifSelection(); }'; ?>

// -->
</script>

Dans body:

<?php if (!isset($sent) || (isset($complete) && $complete == false)){ ?>
<!-- Debut formulaire -->
<form action="" method="post" onsubmit="return verifSelection()">
<table style="margin:0 auto;">
<tr><td valign="top"><label id="flabel1" for="field1">Prénom <strong>*</strong></label></td><td><input type="text" id="field1" size="25" name="champ1" value="<?php echo @$_POST["champ1"]; ?>" /></td></tr>
<tr><td valign="top"><label id="flabel2" for="field2">Email <strong>*</strong></label></td><td><input type="text" name="email" id="field2" size="25" value="<?php echo @$_POST["email"]; ?>" /></td></tr>
<tr><td></td><td style="text-align:right"><input type="submit" value="Envoyer" /></td></tr>
</table>
</form>
<!-- Fin formulaire -->
<?php }elseif(!$sent){ ?>
<!-- Debut message Erreur -->
<p style="text-align:center;">Une erreur serveur est survenue, l'envoi de mail est impossible. Veuillez réessayer plus tard</p>
<!-- Fin message erreur -->
<?php }else{ ?>
<!-- Debut message succes -->
<p style="text-align:center;">Votre message a été envoyé avec succès, merci!</p>
<!-- Fin message succes -->
<?php } ?>

J'ai essayé ça en fin de formulaire à la place des messages .ça ne marque pas d'erreur.ça envoie le mail mais il ne se passe rien

<!-- Fin formulaire -->
<?php }elseif(!$sent){ ?>
<!--Header("Location: http://www.lemeilleurdu-net.com/index.htm");

--><?php }else{ ?>
<!-- Header("Location: http://www.lemeilleurdu-net.com/boutique5euros.htm");

--><?php } ?>


Merci si tu veux jeter un coup d'oeil
0
Benibis Messages postés 55 Statut Membre 8
 
Salut !

Désolé de pas avoir répondu plus tôt, mais j'ai été assez occupé et j'ai oublié que j'avais encore ton problème en suspend ici. J'ai pas encore lu ton code en entier, je n'aurai sans doute pas le temps de le faire ce soir, mais le premier truc que je vois, c'est que tu mets tes Header dans les commentaires (à savoir, entre <-- et -->), ce qui fait qu'ils ne sont pas considérés comme du code. Essaie éventuellement de les placer comme ceci :

<!-- Fin formulaire -->
<?php }elseif(!$sent){
Header("Location: http://www.lemeilleurdu-net.com/index.htm");
}else{
Header("Location: http://www.lemeilleurdu-net.com/boutique5euros.htm");
?>

Le premier lien sera, théoriquement, le lien vers lequel sera renvoyé l'utilisateur en cas d'échec de l'envoi du mail, et le second, en cas de réussite. Change les adresses si ce n'est pas le but.

Si ça ne fonctionne pas comme ça, je regarderai un peu plus en détail demain soir.

A +
0
g8436
 
Bonjour

Merci beaucoup de ta réponse.

Je vais essayer ce que ça donne pour voir.
Mais laisse sinon, j'ai résolu avec un autre générateur de code.

Merci bonne journée
0