par
zoussene » 17 août 2008, 16:56
je l'ai refait:
[register.php]:
<h1>Inscription 1/2</h1>
<form method="post" action="registerok.php" enctype="multipart/form-data">
<fieldset><legend>Identifiants</legend>
<label for="pseudo">* Pseudo :</label> <input name="pseudo" type="text" id="pseudo" /> (le pseudo doit contenir entre 3 et 15 caractères)<br />
<label for="password">* Mot de Passe :</label><input type="password" name="password" id="password" /><br />
<label for="confirm">* Confirmer le mot de passe :</label><input type="password" name="confirm" id="confirm" />
</fieldset>
<fieldset><legend>Contacts</legend>
<label for="email">* Votre adresse Mail :</label><input type="text" name="email" id="email" /><br />
<label for="msn">Votre adresse MSN :</label><input type="text" name="msn" id="msn" /><br />
<label for="website">Votre site web :</label><input type="text" name="website" id="website" />
</fieldset>
<fieldset><legend>Informations supplémentaires</legend>
<label for="localisation">Localisation :</label><input type="text" name="localisation" id="localisation" />
</fieldset>
<fieldset><legend>Profil sur le forum</legend>
<label for="avatar">Choisissez votre avatar :</label><input type="file" name="avatar" id="avatar" />(Taille max : 10 ko)<br />
<label for="signature">Signature :</label><textarea cols="40" rows="4" name="signature" id="signature">La signature est limitée à 200 caractères</textarea>
</fieldset>
<p>Les champs précédés d un * sont obligatoires</p>
<p><input type="submit" value="S'inscrire" /></p></form>
</h2>
</div>
</body>
</html>
et [registerok.php]:
<?php
//Cette fonction doit être appelée avant tout code html
session_start();
//On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
$titre = "Index du forum";
include("includes/debut.php");
?>
<body>
<div id="banniere"></div>
<?php
//Maintenant, on se connecte à la base de données
include("includes/identifiants.php");
mysql_connect($localhost, $root, $);
mysql_select_db($zoussene?connexion);
$pseudo_erreur1 = "";
$pseudo_erreur2 = "";
$mdp_erreur = "";
$email_erreur1 = "";
$email_erreur2 = "";
$msn_erreur = "";
$signature_erreur = "";
$avatar_erreur = "";
$avatar_erreur1 = "";
$avatar_erreur2 = "";
$avatar_erreur3 = "";
// pseudo et mot de passe
<?php
$i = 0;
//Vérification du pseudo
$nombrepseudo = mysql_result(mysql_query('SELECT COUNT(*) FROM forum_membres WHERE membre_pseudo = "'.$_POST['pseudo'].'"'), 0);
if($nombrepseudo != 0)
{
$pseudo_erreur1 = "Votre pseudo est déjà utilisé par un membre";
$i++;
}
if (strlen($_POST['pseudo']) < 3 || strlen($_POST['pseudo']) > 15)
{
$pseudo_erreur2 = "Votre pseudo est soit trop grand, soit trop petit";
$i++;
}
//Vérification du mdp
if ($_POST['password'] != $_POST['confirm'] || empty($_POST['confirm']) || empty($_POST['password']))
{
$mdp_erreur = "Votre mot de passe et votre confirmation diffèrent, ou sont vides";
$i++;
}
?>
// e-mail, MSN et Signature
<?php
//Vérification de l'adresse email
//Il faut que l'adresse email n'ait jamais été utilisée
$nombremail = mysql_result(mysql_query('SELECT COUNT(*) FROM forum_membres WHERE membre_email = "'.$_POST['email'].'"'), 0);
if ($nombremail!= 0)
{
$email_erreur1 = "Votre adresse email est déjà utilisée par un membre";
$i++;
}
//On vérifie la forme maintenant
if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['email']) || empty($_POST['email']))
{
$email_erreur2 = "Votre adresse E-Mail n'a pas un format valide";
$i++;
}
//Vérification de l'adresse MSN
if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['msn']) && !empty($_POST['msn']))
{
$msn_erreur = "Votre adresse MSN n'a pas un format valide";
$i++;
}
//Vérification de la signature
if (strlen($_POST['signature']) > 200)
{
$signature_erreur = "Votre signature est trop longue";
$i++;
}
?>
// l'avatar
<?php
//Vérification de l'avatar :
if (!empty($_FILES['avatar']['size']))
{
//On définit les variables :
$maxsize = 10024; //Poid de l'image
$maxwidth = 100; //Largeur de l'image
$maxheight = 100; //Longueur de l'image
$extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides
if ($_FILES['avatar']['error'] > 0)
{
$avatar_erreur = "Erreur lors du tranfsert de l'avatar : ";
}
if ($_FILES['avatar']['size'] > $maxsize)
{
$i++;
$avatar_erreur1 = "Le fichier est trop gros : (<strong>".$_FILES['avatar']['size']." Octets</strong> contre <strong>".$maxsize." Octets</strong>)";
}
$image_sizes = getimagesize($_FILES['avatar']['tmp_name']);
if ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight)
{
$i++;
$avatar_erreur2 = "Image trop large ou trop longue : (<strong>".$image_sizes[0]."x".$image_sizes[1]."</strong> contre <strong>".$maxwidth."x".$maxheight."</strong>)";
}
$extension_upload = strtolower(substr( strrchr($_FILES['avatar']['name'], '.') ,1));
if (!in_array($extension_upload,$extensions_valides) )
{
$i++;
$avatar_erreur3 = "Extension de l'avatar incorrecte";
}
}
?>
//message
<div id="corps_forum">
<a href ="./index.php">Index du forum</a> / <a href="./register.php">Inscription</a>
<?php
if ($i == 0) // Si i est vide, il n'y a pas d'erreur
{
echo'<h1>Inscription terminée</h1>';
echo'<p>Bienvenue '.$_POST['pseudo'].' vous êtes maintenant inscrit sur le forum</p>';
echo'<p>Cliquez <a href="./index.php">ici</a> pour revenir à la page d accueil</p>';
if (isset($_FILES['avatar']['size']))
{
//On déplace l'avatar
$avatar = time();
$nomavatar = str_replace(' ','',$avatar).".".$extension_upload;
$avatar = "./images/avatars/".str_replace(' ','',$avatar).".".$extension_upload;
move_uploaded_file($_FILES['avatar']['tmp_name'],$avatar);
}
//On vérifie que les champs ne continennent pas de html
//Puis on crypte le mot de passe
$temps = time();
$signature = mysql_real_escape_string(htmlspecialchars($_POST['signature'], ENT_QUOTES));
$signature = nl2br($signature);
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'], ENT_QUOTES));
$email = mysql_real_escape_string(htmlspecialchars($_POST['email'], ENT_QUOTES));
$msn = mysql_real_escape_string(htmlspecialchars($_POST['msn'], ENT_QUOTES));
$website = mysql_real_escape_string(htmlspecialchars($_POST['website'], ENT_QUOTES));
$localisation = mysql_real_escape_string(htmlspecialchars($_POST['localisation'], ENT_QUOTES));
$pass = md5($_POST['password']);
//On balance le tout dans notre table
mysql_query('
INSERT INTO forum_membres (membre_pseudo, membre_mdp, membre_email,
membre_msn, membre_siteweb, membre_avatar,
membre_signature, membre_localisation, membre_inscrit,
membre_derniere_visite)
VALUES ("'.$pseudo.'" , "'.$pass.'" , "'.$email.'" ,
"'.$msn.'" , "'.$website.'" , "'.$nomavatar.'" ,
"'.$signature.'" , "'.$localisation.'" , "'.$temps.'" ,
"'.$temps.'" ) ') or die(mysql_error());
//Et on définit les variables de sessions
$_SESSION['pseudo'] = $pseudo;
$_SESSION['id'] = mysql_insert_id();
$_SESSION['level'] = 1;
}
else
{
echo'<h1>Inscription interrompue</h1>';
echo'<p>Une ou plusieurs erreurs se sont produites pendant l incription</p>';
echo'<p>'.$i.' erreur(s)</p>';
echo'<p>'.$pseudo_erreur1.'</p>';
echo'<p>'.$pseudo_erreur2.'</p>';
echo'<p>'.$mdp_erreur.'</p>';
echo'<p>'.$email_erreur1.'</p>';
echo'<p>'.$email_erreur2.'</p>';
echo'<p>'.$msn_erreur.'</p>';
echo'<p>'.$signature_erreur.'</p>';
echo'<p>'.$avatar_erreur.'</p>';
echo'<p>'.$avatar_erreur1.'</p>';
echo'<p>'.$avatar_erreur2.'</p>';
echo'<p>'.$avatar_erreur3.'</p>';
echo'<p>Cliquez <a href="./register.php">ici</a> pour recommencer</p>';
}
mysql_close();
?>
</div>
</body>
</html>
voici le resultat:
http://zoussene.freeheberg.com/
je l'ai refait:
[register.php]:
[php]
<h1>Inscription 1/2</h1>
<form method="post" action="registerok.php" enctype="multipart/form-data">
<fieldset><legend>Identifiants</legend>
<label for="pseudo">* Pseudo :</label> <input name="pseudo" type="text" id="pseudo" /> (le pseudo doit contenir entre 3 et 15 caractères)<br />
<label for="password">* Mot de Passe :</label><input type="password" name="password" id="password" /><br />
<label for="confirm">* Confirmer le mot de passe :</label><input type="password" name="confirm" id="confirm" />
</fieldset>
<fieldset><legend>Contacts</legend>
<label for="email">* Votre adresse Mail :</label><input type="text" name="email" id="email" /><br />
<label for="msn">Votre adresse MSN :</label><input type="text" name="msn" id="msn" /><br />
<label for="website">Votre site web :</label><input type="text" name="website" id="website" />
</fieldset>
<fieldset><legend>Informations supplémentaires</legend>
<label for="localisation">Localisation :</label><input type="text" name="localisation" id="localisation" />
</fieldset>
<fieldset><legend>Profil sur le forum</legend>
<label for="avatar">Choisissez votre avatar :</label><input type="file" name="avatar" id="avatar" />(Taille max : 10 ko)<br />
<label for="signature">Signature :</label><textarea cols="40" rows="4" name="signature" id="signature">La signature est limitée à 200 caractères</textarea>
</fieldset>
<p>Les champs précédés d un * sont obligatoires</p>
<p><input type="submit" value="S'inscrire" /></p></form>
</h2>
</div>
</body>
</html>
[/php]
et [registerok.php]:
[php]
<?php
//Cette fonction doit être appelée avant tout code html
session_start();
//On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
$titre = "Index du forum";
include("includes/debut.php");
?>
<body>
<div id="banniere"></div>
<?php
//Maintenant, on se connecte à la base de données
include("includes/identifiants.php");
mysql_connect($localhost, $root, $);
mysql_select_db($zoussene?connexion);
$pseudo_erreur1 = "";
$pseudo_erreur2 = "";
$mdp_erreur = "";
$email_erreur1 = "";
$email_erreur2 = "";
$msn_erreur = "";
$signature_erreur = "";
$avatar_erreur = "";
$avatar_erreur1 = "";
$avatar_erreur2 = "";
$avatar_erreur3 = "";
// pseudo et mot de passe
<?php
$i = 0;
//Vérification du pseudo
$nombrepseudo = mysql_result(mysql_query('SELECT COUNT(*) FROM forum_membres WHERE membre_pseudo = "'.$_POST['pseudo'].'"'), 0);
if($nombrepseudo != 0)
{
$pseudo_erreur1 = "Votre pseudo est déjà utilisé par un membre";
$i++;
}
if (strlen($_POST['pseudo']) < 3 || strlen($_POST['pseudo']) > 15)
{
$pseudo_erreur2 = "Votre pseudo est soit trop grand, soit trop petit";
$i++;
}
//Vérification du mdp
if ($_POST['password'] != $_POST['confirm'] || empty($_POST['confirm']) || empty($_POST['password']))
{
$mdp_erreur = "Votre mot de passe et votre confirmation diffèrent, ou sont vides";
$i++;
}
?>
// e-mail, MSN et Signature
<?php
//Vérification de l'adresse email
//Il faut que l'adresse email n'ait jamais été utilisée
$nombremail = mysql_result(mysql_query('SELECT COUNT(*) FROM forum_membres WHERE membre_email = "'.$_POST['email'].'"'), 0);
if ($nombremail!= 0)
{
$email_erreur1 = "Votre adresse email est déjà utilisée par un membre";
$i++;
}
//On vérifie la forme maintenant
if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['email']) || empty($_POST['email']))
{
$email_erreur2 = "Votre adresse E-Mail n'a pas un format valide";
$i++;
}
//Vérification de l'adresse MSN
if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['msn']) && !empty($_POST['msn']))
{
$msn_erreur = "Votre adresse MSN n'a pas un format valide";
$i++;
}
//Vérification de la signature
if (strlen($_POST['signature']) > 200)
{
$signature_erreur = "Votre signature est trop longue";
$i++;
}
?>
// l'avatar
<?php
//Vérification de l'avatar :
if (!empty($_FILES['avatar']['size']))
{
//On définit les variables :
$maxsize = 10024; //Poid de l'image
$maxwidth = 100; //Largeur de l'image
$maxheight = 100; //Longueur de l'image
$extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides
if ($_FILES['avatar']['error'] > 0)
{
$avatar_erreur = "Erreur lors du tranfsert de l'avatar : ";
}
if ($_FILES['avatar']['size'] > $maxsize)
{
$i++;
$avatar_erreur1 = "Le fichier est trop gros : (<strong>".$_FILES['avatar']['size']." Octets</strong> contre <strong>".$maxsize." Octets</strong>)";
}
$image_sizes = getimagesize($_FILES['avatar']['tmp_name']);
if ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight)
{
$i++;
$avatar_erreur2 = "Image trop large ou trop longue : (<strong>".$image_sizes[0]."x".$image_sizes[1]."</strong> contre <strong>".$maxwidth."x".$maxheight."</strong>)";
}
$extension_upload = strtolower(substr( strrchr($_FILES['avatar']['name'], '.') ,1));
if (!in_array($extension_upload,$extensions_valides) )
{
$i++;
$avatar_erreur3 = "Extension de l'avatar incorrecte";
}
}
?>
//message
<div id="corps_forum">
<a href ="./index.php">Index du forum</a> / <a href="./register.php">Inscription</a>
<?php
if ($i == 0) // Si i est vide, il n'y a pas d'erreur
{
echo'<h1>Inscription terminée</h1>';
echo'<p>Bienvenue '.$_POST['pseudo'].' vous êtes maintenant inscrit sur le forum</p>';
echo'<p>Cliquez <a href="./index.php">ici</a> pour revenir à la page d accueil</p>';
if (isset($_FILES['avatar']['size']))
{
//On déplace l'avatar
$avatar = time();
$nomavatar = str_replace(' ','',$avatar).".".$extension_upload;
$avatar = "./images/avatars/".str_replace(' ','',$avatar).".".$extension_upload;
move_uploaded_file($_FILES['avatar']['tmp_name'],$avatar);
}
//On vérifie que les champs ne continennent pas de html
//Puis on crypte le mot de passe
$temps = time();
$signature = mysql_real_escape_string(htmlspecialchars($_POST['signature'], ENT_QUOTES));
$signature = nl2br($signature);
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'], ENT_QUOTES));
$email = mysql_real_escape_string(htmlspecialchars($_POST['email'], ENT_QUOTES));
$msn = mysql_real_escape_string(htmlspecialchars($_POST['msn'], ENT_QUOTES));
$website = mysql_real_escape_string(htmlspecialchars($_POST['website'], ENT_QUOTES));
$localisation = mysql_real_escape_string(htmlspecialchars($_POST['localisation'], ENT_QUOTES));
$pass = md5($_POST['password']);
//On balance le tout dans notre table
mysql_query('
INSERT INTO forum_membres (membre_pseudo, membre_mdp, membre_email,
membre_msn, membre_siteweb, membre_avatar,
membre_signature, membre_localisation, membre_inscrit,
membre_derniere_visite)
VALUES ("'.$pseudo.'" , "'.$pass.'" , "'.$email.'" ,
"'.$msn.'" , "'.$website.'" , "'.$nomavatar.'" ,
"'.$signature.'" , "'.$localisation.'" , "'.$temps.'" ,
"'.$temps.'" ) ') or die(mysql_error());
//Et on définit les variables de sessions
$_SESSION['pseudo'] = $pseudo;
$_SESSION['id'] = mysql_insert_id();
$_SESSION['level'] = 1;
}
else
{
echo'<h1>Inscription interrompue</h1>';
echo'<p>Une ou plusieurs erreurs se sont produites pendant l incription</p>';
echo'<p>'.$i.' erreur(s)</p>';
echo'<p>'.$pseudo_erreur1.'</p>';
echo'<p>'.$pseudo_erreur2.'</p>';
echo'<p>'.$mdp_erreur.'</p>';
echo'<p>'.$email_erreur1.'</p>';
echo'<p>'.$email_erreur2.'</p>';
echo'<p>'.$msn_erreur.'</p>';
echo'<p>'.$signature_erreur.'</p>';
echo'<p>'.$avatar_erreur.'</p>';
echo'<p>'.$avatar_erreur1.'</p>';
echo'<p>'.$avatar_erreur2.'</p>';
echo'<p>'.$avatar_erreur3.'</p>';
echo'<p>Cliquez <a href="./register.php">ici</a> pour recommencer</p>';
}
mysql_close();
?>
</div>
</body>
</html>
[/php]
voici le resultat:[url]http://zoussene.freeheberg.com/[/url]