Salut à tous, voila en faite j'ai fait un système d'inscription de membre en ligne pour un site de poker (pas d'espace membre, juste des inscription géré par l'administrateur).
Jusque la tout va bien, voici mon formulaire d'inscription (en 2 page avec un script CAPTCHA):
Page register.php
Et voici ma page registerok.php (qui génère le message d'erreur si le code du CAPTCHA n'est pas le bon) :
Ca fonctionne très bien , mais l'administrateur aimerait recevoir un mail a chaque inscription (du style avec le nom du membre et ses coordonnées). Mais je ne sais pas trop ou partir avec la fonction mail().
Une petite lanterne pour m'éclairer à ce sujet ??
Merci d'avance.
[/i]
Modifié par Rastahigh (29 Jul 2009 - 12:28)
Jusque la tout va bien, voici mon formulaire d'inscription (en 2 page avec un script CAPTCHA):
Page register.php
<?php
$cryptinstall="./cryptographp.fct.php";
include $cryptinstall;
?>
<?php include ('includes/conn.inc.php') ; ?>
<?php include ('includes/req.inc.php') ; ?>
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>
Ligue Poker Liège
</title>
<!-- La feuille de styles "base.css" doit être appelée en premier. -->
<link rel="stylesheet" type="text/css" href="base.css" media="all" />
<link rel="stylesheet" type="text/css" href="interface.css" media="screen" />
<script type="text/javascript">
<!--
function MM_validateForm() { //v4.0
if (document.getElementById){
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' doit contenir un mail valide.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' dois contenir un nombre.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' doit contenir un nombre entre '+min+' et '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' est requis.\n'; }
} if (errors) alert('Les erreur(s) suivante(s) sont survenue(s):\n'+errors);
document.MM_returnValue = (errors == '');
} }
//-->
</script>
</head>
<body>
<div id="global">
<img src="media/banniere.gif" alt="Ligue Poker Liege" />
<?php include ('includes/header.inc.php') ; ?>
<div id="centre">
<div id="principal">
<h3>Inscription :</h3>
<p>Tu es nouveau ici ? Alors n'hésite surtout pas à t'inscrire ici en remplissant le formulaire ci-dessous et participer au <a href="http://liguepokerliege.forumactif.com/">forum</a>.</p>
<form action="registerok.php?<?php echo SID; ?>" method="post" enctype="multipart/form-data" onsubmit="MM_validateForm('membre_pseudo','','R','membre_nom','','R','membre_prenom','','R','membre_age','','RinRange1:99','membre_annee','','R','membre_mail','','RisEmail','membre_adresse','','R','membre_localite','','R','membre_codep','','RisNum');return document.MM_returnValue">
<table width="450" border="0" cellspacing="15" cellpadding="2" >
<tr>
<td valign="top">Entrez votre pseudo* :</td>
<td valign="top"><label>
<input name="membre_pseudo" type="text" id="membre_pseudo" /></label></td>
</tr>
<tr>
<td valign="top">Entrez votre Nom* :</td>
<td valign="top"><label>
<input name="membre_nom" type="text" id="membre_nom" /></label></td>
<tr>
<td valign="top">Entrez votre Prénom* :</td>
<td valign="top"><label>
<input name="membre_prenom" type="text" id="membre_prenom" /></label></td>
</tr>
</tr>
<tr>
<td valign="top">Entrez votre age* :</td>
<td valign="top"><label>
<input name="membre_age" type="text" id="membre_age" value="" size="2" maxlength="2" />
ans</label></td>
</tr>
<tr>
<td valign="top">Entrez votre année de naissance* :<br />
(<strong>jj/mm/aaaa</strong>)</td>
<td valign="top"><label>
<input name="membre_annee" type="text" id="membre_annee" value="" size="10" maxlength="10" />
</label></td>
</tr>
<tr>
<td valign="top">Entrez votre mail* :</td>
<td valign="top"><label>
<input name="membre_mail" type="text" id="membre_mail" value="" /></label></td>
</tr>
<tr>
<td valign="top">Entrez votre adresse* (rue et numéro) :</td>
<td valign="top"><label>
<input name="membre_adresse" type="text" id="membre_adresse" value="" /></label></td>
</tr>
<tr>
<td valign="top">Entrez votre localité* :</td>
<td valign="top"><label>
<input name="membre_localite" type="text" id="membre_localite" value="" /></label></td>
</tr>
<tr>
<tr>
<td valign="top">Entrez votre code postal* :</td>
<td valign="top"><label>
<input name="membre_codep" type="text" id="membre_codep" value="" maxlength="4" />
</label></td>
</tr>
<tr>
<td valign="top">Recopiez ce code en minuscule* :<br />
<?php dsp_crypt(0,1); ?></td>
<td valign="bottom"><input name="code" type="text" id="code"></td>
</tr>
<tr>
<td valign="top">Envoyer votre avatar au format (120*150px)</td>
<td valign="bottom">
<label>
<input type="file" name="file" id="file" />
<input name="todo" type="hidden" id="todo" value="add" />
</label></td>
</tr>
<tr>
<td><label><input type="submit" name="submit" id="button" value="Envoyer" />
</label></td>
<td>Les champs marqué d'un * sont obligatoires !</td>
</tr>
</table>
<p class="petittexte">N.B. : Attention , une fois inscrit , seuls les <strong>administrateurs</strong> du site pourront <strong>modifier</strong> ou <strong>supprimer</strong> vos données d'utilisateur (y compris votre avatar, <strong>seuls les administrateurs pourront vous uploader un nouvel avatar</strong>) !!<br />
L'<strong>avatar</strong> n'est pas obligatoire mais <strong>vous ne pourrez uploader celui-ci qu'une fois</strong> ! Donc si vous le voulez <strong>présent</strong> sur votre fiche <strong>ne l'oubliez pas</strong> (de préférence le même que celui que vous avez dans le forum) !!</p>
</form>
</div>
<?php include ('includes/cold.inc.php') ; ?>
</div>
<!-- #centre -->
</div><!-- #global -->
</body>
</html>
Et voici ma page registerok.php (qui génère le message d'erreur si le code du CAPTCHA n'est pas le bon) :
<?php
$cryptinstall="./cryptographp.fct.php";
include $cryptinstall;
?>
<?php include ('includes/conn.inc.php') ; ?>
<?php include ('includes/req.inc.php') ; ?>
<?php function upload($id) {
if (isset($_FILES)) {
// initialisation des chemins et des noms
$chemin = "membres/";
$nom_temporaire = $_FILES["file"]["tmp_name"];
//$nom_final = strtolower($_FILES["file"]["name"]);
$nom_final = "membre_".$id.".jpg";
// ----------------------------------------
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 2000000))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Code d'erreur : " . $_FILES["file"]["error"] . "<br />";
}
else
{
//echo "Upload: " . $_FILES["file"]["name"] . "<br />";
//echo "Type: " . $_FILES["file"]["type"] . "<br />";
//echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
//echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
if (file_exists($chemin . $nom_final))
{
//echo $_FILES["file"]["name"] . " existe déjà. ";
unlink($chemin.$nom_final);
move_uploaded_file($nom_temporaire,
$chemin . $nom_final);
//echo "Fichier enregistré : " . $chemin . $nom_final;
}
else
{
move_uploaded_file($nom_temporaire,
$chemin . $nom_final);
//echo "Fichier enregistré : " . $chemin . $nom_final;
}
}
}
else
{
echo "Fichier non valide.";
}
}
}
?>
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>
Ligue Poker Liège
</title>
<!-- La feuille de styles "base.css" doit être appelée en premier. -->
<link rel="stylesheet" type="text/css" href="base.css" media="all" />
<link rel="stylesheet" type="text/css" href="interface.css" media="screen" />
</head>
<body>
<div id="global">
<img src="media/banniere.gif" alt="Ligue Poker Liege" />
<?php include ('includes/header.inc.php') ; ?>
<div id="centre">
<div id="principal">
<?php
if (chk_crypt($_POST['code'])){
echo "<a><font color='#009700'>Vous avez bien été enregistrer. Merci de vous joindre à nous !</font><br />
<strong>Vos données personnelles (adresse etc.) ne seront pas en ligne sur le site mais uniquement utilisé par les administrateurs pour vous créer un compte Bwin</strong></a>" ;
include ('includes/conn.inc.php') ;
$resultat = mysql_query ("INSERT INTO t_membre (membre_pseudo,membre_nom,membre_prenom,membre_age,membre_localite,membre_mail,membre_adresse,membre_codep,membre_annee) VALUES ('".trim(addslashes($_POST["membre_pseudo"]))."','".trim(addslashes($_POST["membre_nom"]))."','".trim(addslashes($_POST["membre_prenom"]))."','".trim(addslashes($_POST["membre_age"]))."','".trim(addslashes($_POST["membre_localite"]))."','".trim(addslashes($_POST["membre_mail"]))."','".trim(addslashes($_POST["membre_adresse"]))."','".trim(addslashes($_POST["membre_codep"]))."','".trim(addslashes($_POST["membre_annee"]))."')");
if($_POST["todo"]=="add"){
$numero = mysql_insert_id();
}
elseif($_POST["todo"]=="updt"){
$numero = $_POST["id"];
}
upload($numero);
//fin UPLOAD imG
}
else {echo "<a><font color='#FF0000'>=> Vous n'avez pas saisi le bon code, veuillez recommencer votre inscription s.v.p.</font></a>" ;}
?>
</div>
<?php include ('includes/cold.inc.php') ; ?>
</div>
<!-- #centre -->
</div><!-- #global -->
</body>
</html>
Ca fonctionne très bien , mais l'administrateur aimerait recevoir un mail a chaque inscription (du style avec le nom du membre et ses coordonnées). Mais je ne sais pas trop ou partir avec la fonction mail().
Une petite lanterne pour m'éclairer à ce sujet ??
Merci d'avance.

Modifié par Rastahigh (29 Jul 2009 - 12:28)