Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1193 connectés 

  FORUM HardWare.fr
  Programmation

  session qui marche chez moi, mais pas chez free??

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

session qui marche chez moi, mais pas chez free??

n°105804
haazheel
Posté le 27-02-2002 à 23:08:31  profilanswer
 

Slt à tous,
 
alors chez moi, pas de problèmes, ça roule impec, avec les mêmes settings que Free dans le php.ini. (J'ai comparé les deux phpinfo();)
 
mais chez free, quand une session doit commencer avec le login d'un membre, j'ai ça:
 
Fatal error: open(O_RDWR) failed for session file. The error is No such file or directory (2). Did you forget to create the session directory in your site ? in index.php on line 97
 
Fatal error: open(O_RDWR) failed for session file. The error is No such file or directory (2). Did you forget to create the session directory in your site ? in your script on line 0
 
Voici le code de index.php, avec la ligne 97 en gras:
 

Citation :


<?
include("conf.php" );
require("membres/lib.php" );
 
$explode_rub = explode("/",$rub);
$zone = $explode_rub[0];
$zone_mem = $explode_rub[1];
$zone_adm = $explode_rub[2];
 
if($update_cookie=="oui" )
{
if(!$id_membre)
{
$query = "SELECT id,pref1,pref2,pref3,pref4,cookie FROM membres where pseudo='$pseudo' and motdepasse='$passe_membre'";
$result = mysql_query("$query",$connexion);
$id_membre = @mysql_result($result,0,"id" );
$cookie = @mysql_result($result,0,"cookie" );
$pref1 = @mysql_result($result,0,"pref1" );
$pref2 = @mysql_result($result,0,"pref2" );
$pref3 = @mysql_result($result,0,"pref3" );
$pref4 = @mysql_result($result,0,"pref4" );
}
if($cookie=="oui" )
{
$pseudo_membre = $pseudo;
$comon = $pseudo_membre.";";
$comon .= $id_membre.";";
setcookie("grebas",$comon,time()+999999999);
}
elseif($cookie=="non" )
{
setcookie("grebas" );
}
 
if(!$pref1) { $pref1 = n; }
if(!$pref2) { $pref2 = n; }
if(!$pref3) { $pref3 = n; }
if(!$pref4) { $pref4 = n; }
 
$comon = "$pref1;$pref2;$pref3;$pref4;";
setcookie("grebas_prefs",$comon,time()+999999999
 
 
 
);
}
 
if($HTTP_TRACK_VARS[login_pseudo_membre])
{
$query = "SELECT id,ban FROM membres where pseudo='$login_pseudo_membre' and motdepasse='$passe_membre'";
$result = mysql_query("$query",$connexion);
$lignes = mysql_num_rows($result);
 
$ban = @mysql_result($result,0,"ban" );
$date = date("Y-m-d" );
 
if($ban>$date)
{
$interdire = oui;
$interdire_identification = oui;
$dato = explode("-",$ban);
$day = $dato[2];
$month = $dato[1];
$year = $dato[0];
$duree = mktime(0,0,0,$month,$day,$year);
$comon = "$duree;";
setcookie("grebas_ban",$comon,time()+$duree);
 
if($ban=="2099-12-31" )
{
$erreur = "Vous avez été banni définitivement de ce site.<br>Vous ne pourrez plus vous reconnecter en tant que membre.";
}
else
{
$erreur = "Vous avez été banni du site.<br>Vous pourrez vous reconnecter en tant que membre le ".$day."-".$month."-".$year.".";
}
}
elseif($cookie_pseudo=="" && $lignes=="0" )
{
$interdire_identification = oui;
$erreur = "Erreur dans votre authentification. Etes vous inscris sur le site?
<br>Si oui, vous vous êtes trompés de pseudo ou de mot de passe.
<br>Sinon, allez vite vous inscrire en cliquant <a href=\"index.php?rub=membres/inscription\">ici
 
 
 
</a>.";
}
else
{
if($cookie_pseudo!="" )
{
$pseudo_membre = $cookie_pseudo;
}
elseif($login_pseudo_membre!="" )
{
$pseudo_membre = $login_pseudo_membre;
}
session_start();
 
session_register('pseudo_membre';);[
 
/g]
 
}
}
if($zone==membres)
{
session_start();
 
if(!session_is_registered('pseudo_membre';))
 
 
    {
header("Location: index.php?rub=erreur" );
Exit;
    }
$pseudo_membre = $HTTP_SESSION_VARS[pseudo_membre];
}
include "header.inc.php";
if(!isset($rub))
{
include "news.php";
}
else
{
if(file_exists("$rub.htm" ))
{
include "$rub.htm";
}
elseif(file_exists("$rub.php" ))
{
include "$rub.php";
}
else
{
echo "<font face='Verdana' size='2'><b>ATTENTION</b> : La page $rub est introuvable sur notre serveur !
<bR>Veuillez contacter <a href='mailto:haazheel@net-up.com'>Le webmaster</a></font>";
}
}
include "footer.inc.php";
?>


 
Donc voilà. En fait, pour résumer, quand le index.php détecte que la variable [g]login_pseudo_membre est définie avec son mot de passe, il vérifie que le user est pas banni. Si il n'est pas banni, il regarde si il peut récupérer la valeur dans un cookie. Sinon, il reprend la valeur de login_pseudo_membre pour la mettre dans la session.
 
Ensuite, si on entre dans la zone des membres, il vérifie que la session est bien enregistrée et autorise l'affichage.
 
J'ai essayé le $HTTP_TRACK_VARS[login_pseudo_membre] parce que $login_pseudo_membre marchait pas non plus.
 
Help!!
 
EDIT: l'affichage en gras merdouille pas mal là :(

 

[jfdsdjhfuetppo]--Message édité par haazheel--[/jfdsdjhfuetppo]

mood
Publicité
Posté le 27-02-2002 à 23:08:31  profilanswer
 

n°106327
haazheel
Posté le 28-02-2002 à 21:04:08  profilanswer
 

up!!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  session qui marche chez moi, mais pas chez free??

 

Sujets relatifs
[super newbie inside] ca marche comment EasyPhp ?[php/javascript] pourquoi ce code ne marche pas???
.net (beta) : programme ne marche que sur mon ordi !Comment ca marche un firewall logiciel?
Protection de repertoire sur free...pb de linkage en C++ sous visual ki marche sous mandrake HELP !!!
[php] comment garder des informations pendant un session[ JAVA ] - Applet tout con mais marche po !!
Sh@dar please ! Probleme de SESSION en PHP 
Plus de sujets relatifs à : session qui marche chez moi, mais pas chez free??


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR