j'ai des fonctions en javascript et feuilles styles dans la page:haut_color c'est pour ça que je le déclare dans ma page inscription et cette page j'affiche mon formulaire à remplir et à l'aide de 2 fonctions qui me permettent de tester les valeurs renter si elles sont juste ou non.donc si le formulaire à bien été rempli je fait un header vers une autre page(le header est dans l'une des 2 fonctions), sinon j'affiche un message d'erreur et surtout je reste sur la même page et je conserve les valeurs des champs saisies.
<?php
session_start();
function inscription()
{
require_once('config.php');
//$titre_page='Verification';
//include_once('haut_color.php');
$email=formulaires($_POST['email']);//$email=htmlentities($_POST['email']);
$pseudo=formulaires($_POST['pseudo']);
............
$pays_livraison=formulaires($_POST['pays_livraison']);
/**************************************/
$page=$serveur.$_SERVER["PHP_SELF"];
/***************************************/
$IP=$_SERVER['REMOTE_ADDR'];
$heure=time();
/*************************************************/
// Attendre qu'il n'y ait pas d'autres user avec le même numéro de session.
do
{
$cle_activation=md5(time());
$resultat = mysql_query("SELECT * FROM membres WHERE cle_activation='$cle_activation'");
}
while(false!=($ligne = mysql_fetch_array($resultat)));
/**************************************************************/
//// VERIFICATIONS BANALES ////
if(!$mdp || !$mdp2 || strlen($mdp) < 5 || strlen($mdp) > 15)
{
echo'<div align="center" ><p><strong>Votre mot de passe ou sa confirmation est inexisant ou votre mot de passe n\'est pas compris entre 5 à 15 carractères</strong></p><br />';
echo"<script>alert(\"Votre mot de passe ou sa confirmation est inexisant ou votre mot de passe n\'est pas compris entre 5 à 15 carractères ! \")</script>";
include_once('bas.php');
return FALSE;
}
if($mdp!=$mdp2)
{
echo'<div align="center" ><p><strong>Votre mot de passe n\'est pas le meme que sa confirmation</strong></p><br />';
echo"<script>alert(\"Votre mot de passe n\'est pas le meme que sa confirmation ! \")</script>";
include_once('bas.php');
return FALSE;
}
if(!$pseudo || strlen($pseudo) < 5 || strlen($pseudo) > 15)
{
echo'<div align="center" ><p><strong>Votre pseudo est inexisant ou n\'est pas compris entre 5 et 15 carractères</strong></p><br />';
echo"<script>alert(\"Votre pseudo est inexisant ou n\'est pas compris entre 5 et 15 carractères ! \")</script>";
include_once('bas.php');
return FALSE;
/*header('Location:inscription.php?eerror=ee_pseudo');
return FALSE;*/
}
if(!$email || !VerifierAdresseMail($email))
{
echo'<div align="center" ><p><strong>Veuillez entrer ou vérifier votre adresse e-mail</strong></p><br />';
if(!$ville)
{
echo'<div align="center" ><p><strong>Veuillez entrer le nom de votre VILLE</strong></p><br />';
echo"<script>alert(\"Veuillez entrer le nom de votre VILLE ! \")</script>";
include_once('bas.php');
return FALSE;
}
if(!$pays)
{
echo'<div align="center" ><p><strong>Veuillez entrer votre PAYS</strong></p><br />';
echo"<script>alert(\"Veuillez entrer votre PAYS ! \")</script>";
include_once('bas.php');
return FALSE;
}
if(!$titre)
{
echo'<div align="center" ><p><strong>Veuillez indiquer votre civilité</strong></p><br />';
echo"<script>alert(\"Veuillez indiquer votre civilité ! \")</script>";
include_once('bas.php');
return FALSE;
}
....................
/*************************/
if($code_postale_livraison){
if(strlen($code_postale_livraison )!= 5 || !is_numeric($code_postale_livraison))
{
echo'<div align="center" ><p><strong>Veuillez vérifier votre CODE POSTALE de livraison</strong></p><br />';
echo"<script>alert(\"Veuillez vérifier votre CODE POSTALE de livraison ! \")</script>";
include_once('bas.php');
return FALSE;
}
}
/************************************/
//// VERIFICATIONS DES EXISTANCES ////
$reponse_mail=mysql_query("SELECT email FROM membres WHERE email='$email'") or die ('Erreur : '.mysql_error()); //verification si e-mail existe déjà
$count_mail=mysql_num_rows($reponse_mail);
if($count_mail == 1)
{
echo'<div align="center" ><p><strong>Cet E-mail existe déjà</strong></p><br />';
echo"<script>alert(\"Cet E-mail existe déjà ! \")</script>";
include_once('bas.php');
return FALSE;
}
$reponse_pseudo=mysql_query("SELECT pseudo FROM membres WHERE pseudo='$pseudo'") or die ('Erreur : '.mysql_error()); //verification si pseudo existe déjà
$count_pseudo=mysql_num_rows($reponse_pseudo);
if($count_pseudo == 1)
{
echo '<div align="center" ><p><strong>Ce Pseudo existe déjà</strong></p><br />';
echo"<script>alert(\"Ce Pseudo existe déjà ! \")</script>";
include_once('bas.php');
return FALSE;
}
//verification si le numéro de cleint existe déjà
do
{
for ($ligne=0;$ligne<30;$ligne++) //Création d'un identifiant aléatoire
{
@$session.=substr('0123456789AZERTYUIOPMLKJHGFDSQWXCVBN',(rand()%(strlen('0123456789AZERTYUIOPMLKJHGFDSQWXCVBN'))),1);
}
/***************************************************/
$resultat = mysql_query("SELECT * FROM membres WHERE session='$session'");
}
while(false!=($ligne = mysql_fetch_array($resultat)));
$mdp=md5($mdp); //Codage du mot de passe
/*************************************************************/
//$cle_activation=md5(time());
$resultat = mysql_query("SELECT * FROM membres WHERE email='$email' AND level='blacklist'");
if(false!=($ligne = mysql_fetch_array ($resultat))){
echo '<div align="center" ><p><strong>L\'adresse e-mail (".$email.") est dans la liste noire. Utilisez une autre adresse mail.</strong></p><br />';die('Erreur : '.mysql_error());} // Si l'e-mail est dans la blacklist
$subject = "Veuillez confirmer votre inscription";
$headers = "From: bitta@hotmail.fr\n";
$message = "Veuillez confirmer votre inscription\n";
$message .= "Bonjour ".$nom."\n\n";
$message .= "Vous avez reçu ce mail parce que vous ou quelqu'un d'autre utilisant votre adresse mail s'est enregistré sur le site ".$site_name.".\n";
$message .= "Pour valider cet inscription, cliquez sur ce lien :\n http://edgepcb.com/".$page."?code=".$cle_activation."&BL=0 \n";
$message .= "Si vous vous n'êtes pas inscrit sur ".$site_name.", veuillez ignorer ce message et accepter nos excuses.\n";
$message .= "Vous pouvez aussi choisir d'ajouter votre mail à notre blacklist pour ne plus recevoir de mail d'inscription de notre part en cliquant sur ce lien :\nhttp://edgepcb.com/".$page."?code=".$cle_activation."&BL=1 \n";
$message .= "Votre e-mail a été envoyé de l'IP ".$IP.".\n\n";
$message .= "Cordialement,\n";
$message .= "Le Webmaster";
// Envoi du mail
/**************/
/*****************************/
if(@mail($email, $subject, $message, $headers))
{
mysql_query("INSERT INTO membres VALUES ('', '$session', '$pseudo', '$mdp', '$email', '$societe','$siret','$adresse','$code_postale', '$ville', '$pays', '$titre','$nom', '$prenom', '$telephone', '$mobile', '$fax','$cle_activation','en_attente','$IP','$heure','$societe_livraison','$adresse_livraison','$ville_livraison','$code_postale_livraison','$pays_livraison')") or die ('Erreur : '.mysql_error());//insertion dans la bdd
/**************/
mysql_close();
/*****************************/
//mysql_query($query);
// mysql_close();
/*$page_confirmation = "<div align='center' >Merci pour votre inscription !<br />Vous devriez recevoir un e-mail à l'adresse suivante : ".$email.".";
$page_confirmation .= '<div align="center" >Veuillez confirmer l\'inscription en cliquant sur le lien se trouvant sur le mail.<br />';
echo $page_confirmation;*/
header('Location:mail_validate.php?ok=i_email');
return false;
}
else
{
header('Location:mail_validate.php?ok=in_email');
return false;
/*echo '<div align="center" ><p><strong>Le mail de confirmation n\'a pu être envoyé. Peut-être que l\'adresse n\'est pas valide. Veuillez contacter le webmaster s\'il vous plait</strong></p><br /><a href="inscription.php" onClick="history.back()">Retour</a>';
//include_once('bas.php');
//return FALSE;*/
}
}
//-------------------------------------------------------------------------------
// Fonction de vérification de l'adresse de confirmation
// - Suppression des utilisateurs n'ayant pas confirmer avant la durée impartie
// - Extraction de la personne concernée
// - Validation de son enregistrement
// - Si l'on veut être blacklisté, après confirmation on effectue le blacklistage
// - Le webmaster recoit un mail lorsque l'inscription est validé
//-------------------------------------------------------------------------------
function code_check($code="",$BL="")
{
require "config.php";
$heure=time();
// On profite de l'occasion pour supprimer les users n'ayant pas confirmé dans la durée impartie
$heure2=$heure-$validite;
mysql_query("DELETE FROM membres WHERE heure<$heure2 AND level='en_attente'");
// On extrait la personne qui souhaite valider son inscription
$cle_activation=$code;
$resultat = mysql_query("SELECT * FROM membres WHERE cle_activation ='$cle_activation' AND level='en_attente'");
if(false==($ligne = mysql_fetch_array ($resultat)))
{
mysql_close();
$page_validation = "Ce code n'existe pas, est expiré ou à déjà été validé, veuillez remplir à nouveau le formaulaire : <a href=\"".$_SERVER["PHP_SELF"]."\">here</a>.";
}
else
{
// Si l'utilisateur vient pour confirmer, on passe son level de "en_attente" à "registered"
if($BL==0)
{
mysql_query("UPDATE membres SET level='registered' WHERE cle_activation ='$cle_activation' AND level='en_attente'");
$page_validation = "Merci, vous êtes maintenant enregistré ! Vous pouvez maintenant vous connectez librement <a href='connexion.php'>Identifiez vous !</a>'";
if ($mail_controle==1)
{
$subject="Nouvelle inscription sur $site_name";
$message="Bonjour,\n\n";
$message.="Un nouveau membre vient de s'inscrire :\n";
$message.="Nom : ".$ligne["nom"]."\n";
$message.="E-Mail : ".$ligne["email"]."\n";
$headers="From: mohaalba1@hotmail.fr\n";
@mail($votre_email, $subject, $message, $headers);
}
}
// Si l'utilisateur vient pour être blacklisté, on passe son level de "en_attente" à "blacklist"
// Mais avant une petite confirmation
if($BL==1)
{
$page_validation = "Vous souhaitez ajouter votre adresse mail à notre blackliste. Cliquez <a href=\"".$_SERVER["PHP_SELF"]."?code=".$code."&BL=2\">ici</a> pour que vous puissiez confirmer.";
}
// Si l'utilisateur a confirmé qu'il veut être dans la liste noire, on l'y met
if($BL==2)
{
mysql_query("UPDATE membres SET level='blacklist' WHERE cle_activation ='$cle_activation' AND level='en_attente'");
$page_validation = 'Votre e-mail a été blacklisté. Vous ne receverez plus aucun e-mail de notre part.';
}
mysql_close();
}
echo "<p>".$page_validation."</p>";
}
?>