Bonjour à tous,
Je vous sollicite une nouvelle fois concernant un petit problème PHP,
j'ai sur mon site une page d'inscription très basique avec nom, prenom, ville, email, mot de passe,
pseudo, homme/femme/garçon/fille.
ma page de traitement php fonctionne parfaitement, mes données sont bien enregistrées dans ma base, mais j'aimerai y ajouter une petite fonctionnalité avec php mail()
en gros j'aimerai que lorsqu'on rempli le formulaire, si on choisit homme, à la validation un mail spécial homme soit envoyé au nouvel inscrit,
et si on choisit femme, un mail spécial femme soit envoyé à la nouvelle inscrite..
et de même en choisissant garçon ou fille.
Voici mon code PHP pour être un peu plus clair
Un grand merci par avance pour votre aide.
Modifié par budfoxob (13 Sep 2014 - 21:07)
Je vous sollicite une nouvelle fois concernant un petit problème PHP,
j'ai sur mon site une page d'inscription très basique avec nom, prenom, ville, email, mot de passe,
pseudo, homme/femme/garçon/fille.
ma page de traitement php fonctionne parfaitement, mes données sont bien enregistrées dans ma base, mais j'aimerai y ajouter une petite fonctionnalité avec php mail()
en gros j'aimerai que lorsqu'on rempli le formulaire, si on choisit homme, à la validation un mail spécial homme soit envoyé au nouvel inscrit,
et si on choisit femme, un mail spécial femme soit envoyé à la nouvelle inscrite..
et de même en choisissant garçon ou fille.
Voici mon code PHP pour être un peu plus clair
<?php
function Verif_magicquotes ($chaine)
{
if (get_magic_quotes_gpc()) $chaine = stripslashes($chaine);
return $chaine;
}
// Initialisation du message de réponse
$message = null;
// Si le formulaire est envoyé
if (isset($_POST['pseudo']))
{
/* Récupération des variables issues du formulaire
Teste l'existence les données post en vérifiant qu'elles existent, qu'elles sont non vides et non composées uniquement d'espaces.
(Ce dernier point est facultatif et l'on pourrait se passer d'utiliser la fonction trim())
En cas de succès, on applique notre fonction Verif_magicquotes pour (éventuellement) nettoyer la variable */
$pseudo = (isset($_POST['pseudo']) && trim($_POST['pseudo']) != '')? Verif_magicquotes($_POST['pseudo']) : null;
$pass = (isset($_POST['pass']) && trim($_POST['pass']) != '')? Verif_magicquotes($_POST['pass']) : null;
$ville = (isset($_POST['ville']) && trim($_POST['ville']) != '')? Verif_magicquotes($_POST['ville']) : null;
$email = (isset($_POST['email']) && trim($_POST['email']) != '')? Verif_magicquotes($_POST['email']) : null;
$prenom = (isset($_POST['prenom']) && trim($_POST['prenom']) != '')? Verif_magicquotes($_POST['prenom']) : null;
$sexe = (isset($_POST['sexe']) && trim($_POST['sexe']) != '')? Verif_magicquotes($_POST['sexe']) : null;
$nomfamille = (isset($_POST['nomfamille']) && trim($_POST['nomfamille']) != '')? Verif_magicquotes($_POST['nomfamille']) : null;
$passverif = (isset($_POST['passverif']) && trim($_POST['passverif']) != '')? Verif_magicquotes($_POST['passverif']) : null;
// Si $pseudo et $pass différents de null
if(isset($pseudo,$pass,$ville,$email,$prenom,$sexe,$nomfamille,$passverif))
{
if($pass==$passverif){
/* Connexion au serveur : dans cet exemple, en local sur le serveur d'évaluation
A MODIFIER avec vos valeurs */
$hostname = "";
$database = "";
$username = "";
$password = "";
$connection = mysql_connect($hostname, $username, $password) or die(mysql_error());
// Connexion à la base
mysql_select_db($database, $connection);
// Indique à mySql de travailler en UTF-8 (par défaut mySql risque de travailler au standard ISO-8859-1)
mysql_query("SET NAMES 'utf8'");
// Préparation des données pour les requêtes à l'aide de la fonction mysql_real_escape_string
$nom = mysql_real_escape_string($pseudo);
$pass = mysql_real_escape_string($pass);
$ville = mysql_real_escape_string($ville);
$email = mysql_real_escape_string($email);
$prenom = mysql_real_escape_string($prenom);
$sexe = mysql_real_escape_string($sexe);
$nomfamille = mysql_real_escape_string($nomfamille);
$cle = md5(microtime(TRUE)*100000);
$ip = $_SERVER['REMOTE_ADDR'];
// Requête pour compter le nombre d'enregistrements répondant à la clause : champ du pseudo de la table = pseudo posté dans le formulaire
$requete = "SELECT count(*) as nb FROM membres WHERE pseudo = '".$nom."'";
// Exécution de la requête
$req_exec = mysql_query($requete) or die(mysql_error());
// Création du tableau associatif du résultat
$resultat = mysql_fetch_assoc($req_exec);
// nb est le nom de l'allias associé à count(*) et retourne le résultat de la requête dans le tableau $resultat;
if (isset($resultat['nb']) && $resultat['nb'] == 0)
// Résultat du comptage = 0 pour ce pseudo, on peut donc l'enregistrer
{
// Pour enregistrer la date actuelle (date/heure/minutes/secondes) on peut utiliser directement la fonction mysql : NOW()
$insertion = "INSERT INTO membres(Nom,Prenom,Ville,Email,Pseudo,Pass,Sexe,Date_Enregistrement,Ip,Cle) VALUES('".$nomfamille."', '".$prenom."','".$ville."','".$email."','".$pseudo."','".$pass."','".$sexe."', NOW(),'".$ip."','".$cle."')";
// Exécution de la requête d'insertion
$inser_exec = mysql_query($insertion) or die(mysql_error());
if ($inser_exec === true)
{
$form = true;
echo '<script type="text/javascript">'
. 'alert("Merci pour votre Inscription\nVous allez recevoir la confirmation\nPar mail dans quelques instants");'
. 'window.location.replace("index.html");'
. '</script>';
?>
<meta charset="UTF-8">
<meta http-equiv="refresh" content="0;URL=.php">
<?
}
}
else
{ // Le pseudo est déjà utilisé
$form = true;
echo '<script type="text/javascript">'
. 'alert("Cet Email exite déjà");'
. 'window.location.replace("index.html");'
. '</script>';
}
}
else
{ // Au moins un des deux champs "pseudo" ou "mot de passe" n'a pas été rempli
$form = true;
echo '<script type="text/javascript">'
. 'alert("Les Mots de Passe ne sont pas identique");'
. 'window.location.replace("index.html");'
. '</script>';
}
if($form)
{
//On affiche un message sil y a lieu
if(isset($message))
{
echo '<div class="message">'.$message.'</div>';
}
}}}
?>
Un grand merci par avance pour votre aide.
Modifié par budfoxob (13 Sep 2014 - 21:07)