par
Angerfist » 17 févr. 2008, 19:35
Pour te dire franchement c'est pas moi qui est fait le code.
Je l'ai télécharger et installer sur mon site, mais comme il manque quelque petite chose, j'essaye de les ajouter.
Pour le message c'est pas grave je laisse sans. Il verront bien qu'ils ont pas accès a cette partie
Bon comme je le dit c'était un exemple, je croyais y réussir sans votre aide pour le placer a l'endroit que je voulais, j'ai fait quasiment pareil mais sa ne marche pas. (je vais te mettre étape par étape)
menu.non-identifie.html
<TABLE border="1" cellpadding="0" cellspacing="0" width="100%" align="center">
<TR>
<TD height="23" class="prono1">
<TABLE class="prono" width="100%">
<TR>
<TD width="15"><IMG border="0" src="trait-jaune.gif" width="22" height="9" alt=""></TD>
<TD height="15"><div class="menu1"><B><?php echo PRONO_MENU_MON_COMPTE; ?></B></div></TD>
</TR>
</TABLE>
</TD>
</TR>
<TR>
<TD height="20">
<FORM action="login.php" method="post">
<TABLE cellSpacing=0 width="100%" border=0 align="center">
<TBODY>
<TR>
<TD><div class="menu2"><B> <?php echo PRONO_MENU_LOGIN; ?></B></div></TD>
<TD><div class="menu2"><INPUT class="log" size="10" name="user"> </div></TD>
</TR>
<TR>
<TD><div class="menu2"><B> <?php echo PRONO_MENU_MDP; ?></B></div></TD>
<TD><div class="menu2"><INPUT class="log" size="10" type="password" name="pass"></div></TD>
<TD><input type="hidden" name="autoidentification" value="1"><input type="submit" value="Ok"></TD>
</TR>
</TABLE>
</FORM>
</TD>
</TR>
<TR>
<TD colspan="3"><div class="menu2"> <a href="?page=perdu_mdp"><?php echo PRONO_MENU_OUBLIE; ?></a></div>
</TD>
</TR>
</TBODY>
</TABLE>
login.php
<?php
require ("../config.php");
ouverture ();
$autoidentification = isset($_POST['autoidentification']) ? $_POST['autoidentification'] : NULL;
if(!isset($_REQUEST['user']) or !isset($_REQUEST['pass']))
{
header("Location: index.php?page=erreur_login&t=0");
}
elseif ($_REQUEST['user']=='' || $_REQUEST['pass']=='')
{
header("Location: index.php?page=erreur_login&t=0");
}
else
{
$user = addslashes($_REQUEST['user']);
$pass = $_REQUEST['pass'];
$query = "SELECT mot_de_passe FROM phpl_membres WHERE pseudo='$user'";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
$password_crypt = md5($pass);
$modo = $row['admin'];
if($row['mot_de_passe'] != $password_crypt or mysql_num_rows($result)=="0")
{
header("Location: index.php?page=erreur_login&t=1");
}
else
{
$ip = $_SERVER["REMOTE_ADDR"];
$time = time();
$query = "SELECT * FROM phpl_membres WHERE pseudo='$user'";
$result = mysql_query($query) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$row = mysql_fetch_array($result);
$mot_de_passe = $row['mot_de_passe'];
$modo = $row['admin'];
mysql_query("UPDATE phpl_membres SET ip='$ip', last_connect='$time' WHERE pseudo='$user'");
if ($autoidentification) {$expire=365*24*3600;}
else {$expire=3600;}
setcookie("user","$user",time()+$expire,"/","");
setcookie("mot_de_passe","$mot_de_passe",time()+$expire,"/","");
session_start();
session_register('user');
session_register('mot_de_passe');
$_SESSION['user'] = $user;
$_SESSION['mot_de_passe'] = $mot_de_passe;
$_SESSION['modo'] = $modo;
header("Location: index.php");
}}
il me demande d'aller sur index.php mais dedans il y a menu.inc.php
<?
if (isset($_COOKIE['user'])) {$user_pseudo=$_COOKIE['user'];} else {$user_pseudo='';}
if (isset($_COOKIE['mot_de_passe'])) {$user_mdp=$_COOKIE['mot_de_passe'];} else {$user_mdp='';}
VerifSession ($user_pseudo,$user_mdp); // appel de la fonction avec les bon paramètres
if(isset($_SESSION['modo'])) // si la variable de session à été crée donc identifié correctement
{
if($_SESSION["modo"] == 0)
{
$requete= "SELECT pseudo, id_prono FROM phpl_membres WHERE pseudo='$user_pseudo'";
$result = mysql_query($requete);
$row = mysql_fetch_array($result);
$user_pseudo=$row[0];
$user_id=$row[1];
$connecte="oui";
$include="menu.identifie.htm";
include ($include);
}
elseif($_SESSION["modo"] == 1 || $_SESSION["modo"] == 2)
{
$requete= "SELECT pseudo, id_prono FROM phpl_membres WHERE pseudo='$user_pseudo'";
$result = mysql_query($requete);
$row = mysql_fetch_array($result);
$user_pseudo=$row[0];
$user_id=$row[1];
$connecte="oui";
$include="menu.identifie2.htm";
include ($include);
}
}
else
{
$include="menu.non-identifie.htm";
include ($include);
$connecte="non";
}
?>
Enfin fonctions.php
function VerifSession ($user_pseudo,$user_mdp)
{
if ($user_pseudo and $user_mdp)
{
$requete= "SELECT mot_de_passe, id_prono FROM phpl_membres WHERE pseudo='$user_pseudo'";
$result = mysql_query($requete);
$row = mysql_fetch_array($result);
if ($row["mot_de_passe"] == $user_mdp);
$_SESSION['modo'] = $row['modo'];
//session_start();
}
else {$a=0;}
return ("$a");
}
Le problème c'est quand j'entre mon pseudo et pass, il me remet le formulaire comme j'avais dans pour mon exemple

Pour info, j'ai pas oublié de mettre session_start() dans ma page index.php

Pour te dire franchement c'est pas moi qui est fait le code.
Je l'ai télécharger et installer sur mon site, mais comme il manque quelque petite chose, j'essaye de les ajouter.
Pour le message c'est pas grave je laisse sans. Il verront bien qu'ils ont pas accès a cette partie :lol:
Bon comme je le dit c'était un exemple, je croyais y réussir sans votre aide pour le placer a l'endroit que je voulais, j'ai fait quasiment pareil mais sa ne marche pas. (je vais te mettre étape par étape)
menu.non-identifie.html
[php]<TABLE border="1" cellpadding="0" cellspacing="0" width="100%" align="center">
<TR>
<TD height="23" class="prono1">
<TABLE class="prono" width="100%">
<TR>
<TD width="15"><IMG border="0" src="trait-jaune.gif" width="22" height="9" alt=""></TD>
<TD height="15"><div class="menu1"><B><?php echo PRONO_MENU_MON_COMPTE; ?></B></div></TD>
</TR>
</TABLE>
</TD>
</TR>
<TR>
<TD height="20">
<FORM action="login.php" method="post">
<TABLE cellSpacing=0 width="100%" border=0 align="center">
<TBODY>
<TR>
<TD><div class="menu2"><B> <?php echo PRONO_MENU_LOGIN; ?></B></div></TD>
<TD><div class="menu2"><INPUT class="log" size="10" name="user"> </div></TD>
</TR>
<TR>
<TD><div class="menu2"><B> <?php echo PRONO_MENU_MDP; ?></B></div></TD>
<TD><div class="menu2"><INPUT class="log" size="10" type="password" name="pass"></div></TD>
<TD><input type="hidden" name="autoidentification" value="1"><input type="submit" value="Ok"></TD>
</TR>
</TABLE>
</FORM>
</TD>
</TR>
<TR>
<TD colspan="3"><div class="menu2"> <a href="?page=perdu_mdp"><?php echo PRONO_MENU_OUBLIE; ?></a></div>
</TD>
</TR>
</TBODY>
</TABLE>[/php]
login.php
[php]<?php
require ("../config.php");
ouverture ();
$autoidentification = isset($_POST['autoidentification']) ? $_POST['autoidentification'] : NULL;
if(!isset($_REQUEST['user']) or !isset($_REQUEST['pass']))
{
header("Location: index.php?page=erreur_login&t=0");
}
elseif ($_REQUEST['user']=='' || $_REQUEST['pass']=='')
{
header("Location: index.php?page=erreur_login&t=0");
}
else
{
$user = addslashes($_REQUEST['user']);
$pass = $_REQUEST['pass'];
$query = "SELECT mot_de_passe FROM phpl_membres WHERE pseudo='$user'";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
$password_crypt = md5($pass);
$modo = $row['admin'];
if($row['mot_de_passe'] != $password_crypt or mysql_num_rows($result)=="0")
{
header("Location: index.php?page=erreur_login&t=1");
}
else
{
$ip = $_SERVER["REMOTE_ADDR"];
$time = time();
$query = "SELECT * FROM phpl_membres WHERE pseudo='$user'";
$result = mysql_query($query) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$row = mysql_fetch_array($result);
$mot_de_passe = $row['mot_de_passe'];
$modo = $row['admin'];
mysql_query("UPDATE phpl_membres SET ip='$ip', last_connect='$time' WHERE pseudo='$user'");
if ($autoidentification) {$expire=365*24*3600;}
else {$expire=3600;}
setcookie("user","$user",time()+$expire,"/","");
setcookie("mot_de_passe","$mot_de_passe",time()+$expire,"/","");
session_start();
session_register('user');
session_register('mot_de_passe');
$_SESSION['user'] = $user;
$_SESSION['mot_de_passe'] = $mot_de_passe;
$_SESSION['modo'] = $modo;
header("Location: index.php");
}}[/php]
il me demande d'aller sur index.php mais dedans il y a menu.inc.php
[php]<?
if (isset($_COOKIE['user'])) {$user_pseudo=$_COOKIE['user'];} else {$user_pseudo='';}
if (isset($_COOKIE['mot_de_passe'])) {$user_mdp=$_COOKIE['mot_de_passe'];} else {$user_mdp='';}
VerifSession ($user_pseudo,$user_mdp); // appel de la fonction avec les bon paramètres
if(isset($_SESSION['modo'])) // si la variable de session à été crée donc identifié correctement
{
if($_SESSION["modo"] == 0)
{
$requete= "SELECT pseudo, id_prono FROM phpl_membres WHERE pseudo='$user_pseudo'";
$result = mysql_query($requete);
$row = mysql_fetch_array($result);
$user_pseudo=$row[0];
$user_id=$row[1];
$connecte="oui";
$include="menu.identifie.htm";
include ($include);
}
elseif($_SESSION["modo"] == 1 || $_SESSION["modo"] == 2)
{
$requete= "SELECT pseudo, id_prono FROM phpl_membres WHERE pseudo='$user_pseudo'";
$result = mysql_query($requete);
$row = mysql_fetch_array($result);
$user_pseudo=$row[0];
$user_id=$row[1];
$connecte="oui";
$include="menu.identifie2.htm";
include ($include);
}
}
else
{
$include="menu.non-identifie.htm";
include ($include);
$connecte="non";
}
?>[/php]
Enfin fonctions.php
[php]function VerifSession ($user_pseudo,$user_mdp)
{
if ($user_pseudo and $user_mdp)
{
$requete= "SELECT mot_de_passe, id_prono FROM phpl_membres WHERE pseudo='$user_pseudo'";
$result = mysql_query($requete);
$row = mysql_fetch_array($result);
if ($row["mot_de_passe"] == $user_mdp);
$_SESSION['modo'] = $row['modo'];
//session_start();
}
else {$a=0;}
return ("$a");
}[/php]
Le problème c'est quand j'entre mon pseudo et pass, il me remet le formulaire comme j'avais dans pour mon exemple :o
Pour info, j'ai pas oublié de mettre session_start() dans ma page index.php ;)