alan
Elite
comment je pourrai envoyer des informations d'une page a une autre sans que surfeur aie a faire qqch ....
<?php
if(login_ok==1){
$expire = 365*24*3600;
setcookie("NICK",$name,time()+$expire); }
?>
<html>
<?php if(isset($_COOKIE["NICK"])) {
$logged = "Bienvenue dans la section Membres ". $_COOKIE["NICK"]. ".";
$logged .= "actuellement en construction";
include('membres.php');
}elseif($HTTP_POST_VARS['login']==1){
if (isset($HTTP_POST_VARS))
{
reset($HTTP_POST_VARS);
foreach ($HTTP_POST_VARS as $k=>$elem)
{
${"_$k"}=$elem;
}
}
include ('../inc/function.php');
connect();
$sql = "SELECT id,password FROM forum_members WHERE name='". $name ."'";
// on envoie la requete
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_array($req);
mysql_close();
$pass_db = $data['password'];
$pass_log = md5($pass);
if ($pass_db = $pass_log){
//je mets une variable pour mettre le cookie login_ok
echo "Vous &ecirc;tes bien logger";
}
} else {
$form_login = "form pour se logger";
?>
cmt ca ????Fearless a dit:Une rédirection javascript dans l'entête de la page ?
<?php
require_once("BD.class.php");
require_once("Connect.php");
function testCookies() {
// on vérifie si les cookies sont present
//----------------------------------------------------
// return TRUE si TOUS les cookies sont preésent
// return FALSE si un ou plusieurs cookies sont absent
if(!isset($_COOKIE['AZ_session']) || !isset($_COOKIE['AZ_nosession']) || !isset($_COOKIE['AZ_id']))
return FALSE;
else
return TRUE;
}
function login($login, $mdp) {
// on log la personne (création des cookies)
//----------------------------------------------------
// en IN : - login
// - mot de passe
//----------------------------------------------------
// return FALSE si il y a eu un problème lors du login
// sinon return TRUE
if(($login == '') || ($mdp == ''))
return FALSE;
$bd = new BD(LOG, PASS, BASE, SERVEUR);
if ($bd->enErreur())
return FALSE;
$md5Mdp = md5($mdp);
$resultSelectLogin = $bd->execRequete("SELECT id_membre FROM " .TABLE_membre.
" WHERE pseudo_membre = '" .$login.
"' AND mdp_membre = '" .$md5Mdp."'");
// on vérifie si le log et le pseudo existent dans la DB
$idMembre = $bd->objetSuivant($resultSelectLogin);
if(!$idMembre) {
$bd->quitter();
return FALSE;
}
else {
cleanSession($idMembre->id_membre);
// on rend invalide les anciennes sessions
$idSession = date("U") . (date("U") * 17);
$dateSession = date(Y) . "-" . date(m) . "-" . date(j);
$resultInsertSession = $bd->execRequete("INSERT INTO " .TABLE_session.
" (id_session, id_membre, date_session ) VALUES ( '"
.$idSession. "', "
.$idMembre->id_membre.",'"
.$dateSession."')");
// on insert une nouvelle session
if(!$resultInsertSession) {
echo "<b>Echec de création de session</b>";
$bd->quitter();
return FALSE;
}
else {
noSession($idSession, $idMembre->id_membre);
$bd->quitter();
return TRUE;
}
}
}
function displaySmallLogin($redirection) {
// affichage du petit formulaire pour les logins
// en IN : la page de destination
echo "
<table width=\"125\" cellpadding=\"0\" cellspacing=\"0\">
<form name=\"formulaire_login\" action=\"P_login.php\" method=\"post\">
<input type=\"hidden\" name=\"redirection\" value=\"$redirection\">
<tr>
<td width=\"35\" height=\"25\">
<p align=\"left\">&nbsp;log</p>
</td>
<td width=\"90\" height=\"25\">
<input type=\"text\" name=\"username\" size=\"8\" maxlength=\"40\" value=\"\" />
</td>
</tr>
<tr>
<td width=\"35\" height=\"25\">
<p>&nbsp;pass</p>
</td>
<td width=\"90\" height=\"25\">
<input type=\"password\" name=\"password\" size=\"8\" maxlength=\"40\" value=\"\" />
</td>
</tr>
<tr>
<td width=\"125\" height=\"25\" colspan=\"2\">
<p align=\"center\"><input value=\"login\" class=\"mainoption\"
name=\"send\" type=\"submit\"></p>
</td>
</tr>
</form>
</table>
";
}
function displayLargeLogin($redirection) {
// affichage du grand formulaire pour les logins
// en IN : la page de destination
echo "
<table width=\"300\" cellpadding=\"0\" cellspacing=\"0\">
<form name=\"formulaire_login\" action=\"P_login.php\" method=\"post\">
<tr>
<td width=\"91\" height=\"30\">
<p align=\"left\">&nbsp;pseudo</p>
</td>
<td width=\"193\" height=\"30\">
<input type=\"text\" name=\"username\" size=\"25\" maxlength=\"40\" value=\"\" />
</td>
</tr>
<tr>
<td width=\"91\" height=\"30\">
<p>&nbsp;mot de passe</p>
</td>
<td width=\"193\" height=\"30\">
<input type=\"password\" name=\"password\" size=\"25\" maxlength=\"40\" value=\"\" />
</td>
</tr>
<tr>
<td width=\"290\" height=\"30\" colspan=\"2\">
<input type=\"hidden\" name=\"redirection\" value=\"$redirection\">
<p align=\"center\"><input value=\"login\" class=\"mainoption\"
name=\"send\" type=\"submit\"></p>
</td>
</tr>
</form>
</table>
";
}
function noSession($session, $membre) {
// calcul la valeur de la variable cachée
// crée le cookies noSession (objectif : limiter les accès à la DB)
//----------------------------------------------------
// return TRUE si tout c'est bien passé
// return FALSE en cas de problème
// non communique
setcookie("AZ_session", $session);
setcookie("AZ_nosession", $valNoSession);
setcookie("AZ_id", strval($membre));
}
function checkNoSession() {
// on vérifie la valeur de la variable cachée
//----------------------------------------------------
// si le cookie noSession existe et que ca valeur est valide on return TRUE
// sinon on return FALSE
// non communique
}
function cleanSession($id_membre) {
// on set l'etat des ancienne session d'un membre a dépassé
//----------------------------------------------------
// en IN : - id d'un membre
$bd = new BD(LOG, PASS, BASE, SERVEUR);
if($bd->enErreur())
exit;
$retVal = $bd->execRequete("UPDATE session SET etat_session = 'o' WHERE id_membre = " .$id_membre.
" AND etat_session <> 'o'");
// on update les sessions du membre a 'o'
$bd->quitter();
}
function logout() {
// logout de la personne
if(testCookies()) {
$bd = new BD(LOG, PASS, BASE, SERVER);
if($bd->enErreur())
exit;
$retVal = $bd->execRequete("UPDATE session SET etat_session = 'o' WHERE id_session = '" .$_COOKIE['AZsession']. "'");
SetCookie("AZnoSession",0,31536000);
$bd->quitter();
}
}
?>
<?php
// cette page contiendra le resultat du login
require_once("BD.class.php");
require_once("Connect.php");
require_once("F_login.php");
if(!login($_POST['username'], $_POST['password'])) {
$erreurLogin = TRUE;
} else {
$erreurLogin = FALSE;
}
?>
<html>
<head>
</head>
<body>
<?php
$ref = $_POST['redirection'];
if (!$erreurLogin) echo "<p align=\"center\">log avec succes</p>"; else echo "<p align=\"center\">echec du log</p>";
echo "<br />\n";
echo "<p align=\"center\"><a href=\"".$ref."\">retour a la page principale</a></p>\n";
?>
</body>
</html>