Script php pour identification et redirection
Résolu
le_fermier
Messages postés
63
Date d'inscription
Statut
Membre
Dernière intervention
-
le_fermier Messages postés 63 Date d'inscription Statut Membre Dernière intervention -
le_fermier Messages postés 63 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Sur mon site html j'ai une page avec des fichier téléchargeables.
J'aimerais mettre en place une page intermédiaire avec un mini formulaire (nom, société, email) qui me permettrait de recevoir ces informations directement par email (sans base de données) et puis rediriger le visiteur sur la page qui contient mes documents téléchargeables.
L'idée est de connaitre tout ceux qui téléchargent mes documents.
Avez vous des scripts dans ce sens ? Merci pour votre aide
Sur mon site html j'ai une page avec des fichier téléchargeables.
J'aimerais mettre en place une page intermédiaire avec un mini formulaire (nom, société, email) qui me permettrait de recevoir ces informations directement par email (sans base de données) et puis rediriger le visiteur sur la page qui contient mes documents téléchargeables.
L'idée est de connaitre tout ceux qui téléchargent mes documents.
Avez vous des scripts dans ce sens ? Merci pour votre aide
A voir également:
- Script php pour identification et redirection
- Entrer les informations d'identification reseau - Guide
- Script vidéo youtube - Guide
- Easy php - Télécharger - Divers Web & Internet
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
6 réponses
Qu'est ce qu'il ne marche pas?
Je te conseille de te documenter pour essayer de comprendre un minmum ce que tu fais, sinon je pense que tu vas patauger.
Je te conseille de te documenter pour essayer de comprendre un minmum ce que tu fais, sinon je pense que tu vas patauger.
Utilise la balise <.code> (sans le point) sur CCM, sinon, ton code est illisible.
Je n'ai pas pris la peine de lire le code, mais inutile de mettre des ";" après les "}" qui ferment les "else".
Je n'ai pas pris la peine de lire le code, mais inutile de mettre des ";" après les "}" qui ferment les "else".
Bonjour,
je ne connais pas ton niveau en programmation mais le script ne serait pas difficile à réaliser.
1ère étape : le formulaire et l'envoi du mail.
Tu trouves des scripts tout fait incluant le formulaire et l'envoi du mail en php sur le net. Tu l'adaptes un peu à ta sauce et voilà.
Un exemple : http://www.php-astux.info/script-formulaire-contact.php
Ensuite la 2ème étape serait de donner l'accès aux documents.
Là ça dépend de comment tu veux procéder, veux-tu une redirection vers une page spécifique ou alors des liens qui se mettent sur la page une fois le mail envoyé etc...
je ne connais pas ton niveau en programmation mais le script ne serait pas difficile à réaliser.
1ère étape : le formulaire et l'envoi du mail.
Tu trouves des scripts tout fait incluant le formulaire et l'envoi du mail en php sur le net. Tu l'adaptes un peu à ta sauce et voilà.
Un exemple : http://www.php-astux.info/script-formulaire-contact.php
Ensuite la 2ème étape serait de donner l'accès aux documents.
Là ça dépend de comment tu veux procéder, veux-tu une redirection vers une page spécifique ou alors des liens qui se mettent sur la page une fois le mail envoyé etc...
Salut.
Je n'aime pas donner des scripts déjà faits qu'il suffit de copier/coller.
Par contre, voilà les liens nécessaires pour y arriver :
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/913099-transmettez-des-donnees-avec-les-formulaires
https://www.php.net/manual/fr/function.mail.php
https://www.php.net/manual/fr/function.header.php
Je n'aime pas donner des scripts déjà faits qu'il suffit de copier/coller.
Par contre, voilà les liens nécessaires pour y arriver :
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/913099-transmettez-des-donnees-avec-les-formulaires
https://www.php.net/manual/fr/function.mail.php
https://www.php.net/manual/fr/function.header.php
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
salut les amis,
merci pour vos réponses :)
j'ai essayé le script de la 1ere réponse mais ça marche pas encore,
voila ce que j'ai écris :
## page 1 : index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Bienvenu sur mon site personne</title>
<!--[if IE]>
<style type="text/css">@import url(<link rel="stylesheet" type="text/css" href="css/modele-IE.css" media="screen">);</style>
<style type="text/css">@import url(<link rel="stylesheet" type="text/css" href="css/style-IE.css" media="screen">);</style>
<![endif]-->
<link rel="stylesheet" type="text/css" href="css/modele.css" media="screen">
<link rel="stylesheet" type="text/css" href="css/style.css" media="screen">
</head>
<body onload="load()" onunload="GUnload()">
<!--gabarit-->
<div id="gabarit">
<div id="contener">
<td class="div460" valign="top">
<h1><strong>Identification</strong></h1>
<form method="post" action="envoi_identifiant.php">
<ul style="list-style:none;">
<p>Pour accèder aux informations demandées, veuillez remplir le formulaire suivant.</p><br>
<li> Nom</li>
<li><input type="text" name="nom" size="35"></li>
<li>Téléphone</li>
<li><input type="text" name="telephone" size="35"></li>
<li>e-mail</li>
<li><input type="text" name="email" size="35"></li>
<li>Société</li>
<li><input type="text" name="societe" size="35"></li>
<li>Votre commentaire ou message</li>
<li><textarea rows="5" name="message" cols="52"></textarea></li>
<li><br><input type="submit" value="valider"></li>
</ul>
</form>
</td>
</tr><
/table>
</div>
</div>
</body>
</html>
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
## la 2eme page du traitement : envoi_identifiant.php
<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'monemail@gmail.com';
// copie ? (envoie une copie au visiteur)
$copie = 'non'; // 'oui' ou 'non'
// Messages de confirmation du mail
$message_envoye = "Votre message nous est bien parvenu !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
// Messages d'erreur du formulaire
$message_erreur_formulaire = "Vous devez d'abord <a href=\"index.html\">remplir le formulaire</a>.";
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/
// on teste si le formulaire a été soumis
if (!isset($_POST['envoi']))
{
// formulaire non envoyé
echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
}
else
{
/*
* cette fonction sert à nettoyer et enregistrer un texte
*/
function Rec($text)
{
$text = trim($text); // delete white spaces after & before text
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}
// magic quotes ?
$text = $stripslashes($text);
$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
$text = nl2br($text);
return $text;
};
/*
* Cette fonction sert à vérifier la syntaxe d'un email
*/
function IsEmail($email)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$email)) ? true : false;
};
// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$telephone = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$societe = (isset($_POST['societe'])) ? Rec($_POST['societe']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
if (($nom != '') && ($telephone != '') && ($email != '') && ($societe != '') && ($message != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";
// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};
// Remplacement de certains caractères spéciaux
$message = str_replace("'","'",$message);
$message = str_replace("'","'",$message);
$message = str_replace(""",'"',$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);
// Envoi du mail
if (mail($cible, $objet, $message, $headers))
{
echo '<p>'.$message_envoye.'</p>'."\n";
}
else
{
echo '<p>'.$message_non_envoye.'</p>'."\n";
};
}
else
{
// une des 3 variables (ou plus) est vide ...
echo '<p>'.$message_formulaire_invalide.' <a href="index.html">Retour au formulaire</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
?>
merci pour vos réponses :)
j'ai essayé le script de la 1ere réponse mais ça marche pas encore,
voila ce que j'ai écris :
## page 1 : index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Bienvenu sur mon site personne</title>
<!--[if IE]>
<style type="text/css">@import url(<link rel="stylesheet" type="text/css" href="css/modele-IE.css" media="screen">);</style>
<style type="text/css">@import url(<link rel="stylesheet" type="text/css" href="css/style-IE.css" media="screen">);</style>
<![endif]-->
<link rel="stylesheet" type="text/css" href="css/modele.css" media="screen">
<link rel="stylesheet" type="text/css" href="css/style.css" media="screen">
</head>
<body onload="load()" onunload="GUnload()">
<!--gabarit-->
<div id="gabarit">
<div id="contener">
<td class="div460" valign="top">
<h1><strong>Identification</strong></h1>
<form method="post" action="envoi_identifiant.php">
<ul style="list-style:none;">
<p>Pour accèder aux informations demandées, veuillez remplir le formulaire suivant.</p><br>
<li> Nom</li>
<li><input type="text" name="nom" size="35"></li>
<li>Téléphone</li>
<li><input type="text" name="telephone" size="35"></li>
<li>e-mail</li>
<li><input type="text" name="email" size="35"></li>
<li>Société</li>
<li><input type="text" name="societe" size="35"></li>
<li>Votre commentaire ou message</li>
<li><textarea rows="5" name="message" cols="52"></textarea></li>
<li><br><input type="submit" value="valider"></li>
</ul>
</form>
</td>
</tr><
/table>
</div>
</div>
</body>
</html>
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
## la 2eme page du traitement : envoi_identifiant.php
<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'monemail@gmail.com';
// copie ? (envoie une copie au visiteur)
$copie = 'non'; // 'oui' ou 'non'
// Messages de confirmation du mail
$message_envoye = "Votre message nous est bien parvenu !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
// Messages d'erreur du formulaire
$message_erreur_formulaire = "Vous devez d'abord <a href=\"index.html\">remplir le formulaire</a>.";
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/
// on teste si le formulaire a été soumis
if (!isset($_POST['envoi']))
{
// formulaire non envoyé
echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
}
else
{
/*
* cette fonction sert à nettoyer et enregistrer un texte
*/
function Rec($text)
{
$text = trim($text); // delete white spaces after & before text
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}
// magic quotes ?
$text = $stripslashes($text);
$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
$text = nl2br($text);
return $text;
};
/*
* Cette fonction sert à vérifier la syntaxe d'un email
*/
function IsEmail($email)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$email)) ? true : false;
};
// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$telephone = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$societe = (isset($_POST['societe'])) ? Rec($_POST['societe']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
if (($nom != '') && ($telephone != '') && ($email != '') && ($societe != '') && ($message != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";
// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};
// Remplacement de certains caractères spéciaux
$message = str_replace("'","'",$message);
$message = str_replace("'","'",$message);
$message = str_replace(""",'"',$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);
// Envoi du mail
if (mail($cible, $objet, $message, $headers))
{
echo '<p>'.$message_envoye.'</p>'."\n";
}
else
{
echo '<p>'.$message_non_envoye.'</p>'."\n";
};
}
else
{
// une des 3 variables (ou plus) est vide ...
echo '<p>'.$message_formulaire_invalide.' <a href="index.html">Retour au formulaire</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
?>
Page index.html (le formulaire) :
Page envoi_identifiant.php (traitement)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <title>Bienvenu sur mon site personne</title> <!--[if IE]> <style type="text/css">@import url(<link rel="stylesheet" type="text/css" href="css/modele-IE.css" media="screen">);</style> <style type="text/css">@import url(<link rel="stylesheet" type="text/css" href="css/style-IE.css" media="screen">);</style> <![endif]--> <link rel="stylesheet" type="text/css" href="css/modele.css" media="screen"> <link rel="stylesheet" type="text/css" href="css/style.css" media="screen"> </head> <body onload="load()" onunload="GUnload()"> <!--gabarit--> <div id="gabarit"> <div id="contener"> <td class="div460" valign="top"> <h1><strong>Identification</strong></h1> <form method="post" action="envoi_identifiant.php"> <ul style="list-style:none;"> <p>Pour accèder aux informations demandées, veuillez remplir le formulaire suivant.</p><br> <li> Nom</li> <li><input type="text" name="nom" size="35"></li> <li>Téléphone</li> <li><input type="text" name="telephone" size="35"></li> <li>e-mail</li> <li><input type="text" name="email" size="35"></li> <li>Société</li> <li><input type="text" name="societe" size="35"></li> <li>Votre commentaire ou message</li> <li><textarea rows="5" name="message" cols="52"></textarea></li> <li><br><input type="submit" value="valider"></li> </ul> </form> </td> </tr>< /table> </div> </div> </body> </html>
Page envoi_identifiant.php (traitement)
<?php /* ******************************************************************************************** CONFIGURATION ******************************************************************************************** */ // destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule $destinataire = 'monemail@gmail.com'; // copie ? (envoie une copie au visiteur) $copie = 'non'; // 'oui' ou 'non' // Messages de confirmation du mail $message_envoye = "Votre message nous est bien parvenu !"; $message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP."; // Messages d'erreur du formulaire $message_erreur_formulaire = "Vous devez d'abord <a href=\"index.html\">remplir le formulaire</a>."; $message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur."; /* ******************************************************************************************** FIN DE LA CONFIGURATION ******************************************************************************************** */ // on teste si le formulaire a été soumis if (!isset($_POST['envoi'])) { // formulaire non envoyé echo '<p>'.$message_erreur_formulaire.'</p>'."\n"; } else { /* * cette fonction sert à nettoyer et enregistrer un texte */ function Rec($text) { $text = trim($text); // delete white spaces after & before text if (1 === get_magic_quotes_gpc()) { $stripslashes = create_function('$txt', 'return stripslashes($txt);'); } else { $stripslashes = create_function('$txt', 'return $txt;'); } // magic quotes ? $text = $stripslashes($text); $text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well $text = nl2br($text); return $text; }; /* * Cette fonction sert à vérifier la syntaxe d'un email */ function IsEmail($email) { $pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$"; return (eregi($pattern,$email)) ? true : false; }; // formulaire envoyé, on récupère tous les champs. $nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : ''; $telephone = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : ''; $email = (isset($_POST['email'])) ? Rec($_POST['email']) : ''; $societe = (isset($_POST['societe'])) ? Rec($_POST['societe']) : ''; $message = (isset($_POST['message'])) ? Rec($_POST['message']) : ''; // On va vérifier les variables et l'email ... $email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré if (($nom != '') && ($telephone != '') && ($email != '') && ($societe != '') && ($message != '')) { // les 4 variables sont remplies, on génère puis envoie le mail $headers = 'From: '.$nom.' <'.$email.'>' . "\r\n"; // envoyer une copie au visiteur ? if ($copie == 'oui') { $cible = $destinataire.','.$email; } else { $cible = $destinataire; }; // Remplacement de certains caractères spéciaux $message = str_replace("'","'",$message); $message = str_replace("'","'",$message); $message = str_replace(""",'"',$message); $message = str_replace('<br>','',$message); $message = str_replace('<br />','',$message); $message = str_replace("<","<",$message); $message = str_replace(">",">",$message); $message = str_replace("&","&",$message); // Envoi du mail if (mail($cible, $objet, $message, $headers)) { echo '<p>'.$message_envoye.'</p>'."\n"; } else { echo '<p>'.$message_non_envoye.'</p>'."\n"; }; } else { // une des 3 variables (ou plus) est vide ... echo '<p>'.$message_formulaire_invalide.' <a href="index.html">Retour au formulaire</a></p>'."\n"; }; }; // fin du if (!isset($_POST['envoi'])) ?>