Bonjour,
J'ai fait ceci, j'aurais aimé savoir si c'est correct où si il manque des choses:
[code]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Espace membre</title>
</head>
<body>
<font face="Verdana" size="2">
<center>
<?php
require("conf.php");
$conn = mysql_pconnect($sql_serveur, $sql_user, $sql_passwd) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_query("SET CHARACTER SET 'utf8';")or die(mysql_error());
mysql_select_db($sql_bdd, $conn);
if(isset mysql_real_escape_string($_POST['action']))){
// Récupération des variables nécessaires au mail de confirmation
$mail_membre = mysql_real_escape_string($_POST['mail']);
$pseudo_membre = mysql_real_escape_string($_POST['pseudo_membre']);
$passe_membre = mysql_real_escape_strings($_POST['passe_membre']);
$actif='0';
// Génération aléatoire d'une clé
$cle = md5(microtime(TRUE)*100000);
// TEST SUR LES VALEURS SAISIES
if($pseudo_membre=="")
{echo htmlentities("Vous devez choisir un pseudo<br><br><a href=\"javascript:window.history.back()\">Retour</a>");exit;}
if($passe_membre=="")
{echo htmlentities("Vous devez choisir un mot de passe<br><br><a href=\"javascript:window.history.back()\">Retour</a>");exit;}
// CHAMPS SUPLEMENTAIRES, inspirez-vous des lignes suivantes. Pour qu'un champs soit facultatif, omettez la ligne.
if($mail_membre=="")
{echo htmlentities("Vous n'avez pas saisi votre email<br><br><a href=\"javascript:window.history.back()\">Retour</a>");exit;}
// ON VERIFIE SI CE PSEUDO EXISTE DEJA
$sq="select pseudo from membre where pseudo=\"$pseudo_membre\"";
$requete=mysql_query($sq ) or die('erreur sq1: '.mysql_error());
$num=mysql_num_rows($requete);
if($num!=0)
{
echo htmlentities("Ce pseudo existe déjà, veuillez en choisir un autre<br><br><a href=\"javascript:window.history.back()\">Retour</a>");
} /**/
else
{
// CREATION D'UN IDENTIFIANT ALEATOIRE
$taille = 20;
$lettres = "abcdefghijklmnopqrstuvwxyz0123456789";
srand(time());
for ($i=0;$i<$taille;$i++)
{
$id.=substr($lettres,(rand()%(strlen($lettres))),1);
}
// INSERTION DANS LA TABLE
$sq2="insert into membre values ('',\"$id\",\"$pseudo_membre\",\"$passe_membre\",\"$mail_membre\",\"$cle\",\"$actif\")";
$quer2=mysql_query($sq2 ) or die('erreur sq2: '.mysql_error()); //ma methode
echo htmlspecialchars("Vos informations ont bien été enregistrées. Un mail de confirmation va vous parvenir d'ici quelques minutes. Veuillez confirmer votre inscription pour pouvoir commencer à utiliser votre compte.");
// Préparation du mail contenant le lien d'activation
$destinataire = $mail_membre;
$sujet = "Activer votre compte" ;
$entete = "From:
[email protected]" ;
// Le lien d'activation est composé du login(log) et de la clé(cle)
$message = 'Bienvenue sur Site,
Pour activer votre compte, veuillez cliquer sur le lien ci dessous
ou copier/coller dans votre navigateur internet.
http://site.com/validation.php?log='.urlencode($pseudo_membre).'&cle='.urlencode($cle).'
---------------
Ceci est un mail automatique, Merci de ne pas y répondre.';
mail($destinataire, $sujet, $message, $entete) ; // Envoi du mail
}
}
/*-----------------------------------------------------------------*/
/* AFFICHAGE DU FORMULAIRE */
/*-----------------------------------------------------------------*/
else{
echo "<h2>Nouveau membre</h2>
<form action=\"adduser.php\" method=\"post\">
<input type=\"hidden\" name=\"action\" value=\"add\">
Chosissez un pseudo<br><input type=\"text\" name=\"pseudo_membre\"><br>
Chosissez un mot de passe<br><input type=\"password\" name=\"passe_membre\"><br>
Votre email<br><input type=\"text\" name=\"mail\"><br>
<br>
<input type=\"submit\" value=\"Envoyer\">
</form>
<br>
<font face=\"Verdana\" size=\"2\"><a href=\"index.htm\">Se connecter</a></font>";
}
?>
</center>
</font>
</body>
</html>
[/code]
Cette partie là ( à la fin ) doit elle être sous htmlentities ?
[code]
echo "<h2>Nouveau membre</h2>
<form action=\"adduser.php\" method=\"post\">
<input type=\"hidden\" name=\"action\" value=\"add\">
Chosissez un pseudo<br><input type=\"text\" name=\"pseudo_membre\"><br>
Chosissez un mot de passe<br><input type=\"password\" name=\"passe_membre\"><br>
Votre email<br><input type=\"text\" name=\"mail\"><br>
<br>
<input type=\"submit\" value=\"Envoyer\">
</form>
<br>
<font face=\"Verdana\" size=\"2\"><a href=\"index.htm\">Se connecter</a></font>";
[/code]