Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

eroare ciudata la sesiune
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> Cod PHP
Subiectul anterior :: Subiectul următor  
Autor Mesaj
roman_marian



Data înscrierii: 24/Aug/2007
Mesaje: 16

Trimis: Mie Sep 03, 2008 11:38 am    Titlul subiectului: eroare ciudata la sesiune  

imi poate spune cineva de ce apare aceasta eroare?
Cod: 2: /*Warning:  filesize() [<a href='function.filesize'>function.filesize</a>]: stat failed for http://127.0.0.1/bla/blabla/sessions/ in D:\server\htdocs\blablabla\blabla\set\sess.inc on line 21
Warning :  fread() [<a href='function.fread'>function.fread</a>]: Length parameter must be greater than 0 in D:\server\htdocs\blablabla\blabla\set\sess.inc on line 21*/

function open ($save_path, $session_name) {
  global $sess_save_path, $sess_session_name;
       
  $sess_save_path = "http://127.0.0.1/blablabla/bla/sessions";
  $sess_session_name = $session_name;
  return(true);
}

function close() {
  return(true);
}

function read ($id) {
  global $sess_save_path, $sess_session_name;

  $sess_file = "$sess_save_path/$id";
  if ($fp = @fopen($sess_file, "r")) {
    $sess_data = fread($fp, filesize($sess_file));
    return($sess_data);
  } else {
    return("");

}

function write ($id, $sess_data)
                 {
                 global $sess_save_path, $sess_session_name;

                 $sess_file = "$sess_save_path/$id";
                 if ($fp = @fopen($sess_file, "w+"))
                         {
                         return(fwrite($fp, $sess_data));
                        }
                 else
                        {
                        return(false);
                      }

                 }         
Sus  
Birkoff



Data înscrierii: 18/Mar/2004
Mesaje: 2607
Locație: Bucuresti

Trimis: Mie Sep 03, 2008 12:04 pm    Titlul subiectului:  

eroarea apare la functia filesize care zice clar ca fisierul dat ca parametru ori nu il gaseste ori are lungimea 0 bit si atunci fread nu are ce sa citeasca...
Sus  
roman_marian



Data înscrierii: 24/Aug/2007
Mesaje: 16

Trimis: Mie Sep 03, 2008 12:11 pm    Titlul subiectului:  

si unde este buba atunci?
Sus  
Birkoff



Data înscrierii: 18/Mar/2004
Mesaje: 2607
Locație: Bucuresti

Trimis: Mie Sep 03, 2008 12:26 pm    Titlul subiectului:  

buba e aici

$sess_file = "$sess_save_path/$id";

calea sau fisierul respectiv nu exista sau fisierul e gol sau e calea gresita sau pur si simplu nu ai drepturi de acces la acel fisier
Sus  
roman_marian



Data înscrierii: 24/Aug/2007
Mesaje: 16

Trimis: Mie Sep 03, 2008 12:39 pm    Titlul subiectului:  

normal, fisierul nu exista pentru ca nu la creat.normal ar trebui sa creeze sesiunea in acel folder...iar despre acces am dat chmod777.alceva nu mai stiu ce sai fac :(
Cod: function write ($id, $sess_data)
                 {
                 global $sess_save_path, $sess_session_name;

                 $sess_file = "$sess_save_path/$id";
                 if ($fp = @fopen($sess_file, "w+"))
                         {
                         return(fwrite($fp, $sess_data));
                        }
                 else
                        {
                        return(false);
                      }

                 } 
Sus  
Birkoff



Data înscrierii: 18/Mar/2004
Mesaje: 2607
Locație: Bucuresti

Trimis: Mie Sep 03, 2008 1:05 pm    Titlul subiectului:  

ai specificat asta:

@ini_set("session.save_handler", "files");
session_start();
Sus  
roman_marian



Data înscrierii: 24/Aug/2007
Mesaje: 16

Trimis: Mie Sep 03, 2008 1:49 pm    Titlul subiectului:  

dap aveai dreptate ...cu @ini_set("session.save_handler", "file");
session_start();
nu era.se pare ca-mi pierd timpul degeaba cu el , ca tot nu merge...alta eroare.

Warning: session_destroy() [<a href='function.session-destroy'>function.session-destroy</a>]: Session object destruction failed in D:\server\htdocs\hjh\hjhj\set\sess.inc on line 154
Cod: function destroy ($id)
                 {
                 global $sess_save_path, $sess_session_name;
     
                 $sess_file = "$sess_save_path/$id";
                 return(@unlink($sess_file));
                 }


multumesc oricum birkoff
Sus  
Birkoff



Data înscrierii: 18/Mar/2004
Mesaje: 2607
Locație: Bucuresti

Trimis: Mie Sep 03, 2008 8:55 pm    Titlul subiectului:  

nu ar trebui sa dai intai unset la variabilele de sesiune si abia apoi la fisier?
vezi session_destroy() sau unset()
Sus  
Hano



Data înscrierii: 22/Sep/2005
Mesaje: 58

Trimis: Mie Sep 03, 2008 9:54 pm    Titlul subiectului:  

Incearca asta:
Cod:
<pre>
<?php
ini_set("display_errors", 1);
error_reporting(E_ALL);

function open($save_path, $session_name)
{
    global $sess_save_path;
    $sess_save_path = $save_path;
    return (true);
}
function close()
{
    return (true);
}
function read($id)
{
    global $sess_save_path;
    $sess_file = "$sess_save_path/sess_$id";
    return (string )@file_get_contents($sess_file);
}
function write($id, $sess_data)
{
    global $sess_save_path;
    $sess_file = "$sess_save_path/sess_$id";
    if ($fp = @fopen($sess_file, "w"))
    {
        $return = fwrite($fp, $sess_data);
        fclose($fp);
        return $return;
    }
    else
    {
        return (false);
    }
}
function destroy($id)
{
    global $sess_save_path;
    $sess_file = "$sess_save_path/sess_$id";
    return (@unlink($sess_file));
}
function gc($maxlifetime)
{
    global $sess_save_path;
    foreach (glob("$sess_save_path/sess_*") as $filename)
    {
        if (filemtime($filename) + $maxlifetime < time())
        {
            @unlink($filename);
        }
    }
    return true;
}
session_set_save_handler("open", "close", "read", "write", "destroy", "gc");

// system path, not http
ini_set('session.save_path', '/home/sessions');

$inis = ini_get('session.save_path');

session_start();

$_SESSION['key'] = "value";

print_r( $_SESSION );

print_r($inis);

?>
Sus  
roman_marian



Data înscrierii: 24/Aug/2007
Mesaje: 16

Trimis: Mie Sep 03, 2008 11:34 pm    Titlul subiectului:  

degeaba, tot nu merge, pana la urma tot ceea ce am reusit sa fac , a fost sa scap de erori...sesiunea a pornit, dar fara s-o scrie in folder si nu-mi arata decat o pagina alba dupa logare...

Cod: <?php
ini_set('display_errors','1');
require_once("sql.inc");
function open ($save_path, $session_name) {
  global $sess_save_path, $sess_session_name;
       
  $sess_save_path = "sesiune";
  $sess_session_name = $session_name;
  return(true);
}

function close() {
  return(true);
}

function read ($id) {
  global $sess_save_path, $sess_session_name;

  $sess_file = "$sess_save_path/$id";
  if ($fp = @fopen($sess_file, "r")) {
    $sess_data = fread($fp, filesize($sess_file));
    return($sess_data);
  } else {
    return(""); // Must return "" here.
  }

}

function write ($id, $sess_data)
             {
             global $sess_save_path, $sess_session_name;

             $sess_file = "$sess_save_path/$id";
             if ($fp = @fopen($sess_file, "w+"))
                   {
                   return(fwrite($fp, $sess_data));
                  }
             else
                  {
                  return(false);
                 }

             }         

function destroy ($id)
             {
             global $sess_save_path, $sess_session_name;
     
             $sess_file = "$sess_save_path/$id";
             return(@unlink($sess_file));
             }
/*********************************************
 * WARNING - You will need to implement some *
 * sort of garbage collection routine here.  *
 *********************************************/
function gc ($maxlifetime)
             {
             return true;
             }      

class sess extends sql
{
var $sess_sid;
function sess()
             {
             global $jy_sd;
              ini_set('arg_separator.output','&amp;');
             ini_set('session.use_cookies','0');
             ini_set('session.name','jy_sd');            
             $this->sess_sid=$jy_sd;
             }
function sess_start()
             {
             session_set_save_handler ("open", "close", "read", "write", "destroy", "gc");
              $SEED="lkjhgfdsamnbvqwercxztyuiop1234567890";
              $nrsid=rand(9,14);
              $nrmax=strlen($SEED)-1;
              $auxsid="";
              for($i=0;$i<$nrsid;$i++)
                             {
                             $aux=rand(0,$nrmax);
                             $auxsid.=$SEED{$aux};
                             }                                                               
              $this->sess_sid=$auxsid;                                                                              
              session_id($this->sess_sid);
              session_start();                                                                                                                                                                              
             }
function sess_continue()
             {
            session_set_save_handler ("open", "close", "read", "write", "destroy", "gc");                      
             session_id($this->sess_sid);
             session_start();
             }
function sess_set($aux,$value=false)
             {
             $ret=false;
             if(isset($_SESSION[$aux])) $ret=$_SESSION[$aux];            
             if($value)
                  $_SESSION[$aux]=$value;            
             return($ret);            
             }
function sess_room_update()
             {
             if(isset($_SESSION["r"]))
             while($aux=each($_SESSION["r"]))
                  {
                     $rm=$aux["key"];
                     if($aux["value"]["tm"]<(time()-ROOM_LOSE_TIME))
                        unset($_SESSION["r"][$rm]);
                     }
             }
function sess_room($rm,$vars=false)
             {
             $ret=false;
             if(isset($_SESSION["r"][$rm])) $ret=$_SESSION["r"][$rm];            
             if($vars)
                {            
                   if(isset($_SESSION["r"][$rm]['tm']))
                      {
                      if($_SESSION["r"][$rm]["tm"]<$vars["tm"])
                        $_SESSION["r"][$rm]['tm']=$vars['tm'];
                      }      
                   else $_SESSION["r"][$rm]['tm']=$vars['tm'];      
                  if(isset($vars['nm']))
                   $_SESSION["r"][$rm]['nm']=$vars['nm'];
                  if(isset($vars['rad']))
                   $_SESSION["r"][$rm]['rad']=$vars['rad'];
                  if(isset($vars['rpw']))
                   $_SESSION["r"][$rm]['rpw']=$vars['rpw'];                                      
                  }            
             return($ret);
             }                         
function sess_isgood($aux="id")
             {
             if(isset($_SESSION[$aux])) return($_SESSION[$aux]);
             else                                  return(false);
             }                 
function sess_vars($aux,$value=false)
             {
             if(!is_bool($value))
                                            $_SESSION[$aux]=$value;
             else                         return($_SESSION[$aux]);
             }      
function sess_unset($aux)
             {
             unset($_SESSION[$aux]);
             }
function sess_stop()
             {
             session_unset();
             session_destroy ();
             }         
}
?>
asa arata codul initial, poate ajuta cu ceva...multumesc mult!
Sus  
Hano



Data înscrierii: 22/Sep/2005
Mesaje: 58

Trimis: Joi Sep 04, 2008 5:22 pm    Titlul subiectului:  

Aha, ti-ai prins urechile in codul euforia.
Sus  
roman_marian



Data înscrierii: 24/Aug/2007
Mesaje: 16

Trimis: Joi Sep 04, 2008 6:44 pm    Titlul subiectului:  

i-am gasit buba... :D va multumesc pentru ajutor
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> Cod PHP
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community