Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

UN ESPACE MEMBRE AVEC SYSTEME DE VALIDATION


Information sur la source

Description

Cliquez pour voir la capture en taille normale
Gràce à ce code, les membres pourront valider leur compte depuis leur email, et en plus on sait jamais, peut etre que quelqu'un qui n'a rien à faire s'inscrit sur votre site et met n'importe quoi?
 

Source

  • La table mysql
  • CREATE TABLE membre (
  • id int(11) NOT NULL auto_increment,
  • pseudo varchar(255) NOT NULL default '',
  • pass varchar(255) NOT NULL default '',
  • email varchar(255) NOT NULL default '',
  • confirm varchar(25) NOT NULL default '',
  • KEY id (id)
  • ) TYPE=MyISAM;
  • test.php
  • <form action="test2.php" method="post"><div align="center"> <p><a href="inscr.php">Inscription.</a></p> <table width="244" border="1" bordercolor="#FF0000"> <tr> <td width="64">Pseudo : </td> <td width="164"><input name="pseudo" type="text" id="pseudo"></td> </tr> <tr> <td>Pass : </td> <td><input name="pass" type="password" id="pass"></td> </tr> </table> <p> <input type="submit" name="Submit" value="Envoyer"> </p></div></form>
  • test2.php
  • <?
  • session_start();
  • $_POST['pseudo'] == $_SESSION['pseudo'];
  • $_POST['pass'] == $_SESSION['pass'];
  • if (empty($_POST['pseudo']) AND ($_POST['pass']))
  • {
  • echo 'Vous avez oublié de mettre des données';
  • }
  • else
  • {
  • mysql_connect("localhost","xxxx","xxxxx");
  • mysql_select_db("xxxxx");
  • $sql = mysql_query("SELECT * FROM membre WHERE pseudo='$_POST[pseudo]'") or die('erreur:' .mysql_error());
  • while ($donnees = mysql_fetch_array($sql))
  • {
  • if ($_POST['pass'] == $donnees['pass'])
  • {
  • // si le mot de passe est bon, mettez ici ce que vous voulez
  • header("location:espace.php");
  • }
  • else
  • {
  • echo 'Votre mot de passe ou votre pseudo n\'est pas correcte, si vous n\'etes pas inscrit, veuillez vous inscrire!!<br>';
  • echo '<a href="test.php">Retournez au menu</a>';
  • }
  • }
  • mysql_close();
  • }
  • ?>
  • espace.php
  • <?
  • session_start();
  • if (!isset($_SESSION['pseudo']) AND ($_SESSION['pass']))
  • {
  • echo 'Vous n\'avez pas le droit d\'afficher cette page';
  • include ('test.php');
  • }
  • else
  • {
  • ?>
  • <center><h2>Voici les membres déjà inscrits</h2></center><br>
  • Bienvenu <? echo $_SESSION['pseudo']; ?>
  • <?
  • mysql_connect("localhost","xxxx","xxxxx");
  • mysql_select_db("xxxx");
  • $sql = mysql_query("SELECT pseudo FROM membre") or die ('erreur :' .mysql_error());
  • if (mysql_num_rows($sql)==0){echo'Aucun membre inscrits';}
  • else
  • {
  • while($lol = mysql_fetch_array($sql))
  • {
  • ?>
  • <center><? echo $lol['pseudo']; ?></center><br>
  • <?
  • // Et continuez avec ce que vous voulez ici en html ou en php
  • }
  • }
  • }
  • ?>
  • inscr.php
  • <html><head><title>Document sans titre</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body><form action="inser.php" method="post"><div align="center"> <p>Inscription des membres : </p> <table width="215" height="103" border="0"> <tr> <td width="61">Pseudo : </td> <td width="144"><input name="pseudo" type="text" id="pseudo"></td> </tr> <tr> <td>Pass : </td> <td><input name="pass" type="password" id="pass"></td> </tr> <tr> <td>Email : </td> <td><input name="email" type="text" id="email"></td> </tr> </table> <p> <input type="submit" name="Submit" value="Envoyer"> </p></div></form></body></html>
  • inser.php
  • <?
  • $chaine = "abcdefghijklmnopqrstuvwxyz0123456789";
  • $tele = str_shuffle($chaine);
  • $pseudo = htmlentities($_POST['pseudo']);
  • $pass = htmlentities($_POST['pass']);
  • $email = addslashes($_POST['email']);
  • $message = 'Cher '.$pseudo.',';
  • $message .= 'Ceci est un mail automatique de confirmation d\'inscription au site de Dyto : http://membres.lycos.fr/dyto1/cedric .';
  • $message .= 'Pour confirmer et ainsi terminer l\'inscription à votre compte, veuillez cliquer sur le lien de confirmation: ';
  • $message .= 'http://membres.lycos.fr/dyto1/confirm.php?pseudo='.str_replace(' ','%20',$pseudo);
  • if (!empty($pseudo) && !empty($pass) && !empty($email))
  • {
  • mysql_connect("localhost","xxxx","xxxx");
  • mysql_select_db("xxxxx");
  • $lol = mysql_query("INSERT INTO membre VALUES('','$pseudo','$pass','$email','0')") or die('erreur: '.mysql_error());
  • echo 'Vous avez bien été rajoutée, un email va etre envoye dans votre email';
  • mail($email,'Confirmation d\'inscription à Dytomania',$message);
  • }
  • else
  • {
  • echo 'Vous avez oublié de mettre un champ';
  • }
  • mysql_close();
  • ?>
  • confirm.php
  • <?
  • mysql_connect("localhost","dyto1","frfrfr");
  • mysql_select_db("dyto1");
  • $mimi = mysql_query("UPDATE membre SET confirm='1' WHERE pseudo='$_GET[pseudo]'") or die ('erreur : '.mysql_error());
  • echo 'Vous avez bien été validée, cliqez <a href="index.php">ici</a> pour retourner a l\index<br>';
  • echo 'Merci Ced';
  • ?>
La table mysql
CREATE TABLE membre (
id int(11) NOT NULL auto_increment,
pseudo varchar(255) NOT NULL default '',
pass varchar(255) NOT NULL default '',
email varchar(255) NOT NULL default '',
confirm varchar(25) NOT NULL default '',
KEY id (id)
) TYPE=MyISAM;

test.php
<form action="test2.php" method="post"><div align="center">  <p><a href="inscr.php">Inscription.</a></p>  <table width="244" border="1" bordercolor="#FF0000">    <tr>      <td width="64">Pseudo : </td>      <td width="164"><input name="pseudo" type="text" id="pseudo"></td>    </tr>    <tr>      <td>Pass : </td>      <td><input name="pass" type="password" id="pass"></td>    </tr>  </table>  <p>    <input type="submit" name="Submit" value="Envoyer">  </p></div></form>

test2.php
<?
session_start();
$_POST['pseudo'] == $_SESSION['pseudo'];
$_POST['pass'] == $_SESSION['pass'];

if (empty($_POST['pseudo']) AND ($_POST['pass']))
{
echo 'Vous avez oublié de mettre des données';
}
else
{
mysql_connect("localhost","xxxx","xxxxx");
mysql_select_db("xxxxx");

$sql = mysql_query("SELECT * FROM membre WHERE pseudo='$_POST[pseudo]'") or die('erreur:' .mysql_error());
while ($donnees = mysql_fetch_array($sql))
  {
    if ($_POST['pass'] == $donnees['pass']) 
    {
    // si le mot de passe est bon, mettez ici ce que vous voulez
    header("location:espace.php");
    }
    else
    {
    echo 'Votre mot de passe ou votre pseudo n\'est pas correcte, si vous n\'etes pas inscrit, veuillez vous inscrire!!<br>';
    echo '<a href="test.php">Retournez au menu</a>';
    }
  }    
  mysql_close();

} 
?>   

espace.php
<?
session_start();
if (!isset($_SESSION['pseudo']) AND ($_SESSION['pass']))
{
echo 'Vous n\'avez pas le droit d\'afficher cette page';
include ('test.php');

}
else
{
?>

<center><h2>Voici les membres déjà inscrits</h2></center><br>
Bienvenu <? echo $_SESSION['pseudo']; ?>

<?
mysql_connect("localhost","xxxx","xxxxx");
mysql_select_db("xxxx");

$sql = mysql_query("SELECT pseudo FROM membre") or die ('erreur :' .mysql_error());
if (mysql_num_rows($sql)==0){echo'Aucun membre inscrits';} 
else
{
while($lol = mysql_fetch_array($sql))
{
?>

<center><? echo $lol['pseudo']; ?></center><br>
<?

// Et continuez avec ce que vous voulez ici en html ou en php
}
}
}
?>

inscr.php
<html><head><title>Document sans titre</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body><form action="inser.php" method="post"><div align="center">  <p>Inscription des membres : </p>  <table width="215" height="103" border="0">    <tr>      <td width="61">Pseudo : </td>      <td width="144"><input name="pseudo" type="text" id="pseudo"></td>    </tr>    <tr>      <td>Pass : </td>      <td><input name="pass" type="password" id="pass"></td>    </tr>    <tr>      <td>Email : </td>      <td><input name="email" type="text" id="email"></td>    </tr>  </table>  <p>    <input type="submit" name="Submit" value="Envoyer">  </p></div></form></body></html>

inser.php
<?
$chaine = "abcdefghijklmnopqrstuvwxyz0123456789";
$tele = str_shuffle($chaine);
$pseudo = htmlentities($_POST['pseudo']);
$pass = htmlentities($_POST['pass']);
$email = addslashes($_POST['email']);
$message = 'Cher '.$pseudo.',';
$message .= 'Ceci est un mail automatique de confirmation d\'inscription au site de Dyto : http://membres.lycos.fr/dyto1/cedric .';
$message .= 'Pour confirmer et ainsi terminer l\'inscription à votre compte, veuillez cliquer sur le lien de confirmation: ';
$message .= 'http://membres.lycos.fr/dyto1/confirm.php?pseudo='.str_replace(' ','%20',$pseudo);


if (!empty($pseudo) && !empty($pass) && !empty($email))
{
mysql_connect("localhost","xxxx","xxxx");
mysql_select_db("xxxxx");

$lol = mysql_query("INSERT INTO membre VALUES('','$pseudo','$pass','$email','0')") or die('erreur: '.mysql_error());  

echo 'Vous avez bien été rajoutée, un email va etre envoye dans votre email';
mail($email,'Confirmation d\'inscription à Dytomania',$message);
}
else
{
echo 'Vous avez oublié de mettre un champ';
}
mysql_close();
?>

confirm.php
<?
mysql_connect("localhost","dyto1","frfrfr");
mysql_select_db("dyto1");

$mimi = mysql_query("UPDATE membre SET confirm='1' WHERE pseudo='$_GET[pseudo]'") or die ('erreur : '.mysql_error());
echo 'Vous avez bien été validée, cliqez <a href="index.php">ici</a> pour retourner a l\index<br>';
echo 'Merci Ced';
?>

Conclusion

Voilà, je remercie les personnes du sdz qui m'ont aidés et aussi que ce code est disponible sur http://www.siteduzero.com/vostutos/index.php?s=viewtuto&tutoid=224, si ce n'est pas clair, venez sur ce lien, mon code est un peu plus détaillé :D
 

Commentaires et avis

signaler à un administrateur
Commentaire de dyto le 31/05/2004 12:50:15

Mon code est impeccable !!

signaler à un administrateur
Commentaire de Astalavista le 31/05/2004 13:36:50

Je suis pas un Grand programmeur avec un grand G mais je pensse que a ta ligne ou il y a :
$lol = mysql_query("INSERT INTO membre VALUES('','$pseudo','$pass','$email','0')") or die('erreur: '.mysql_error());  

A quoi il sert ton $lol = ??? tu en a pas besoin a mon avis, sinon j'ai pas tester ta source mais elle ma l'air pas mal ...

signaler à un administrateur
Commentaire de Anthomicro le 02/06/2004 21:10:55

Code impeccable c'est très vite dit....

Prenons un exemple :

&lt;?
Heberge ton site sur un hébergeur qui désactive les shorts tags et t'es bonbon. Toujours comme ceci le tag d'ouverture :

&lt;?php

if (empty($_POST['pseudo']) and ($_POST['pass']))
{
echo 'Vous avez oublié de mettre des données';
}
else
{
}

Tu peux raccourcir légèrement :

if (empty($_POST['pseudo'] OR $_POST['pass']))
  echo 'Vous avez oublié de mettre des données';
else
{
}

a +

signaler à un administrateur
Commentaire de Anthomicro le 02/06/2004 21:13:08

Et aussi les requêtes :

mysql_query("UPDATE membre SET confirm='1' WHERE pseudo='$_GET[pseudo]'")

Que c'est laid lol !

Plutôt comme ceci :

mysql_query("UPDATE membre SET confirm='1' WHERE pseudo='".$_GET['pseudo']."'")

a +

signaler à un administrateur
Commentaire de newhack25 le 02/10/2004 10:19:50

nul

signaler à un administrateur
Commentaire de clinik le 28/11/2004 06:51:08

Boff...
Dans ta description de la source tu dis:
«Gràce à ce code, les membres pourront valider leur compte depuis leur email, et en plus on sait jamais, peut etre que quelqu'un qui n'a rien à faire s'inscrit sur votre site et met n'importe quoi?»

Mais quelqu'un qui veux confirmer a qu'a aller sur confirm.php?pseudo=SonPseudo ..

Ta pas pensé a généré un code pour etre sure qu'il a été sur son mail?

signaler à un administrateur
Commentaire de glck le 14/02/2005 13:42:41

je crois bien ke sa vien de www.siteduzero.com de la section vostutos et php

signaler à un administrateur
Commentaire de viran le 01/04/2005 18:31:56

Pourriez vous m'aider, je cherche a créer un truc d'inscription, je suis sur l'interface php Mysql et il me ditq eu je n'ai pas de provilège de base de données et qaund je mets voter script dans la boite de dialogue sql il me met un message d''erreur.

ps : je n'ai jamais fait de php et le serveur php est chez free.

Si vous avez le temps de m'aider.

Merci d'avance.

Viran

signaler à un administrateur
Commentaire de viran le 04/04/2005 20:30:01

Merci, depuis quelques jours que j'ai mis mon message j'ai progresser et j'ai compris maintenant, merci et je vais tester ta source.

signaler à un administrateur
Commentaire de homardo le 04/06/2005 15:33:18

dans ce site également www.misfu.com ta pas mal de gens compétent sur les forums..

signaler à un administrateur
Commentaire de jeremy2011 le 11/10/2005 23:31:02

en plus tu ne test pas si le pseudo est confirmé sur la page de verification du login...

signaler à un administrateur
Commentaire de Sean_59 le 19/01/2007 11:49:24

slt bon voila jai ma page index.php fini jai mon tableau avec espace membres (pseudo)(mot de passe) comme une personne entre son pseudo et mot-passe et il clic sur connection comment faire pour que le tableau sa mes bienvenue $pseudo mes plus le tableau (pseudo)(mot de passe) une petite aide svp..

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,22 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.