Foros del Web » Programando para Internet » PHP »

Un error warning que no tiene solucion...

Estas en el tema de Un error warning que no tiene solucion... en el foro de PHP en Foros del Web. Buenas, estoy aqui otra vez... La verdad es que estoy aprendiendo cada vez y mas, y recientemente me he descargado un sistema de noticias y ...
  #1 (permalink)  
Antiguo 19/04/2010, 10:53
 
Fecha de Ingreso: marzo-2010
Mensajes: 12
Antigüedad: 14 años
Puntos: 0
Un error warning que no tiene solucion...

Buenas,

estoy aqui otra vez...

La verdad es que estoy aprendiendo cada vez y mas, y recientemente me he descargado un sistema de noticias y usuarios complejillo y me esta dando un error, comprobarlo vosotros mismo:

http://seriesr.zymichost.com/GENU/news/index.php

para los que no quieran entrar, este es el error que me da:

Warning: fopen(../online_users.txt): failed to open stream: Permission denied in /www/zymichost.com/s/e/r/seriesr/htdocs/GENU/includes/function.php on line 250 Warning: fputs(): supplied argument is not a valid stream resource in /www/zymichost.com/s/e/r/seriesr/htdocs/GENU/includes/function.php on line 251 Warning: fclose(): supplied argument is not a valid stream resource in /www/zymichost.com/s/e/r/seriesr/htdocs/GENU/includes/function.php on line 252
Fatal error: Call to a member function query() on

LA PAGINA, y abajo:

a non-object in /www/zymichost.com/s/e/r/seriesr/htdocs/GENU/includes/session.php on line 42

segun los errores tengo algo en las lineas 250, 251, 252, de funtion.php y 40 de session.php

errores funtion en las lineas:

$fp = fopen($file, 'w'); \\ 250
fputs($fp, $data, strlen($data)); \\ 251
fclose($fp); \\ 252

y en la session:

la linea 40 es esta o.O :
{



Si necesitais algo mas decirmelo, uf, necesito esto.

Un saludo de antemano, muchas gracias.
  #2 (permalink)  
Antiguo 19/04/2010, 10:54
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Un error warning que no tiene solucion...

El error te lo indica claramente, no tienes permisos para leer el archivo que haz colocado. Verifica que tengas los permisos de lectura y escritura en el directorio, que estás tratando de leer.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 19/04/2010, 10:55
 
Fecha de Ingreso: octubre-2005
Mensajes: 240
Antigüedad: 18 años, 6 meses
Puntos: 1
Respuesta: Un error warning que no tiene solucion...

Debe ser que no encuentra el fichero para poder abrirlo, o que no tienes los permisos adecuados.
  #4 (permalink)  
Antiguo 19/04/2010, 10:58
 
Fecha de Ingreso: marzo-2010
Mensajes: 12
Antigüedad: 14 años
Puntos: 0
Respuesta: Un error warning que no tiene solucion...

Claro,
pero lo raro es que tengo el archivo y los privilegios en 7777
  #5 (permalink)  
Antiguo 19/04/2010, 11:03
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Un error warning que no tiene solucion...

No es el archivo, sino el directorio.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 19/04/2010, 11:06
 
Fecha de Ingreso: marzo-2010
Mensajes: 12
Antigüedad: 14 años
Puntos: 0
Respuesta: Un error warning que no tiene solucion...

Esta es la parte del directorio:

$file = '../online_users.txt';

y el archivo esta un directorio atras...no lo entiendo...
  #7 (permalink)  
Antiguo 19/04/2010, 11:33
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Un error warning que no tiene solucion...

¿El directorio padre tiene permisos de lectura y/o escritura?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #8 (permalink)  
Antiguo 19/04/2010, 11:42
 
Fecha de Ingreso: marzo-2010
Mensajes: 12
Antigüedad: 14 años
Puntos: 0
Respuesta: Un error warning que no tiene solucion...

si...Arreglado, era eso...

pero me sigue dando un error:

Fatal error: Call to a member function query() on a non-object in /www/zymichost.com/s/e/r/seriesr/htdocs/GENU/includes/session.php on line 42



Linea 42: $mysql->query('SELECT `session_id`
  #9 (permalink)  
Antiguo 19/04/2010, 11:44
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: Un error warning que no tiene solucion...

Ese error, te indica que estás llamando a una función query, el cual no pertenece al objeto $mysql. Escribe ese trozo de código.

La variable $mysql, debería ser un objeto, osea :

Código PHP:
$mysql = new Clase();
$mysql->query(...); 
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #10 (permalink)  
Antiguo 19/04/2010, 11:46
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Un error warning que no tiene solucion...

Estás tratando de llamar una función que no es miembro de un objeto.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #11 (permalink)  
Antiguo 19/04/2010, 12:08
 
Fecha de Ingreso: marzo-2010
Mensajes: 12
Antigüedad: 14 años
Puntos: 0
Respuesta: Un error warning que no tiene solucion...

Entonces como seria?

El codigo mas o menos una parte es este:


function sess_write($id, $sess_data)
{
global $mysql;
$mysql->query('SELECT `session_id`
FROM `' . TABLE_SESSIONS . '`
WHERE `session_id` = \'' . $id . '\'');
$table_sessions = $mysql->fetch();
if ($table_sessions['session_id'])
{
$mysql->query('UPDATE `' . TABLE_SESSIONS . '`
SET `session_value` = \'' . $sess_data . '\'
WHERE `session_id` = \'' . $id . '\'
LIMIT 1');
}
else
{
$mysql->query('INSERT INTO `' . TABLE_SESSIONS . '` VALUES (\'' . $id . '\', \'\', \'' . (time() + 3600) . '\')');
}
return true;
}
  #12 (permalink)  
Antiguo 19/04/2010, 13:47
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: Un error warning que no tiene solucion...

¿De dónde viene $mysql? Hazle un vardump, para ver su contenido.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #13 (permalink)  
Antiguo 20/04/2010, 06:27
 
Fecha de Ingreso: marzo-2010
Mensajes: 12
Antigüedad: 14 años
Puntos: 0
Respuesta: Un error warning que no tiene solucion...

El codigo completo del session es este:

Código PHP:
function sess_open()
{
    return 
true;
}

function 
sess_close()
{
    return 
true;
}

function 
sess_read($id)
{
    global 
$mysql;
    
$mysql->query('SELECT `session_value`
            FROM `' 
TABLE_SESSIONS '`
            WHERE `session_id` = \'' 
$id '\' AND `session_expiry` > \'' time() . '\'');
    
$table_sessions $mysql->fetch();
    if (
$table_sessions['session_value'])
    {
        return 
$table_sessions['session_value'];
    }
    else
    {
        return 
'';
    }
}

function 
sess_write($id$sess_data)
{
    global 
$mysql;
    
$mysql->query('SELECT `session_id`
            FROM `' 
TABLE_SESSIONS '`
            WHERE `session_id` = \'' 
$id '\'');
    
$table_sessions $mysql->fetch();
    if (
$table_sessions['session_id'])
    {
        
$mysql->query('UPDATE `' TABLE_SESSIONS '`
                SET `session_value` = \'' 
$sess_data '\'
                WHERE `session_id` = \'' 
$id '\'
                LIMIT 1'
);
    }
    else
    {
        
$mysql->query('INSERT INTO `' TABLE_SESSIONS '` VALUES (\'' $id '\', \'\', \'' . (time() + 3600) . '\')');
    }
    return 
true;
}

function 
sess_destroy($id)
{
    global 
$mysql;
    
$mysql->query('UPDATE `' TABLE_USERS '`
            SET `user_lastvisit` = \'' 
time() . '\'
            WHERE `user_id` = \'' 
$_SESSION['user_id'] . '\'');
    
$mysql->query('DELETE FROM `' TABLE_SESSIONS '`
            WHERE `session_id` = \'' 
$id '\'');
    
$mysql->query('OPTIMIZE TABLE `' TABLE_SESSIONS '`');
    return 
true;
}

function 
sess_gc($maxlifetime)
{
    global 
$mysql;
    
$mysql->query('DELETE FROM `' TABLE_SESSIONS '`
            WHERE `session_expiry` < \'' 
. (time() + $maxlifetime) . '\'');
    
$mysql->query('OPTIMIZE TABLE `' TABLE_SESSIONS '`');
    return 
true;
}

session_set_save_handler('sess_open''sess_close''sess_read''sess_write''sess_destroy''sess_gc');
session_start(); 
  #14 (permalink)  
Antiguo 20/04/2010, 11:58
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Un error warning que no tiene solucion...

Cita:
Iniciado por spider_boy Ver Mensaje
¿De dónde viene $mysql? Hazle un vardump, para ver su contenido.
This.
  #15 (permalink)  
Antiguo 20/04/2010, 12:19
 
Fecha de Ingreso: marzo-2010
Mensajes: 12
Antigüedad: 14 años
Puntos: 0
Respuesta: Un error warning que no tiene solucion...

Siento mi ignorancia, pero eso que es?
  #16 (permalink)  
Antiguo 20/04/2010, 12:37
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Un error warning que no tiene solucion...

Cita:
Iniciado por spider_boy Ver Mensaje
¿De dónde viene $mysql?
La variable $mysql debe estar definida en algun lugar, donde/como la defines/le das un valor?
Cita:
Hazle un vardump, para ver su contenido.
var_dump($mysql);

Etiquetas: solucion, warning
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:04.