OVH Community, votre nouvel espace communautaire.

Erreur php session.bug_compat_42


Bruno-KS
11/07/2008, 14h06
Ligne 2 :
Code PHP:
session_start(); 
Ligne 17 :
Code PHP:
session_start(); 
On n'utilise session_start() qu'une seule fois et toujours juste après le "
Code PHP:
$connexion mysql_connect('localhost','root','');
$db mysql_select_db(serplus$connexion); 
Je suppose que tu veux effectuer là une connexion à ta base ? Car c'est pas comme ça qu'on fait...

Tu es certain de connaitre le PHP ? Je te conseille de relire quelques cours car là c'est pas trop ça.

Bruno-KS
11/07/2008, 13h55
Si tu n'extrait pas les résultats de ta requête SQL (qui se trouve dans $req), le bon mot de passe ne va pas se trouver dans $data tout seul.

$req = mysql_query("...............") ;
$data = mysql_fetch_array($req) ;
echo "Le mot de passe est : " . $data['pwd']

Darkman
11/07/2008, 12h55
Bah c est si le mot de passe de ma page identification est pas bonne alors ca lui balance erreur de mot de passe

Bruno-KS
11/07/2008, 02h22
Pour récupérer une variable POST proprement :

$_POST['truc'] où truc correspond au contenu de l'attribut "name" de ta balise.

Pour $data['pwd'] : je vois toujours pas d'où il sort, en tant que tel ce script exécutera toujours le else

Darkman
11/07/2008, 02h07
Faudrait le faire comment ?

Bruno-KS
11/07/2008, 01h08
Ce data sort de nulle part on dirait :

Code PHP:
if($data['pwd'] != $_POST['pass']) { 
Pour ce qui est de la méthode, extract(), c'est assez dangereux comme pratique...

Darkman
11/07/2008, 00h58
Bonsoir les gens, Voila j'ai un petit soucis,je veux faire une partie membre selon le niveau des membres.
Donc j ai fait une base sql avec id,pseudo,login,pwd et niveau.

J'ai crée ma page qui me sert de page pour m'identifier.

identification.html

Code HTML:
"login.php" method='post'> "center" border="0">
Login : "text" name="login" maxlength="250">
Password "password"name="pass" maxlength="10">
"2" align="center">"submit" value="log in">
Mon fichier login.php

Code PHP:
session_start();

$connexion mysql_connect('localhost','root','');
$db mysql_select_db(serplus$connexion);

if(isset(
$_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {
  
extract($_POST);
 
$sql "select pwd, niveau from serplus_user where login='" addslashes($_POST['login']) . "'";
  
$req mysql_query($sql) or die('Erreur SQL !
'
.$sql.'
'
.mysql_error());

  if(
$data['pwd'] != $_POST['pass']) {
    echo 
'

Mauvais login / password. Merci de recommencer

'
;
    include(
'identification.php');
  }
  else {
    
session_start();
    echo 
"

Vous etes bien logué

"
;
  }
}
else {
  echo 
'

Vous avez oublié de remplir un champ.

'
;
   include(
'identification.php');
}
?>
et enfin mon menu.php
Code PHP:
if ((!empty($_POST['login'])) && (!empty($_POST['pass']))) {
$_SESSION['login'] = $_POST['login'];
$_SESSION['pass'] = $_POST['pwd'];
$_SESSION['niveau'] = $_POST['niveau'];
exit;
}
if(
$_SESSION['niveau'] == 'membre')
{

echo 
"ici le menu membre";
}
elseif (
$_SESSION['niveau'] == 'admin')
{

echo 
"ici le menu des admin ";
}
else
{
echo 
"ici le menu classique";
}
?>
et je me retrouve avec une erreur :

Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0

Quelqu'un peut m aider svp