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 !

INSCRIPTION MEMBRE - AUTHENTIFICATION PAR COOKIES 24H ->> MYSQL


Information sur la source

Catégorie :Application Niveau : Débutant Date de création : 08/02/2004 Date de mise à jour : 13/02/2004 14:56:10 Vu : 12 574

Note :
7,5 / 10 - par 4 personnes
7,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (19)
Ajouter un commentaire et/ou une note

Description

Tres bien alors apres avoir trouvé le problème a resoudre : "Inscription membre - Authentification par cookies 24H ->> MYSQL" on essaye de reagir morceau par morceau c'est a dire que je vais vous apprendre a entrer des données de différentes variables (pseudo password etc...) dans un tableau MYSQL tres facile a gerer et on verra par la suite comment fonctionne une authentification par cookies dont j'ai remarqué sur ce site web (plusieurs personne galere pour son utilisation(alors que c'est trop balostique)). Bref vous devez obligatoirement avant executer le SQL present ci dessous.
 

Source

  • EXECUTEZ LE SQL AVANT UTILISATION DU SCRIPT
  • CREATE TABLE membre (
  • id int(4) NOT NULL auto_increment,
  • pseudo varchar(255) default NULL,
  • email varchar(255) default NULL,
  • password text default NULL,
  • PRIMARY KEY (id)
  • )
  • --> index.php :
  • <html>
  • <body bgcolor="000000">
  • <table width="100%" height="100%">
  • <tr>
  • <td align="center" valign="center">
  • <a href="inscription.php"><font color="ffcc00" face="Arial">Inscription</a></font><br>
  • <a href="login.php"><font color="ffcc00" face="Arial">Authentification</a></font><br>
  • <font color="ffcc00" face="Arial">by <a href="mailto:totoetror@hotmail.com"><font color="ffcc00" face="Arial">sl0b</a> www.team-extent.clan.st</font>
  • </td>
  • </tr>
  • </body>
  • </html>
  • --> inscription.php :
  • <html>
  • <body bgcolor="000000">
  • <table width="100%" height="100%">
  • <tr>
  • <td align="center" valign="center">
  • <?
  • echo "<font color='red' face='Aria'">$error";
  • ?>
  • <form action="inscriptionmysql.php" method="post">
  • <font color="ffcc00" face="Arial">login : <input type='text' name='pseudo' style='WIDTH:110; TEXT-ALIGN=left;'><br>
  • pw : <input type='password' name='password' style='WIDTH:110; TEXT-ALIGN=left;'><br>
  • email : <input type='text' name='email' style='WIDTH:110; TEXT-ALIGN=left;'><br>
  • <font color="ffcc00" face="Arial">by <a href="mailto:totoetror@hotmail.com"><font color="ffcc00" face="Arial">sl0b</a> www.team-extent.clan.st</font>
  • </td>
  • </tr></form>
  • </body>
  • </html>
  • --> inscriptionmysql.php :
  • <?
  • if(empty($pseudo)) {
  • $error="You have forget your pseudo";
  • $here="here";
  • include ("inscription.php");
  • exit;
  • }
  • if(empty($password)) {
  • $error="You have forget your password";
  • $here="here";
  • include ("inscription.php");
  • exit;
  • }
  • if(empty($email)) {
  • $error="You have forget your email";
  • $here="here";
  • include ("inscription.php");
  • exit;
  • }
  • ?>
  • <html>
  • <head>
  • <link rel="stylesheet" type="text/css" href="px.css">
  • <script language="javascript">
  • function alerter()
  • {
  • alert("OK !\n\nInscription parfaite !");
  • }
  • </script>
  • </head>
  • <body>
  • <?
  • $host = "localhost"; // votre host sql (ex: sql.free.fr)
  • $user = "root"; // votre identifiant
  • $pass = ""; // votre password
  • $bdd = "membre"; // le nom de votre base de donné
  • $table = "membre"; // par défaut le nom de votre table est news mais si vous voulez le changer libre a vous (n'oubliez pas de changer aussi le fichier .sql)
  • $conect = @mysql_connect($host,$user,$pass)
  • or die("Connection impossible");
  • $select = @mysql_select_db("$bdd")
  • or die("Connection impossible a la base de données");
  • $requette=mysql_query("INSERT INTO $table VALUES( '', '$pseudo', '$email', '$password')");
  • sql_ok($requette);
  • function sql_ok($requette){
  • if (!$requette) {
  • echo $strError."\n";
  • echo $strSQLQuery." ".$sql_query." ".$strProducedAnError."\n";
  • echo $strMySQLSaid.mysql_error();
  • }
  • else {
  • echo "<script language=\"Javascript\">";
  • echo "alerter ();";
  • echo "</script>";
  • include("membre.php");
  • ; }
  • }
  • ?>
  • </body>
  • </html>
  • --> login.php :
  • <html>
  • <body bgcolor="000000">
  • <table width="100%" height="100%">
  • <tr>
  • <td align="center" valign="center">
  • <?
  • echo "<font color='red' face='Arial'>$error";
  • ?>
  • <form action="verif.php" method="post">
  • <font color="ffcc00" face="Arial">login : <input type='text' name='pseudo' style='WIDTH:110; TEXT-ALIGN=left;'><br>
  • pw : <input type='password' name='password' style='WIDTH:110; TEXT-ALIGN=left;'><br>
  • <font color="ffcc00" face="Arial">by <a href="mailto:totoetror@hotmail.com"><font color="ffcc00" face="Arial">sl0b</a> www.team-extent.clan.st</font>
  • </td>
  • </tr></form>
  • </body>
  • </html>
  • --> verif.php :
  • <?php
  • $host = "localhost"; // votre host sql (ex: sql.free.fr)
  • $user = "root"; // votre identifiant
  • $pass = ""; // votre password
  • $bdd = "membre"; // le nom de votre base de donné
  • $table = "membre"; // par défaut le nom de votre table est news mais si vous voulez le changer libre a vous (n'oubliez pas de changer aussi le fichier .sql)
  • $base_id = mysql_connect($host, $user,$pass);
  • if (!$base_id)
  • {
  • echo "Connexion à la base de données impossible !";
  • }
  • if (! mysql_select_db("$bdd"))
  • {
  • echo "Impossible de sélectionner la base de données !";
  • }
  • // Requette SQL
  • $query = "Select * From membre where pseudo = '".$pseudo."' and password = '".$password."'";
  • $resultat = mysql_query($query,$base_id);
  • if(mysql_num_rows($resultat) != 0)
  • {
  • $CVTime = time()+86400;//Durée de vie du cookie en secondes, ici c'est 1h
  • ob_start();//ca c'est pr pouvoir faire header() apres setcookie()
  • setcookie(extentpasswordcookies,$password,$CVTime);
  • setcookie(extentpseudocookies,$pseudo,$CVTime);
  • header("Location: http://localhost/membre.php");
  • ob_end_flush();
  • exit;
  • }
  • else
  • {
  • // Ici le message d'alerte si l'autentification n'est pas réussie
  • print"<script>alert('Login ou password invalide.');</script>";
  • // Rappel de la fonction d'identification
  • $error = "Login or password invalide";
  • include ("login.php");
  • }
  • ?>
  • --> membre.php :
  • <?
  • if (empty($_COOKIE[extentpasswordcookies])) {
  • include ("index.php");
  • exit;
  • }
  • if (empty($_COOKIE[extentpseudocookies])) {
  • include ("index.php");
  • exit;
  • }
  • ?>
  • <html>
  • <body bgcolor="000000">
  • <table width="100%" height="100%">
  • <tr>
  • <td align="center" valign="center">
  • <?
  • echo "<font color='ffcc00' face='Arial'>yepppp <b>$_COOKIE[extentpseudocookies]</b> putin t'as trop une bonne mine avec ton vieux password : <b>$_COOKIE[extentpasswordcookies]</b> lol normalement ici c'est ta partie membre sécurisé";
  • ?>
  • <font color="ffcc00" face="Arial">by <a href="mailto:totoetror@hotmail.com"><font color="ffcc00" face="Arial">sl0b</a> www.team-extent.clan.st</font>
  • </td>
  • </tr>
  • </body>
  • </html>
EXECUTEZ LE SQL AVANT UTILISATION DU SCRIPT

CREATE TABLE membre (
  id int(4) NOT NULL auto_increment,
  pseudo varchar(255) default NULL,
  email varchar(255) default NULL,
  password text default NULL,
  PRIMARY KEY  (id)
)

--> index.php : 
<html>
<body bgcolor="000000">
<table width="100%" height="100%">
<tr>
<td align="center" valign="center">
<a href="inscription.php"><font color="ffcc00" face="Arial">Inscription</a></font><br>
<a href="login.php"><font color="ffcc00" face="Arial">Authentification</a></font><br>
<font color="ffcc00" face="Arial">by <a href="mailto:totoetror@hotmail.com"><font color="ffcc00" face="Arial">sl0b</a> www.team-extent.clan.st</font>
</td>
</tr>
</body>
</html>

--> inscription.php :

<html>
<body bgcolor="000000">
<table width="100%" height="100%">
<tr>
<td align="center" valign="center">
<?
echo "<font color='red' face='Aria'">$error";
?>
<form action="inscriptionmysql.php" method="post">
<font color="ffcc00" face="Arial">login : <input type='text' name='pseudo'  style='WIDTH:110; TEXT-ALIGN=left;'><br>
pw : <input type='password' name='password'  style='WIDTH:110; TEXT-ALIGN=left;'><br>
email : <input type='text' name='email' style='WIDTH:110; TEXT-ALIGN=left;'><br>
<font color="ffcc00" face="Arial">by <a href="mailto:totoetror@hotmail.com"><font color="ffcc00" face="Arial">sl0b</a> www.team-extent.clan.st</font>
</td>
</tr></form>
</body>
</html>

--> inscriptionmysql.php : 

<?
if(empty($pseudo)) {
$error="You have forget your pseudo";
$here="here";
include ("inscription.php");
exit;
}
if(empty($password)) {
$error="You have forget your password";
$here="here";
include ("inscription.php");
exit;
}
if(empty($email)) {
$error="You have forget your email";
$here="here";
include ("inscription.php");
exit;
}
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="px.css">
<script language="javascript">
function alerter()
	{
		alert("OK !\n\nInscription parfaite !");
	}
</script>
</head>
<body>
<?
$host = "localhost";  // votre host sql (ex: sql.free.fr)
$user = "root";  // votre identifiant
$pass = "";  // votre password
$bdd  = "membre"; // le nom de votre base de donné
$table = "membre"; // par défaut le nom de votre table est news mais si vous voulez le changer libre a vous (n'oubliez pas de changer aussi le fichier .sql)

$conect = @mysql_connect($host,$user,$pass)
   or die("Connection impossible");
$select = @mysql_select_db("$bdd")
   or die("Connection impossible a la base de données");

$requette=mysql_query("INSERT INTO $table VALUES( '', '$pseudo', '$email', '$password')");
sql_ok($requette);

function sql_ok($requette){
  if (!$requette) {
    echo $strError."\n";
    echo $strSQLQuery."  ".$sql_query."  ".$strProducedAnError."\n";
    echo $strMySQLSaid.mysql_error();
 }
	else {
	echo "<script language=\"Javascript\">";
    echo "alerter ();";
    echo "</script>";
	include("membre.php");
	; }

  }
?>
</body>
</html>

--> login.php :

<html>
<body bgcolor="000000">
<table width="100%" height="100%">
<tr>
<td align="center" valign="center">
<?
echo "<font color='red' face='Arial'>$error";
?>
<form action="verif.php" method="post">
<font color="ffcc00" face="Arial">login : <input type='text' name='pseudo'  style='WIDTH:110; TEXT-ALIGN=left;'><br>
pw : <input type='password' name='password'  style='WIDTH:110; TEXT-ALIGN=left;'><br>
<font color="ffcc00" face="Arial">by <a href="mailto:totoetror@hotmail.com"><font color="ffcc00" face="Arial">sl0b</a> www.team-extent.clan.st</font>
</td>
</tr></form>
</body>
</html>

--> verif.php :

<?php
$host = "localhost";  // votre host sql (ex: sql.free.fr)
$user = "root";  // votre identifiant
$pass = "";  // votre password
$bdd  = "membre"; // le nom de votre base de donné
$table = "membre"; // par défaut le nom de votre table est news mais si vous voulez le changer libre a vous (n'oubliez pas de changer aussi le fichier .sql)

$base_id = mysql_connect($host, $user,$pass);
if (!$base_id)
{
echo "Connexion à la base de données impossible !";
}
if (! mysql_select_db("$bdd"))
{
echo "Impossible de sélectionner la base de données !";
}
    // Requette SQL
    $query = "Select * From membre where pseudo = '".$pseudo."' and password = '".$password."'";
    $resultat = mysql_query($query,$base_id);
    if(mysql_num_rows($resultat) != 0)
        {
$CVTime = time()+86400;//Durée de vie du cookie en secondes, ici c'est 1h
      ob_start();//ca c'est pr pouvoir faire header() apres setcookie()
        setcookie(extentpasswordcookies,$password,$CVTime);
        setcookie(extentpseudocookies,$pseudo,$CVTime);
        header("Location: http://localhost/membre.php");
      ob_end_flush();
      exit;
        }
    else
        {
        // Ici le message d'alerte si l'autentification n'est pas réussie
        print"<script>alert('Login ou password invalide.');</script>";
        // Rappel de la fonction d'identification
        $error = "Login or password invalide";
        include ("login.php");
        }
?>

--> membre.php :

<?
if (empty($_COOKIE[extentpasswordcookies])) {
include ("index.php");
exit;
}
if (empty($_COOKIE[extentpseudocookies])) {
include ("index.php");
exit;
}
?>
<html>
<body bgcolor="000000">
<table width="100%" height="100%">
<tr>
<td align="center" valign="center">
<?
echo "<font color='ffcc00' face='Arial'>yepppp <b>$_COOKIE[extentpseudocookies]</b> putin t'as trop une bonne mine avec ton vieux password : <b>$_COOKIE[extentpasswordcookies]</b> lol normalement ici c'est ta partie membre sécurisé";
?>
<font color="ffcc00" face="Arial">by <a href="mailto:totoetror@hotmail.com"><font color="ffcc00" face="Arial">sl0b</a> www.team-extent.clan.st</font>
</td>
</tr>
</body>
</html>

Conclusion

Bref voila alors je tiens juste a signaler que dans la page verif.php j'utilise un headers pas tres facile gerer ( ex : "header("Location: http://localhost/membre.php");") justement il le lien qui est inscrit qui est en ce momment : http://localhost/membre.php doit etre dirigé vers votre partie membre. Bref sinon je n'ai pas tester le script mais j'attens vos reponses aux plus vite possible pour corriger le(s) bug(s). Good Luck - www.team-extent.clan.st
 

Commentaires et avis

signaler à un administrateur
Commentaire de fser le 09/02/2004 21:04:39

salut,
comme tu as pu le constater, ton script presente quelques failles de securité facilement reparables grâce au hmtlentities.
J'espere que tu n'est pas vexé de la demonstration que nous avons effectué.
si tu as des questions, envoi moi un pv.
+

signaler à un administrateur
Commentaire de HenvimaL le 09/02/2004 22:24:35

nikémooke

signaler à un administrateur
Commentaire de fser le 14/02/2004 02:01:44

on ma dis que tu avais securisé un peu ...
il y a une faute : write ( ecrire ) prend pas de 'h'.
sinon, qu'as tu utilisé pour securiser ça ?

signaler à un administrateur
Commentaire de communicator12 le 14/02/2004 13:30:49

je trouve que ton initiative est bonne , la securite aest  un peut nigligée mais ça peut faire l'affaire ,  

signaler à un administrateur
Commentaire de HenvimaL le 14/02/2004 14:25:22

oui j'ai sécurise pk ? ca te pose probleme ? prochaine fois que tu recommence je te bann de bon site ok ?

signaler à un administrateur
Commentaire de fser le 14/02/2004 17:16:37

pour ton information, j'ai fais un truc Une fois ok ?
ensuite, ça me fairait plaisir de savoir comment tu pourrais me bannir ...
je demande a voir oui .

signaler à un administrateur
Commentaire de HenvimaL le 14/02/2004 17:18:45

simple par un get ip lorsque tu te add sur le site je prends ton ip et je la garde en mysql. et sur ma page index je mes un simple if (ip==TON ip de mYSQL) { print "a+ sous le bus lama"; } c'est trop dur

signaler à un administrateur
Commentaire de fser le 14/02/2004 21:40:55

tu me l'a dja fait, mais tu oublis ( ou je t'apprends ) que comme j'ai l'ADSL, je change d'IP toutes les 24h ...
bon sinon je m'excuse franchement si tu as mal pris cette demo.
d'ailleurs je trouve ton script tres bien !!
je vais m'en servir un ptit peu même, c'est dire !
serieux dsl !enterrons la hache de guerre ...
( ps : ta corrigé la faute du write ? )

signaler à un administrateur
Commentaire de JMPoux le 16/02/2004 03:44:19

en français, connexion prend un 'x'
:-)

signaler à un administrateur
Commentaire de eMaylo le 18/04/2004 05:29:46

Jai un problème quand je clic sur inscription :
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in c:\program files\easyphp1-7\www\espace membres\inscription.php on line 9

signaler à un administrateur
Commentaire de kipeur le 26/04/2004 00:02:19

changer les variable pour php4 $nick =&gt; $_POST["nick"] voila a vous de jouez

signaler à un administrateur
Commentaire de krowers le 25/08/2004 22:54:12

je mis connais pas mais j'ai detecter 2 erreurs ds index.php   il y a 2 </fond> a placer devant le </a> au lieu de derriere ;)

si je me trompe dit le

signaler à un administrateur
Commentaire de krowers le 25/08/2004 22:54:47

</font> pardon :p

signaler à un administrateur
Commentaire de krowers le 25/08/2004 22:56:56

ds inscription.php la je pense que le </td> et le </tr> serve a rien non?(vers la fin)

signaler à un administrateur
Commentaire de krowers le 25/08/2004 22:59:34

pareil pour le login.php le </td> et </tr> je pense qu'il serve a rien

signaler à un administrateur
Commentaire de Nitrite59 le 17/05/2007 18:47:57

plein de fautes en clair!! lool je prefere ne pas prendre cette source, je prefere en prendre une plus fiable !

signaler à un administrateur
Commentaire de Mopopolm le 23/06/2007 12:54:06

Ca ne marche pas il y a écrit (inscription.php)

Parse error: syntax error, unexpected $end in C:\serveur_\www\Codes\inscription.php on line 226

signaler à un administrateur
Commentaire de Mopopolm le 23/06/2007 18:09:40

Euh non ca marche mais en fait il y a pas de bouton dans la partie inscription ...

signaler à un administrateur
Commentaire de sofmam le 19/01/2008 23:36:58

salut,
code non fiable contient plein de failles de sécurité.
un conseil: préconise les sessions php au lieu de cookies en clair !

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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,218 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é.