Foros del Web » Programando para Internet » PHP »

Error extraño..

Estas en el tema de Error extraño.. en el foro de PHP en Foros del Web. Buenas, os pongo un error que me sale al introducir un include.. Warning: htmlspecialchars() expects parameter 1 to be string, object given in /home/gtalimit/public_html/secciones/noticias/inc/functions.inc.php on ...
  #1 (permalink)  
Antiguo 29/12/2006, 15:29
 
Fecha de Ingreso: diciembre-2006
Mensajes: 6
Antigüedad: 17 años, 10 meses
Puntos: 0
Error extraño..

Buenas, os pongo un error que me sale al introducir un include..

Warning: htmlspecialchars() expects parameter 1 to be string, object given in /home/gtalimit/public_html/secciones/noticias/inc/functions.inc.php on line 43

Ese es el codigo de error, y el include que pongo..

<?include("foro.php");?>

Luego mas abajo tengo lo siguiente para que se vea ahi el contenido con un index.php?ver=..

<?php
if(!$ver) {
include("secciones/noticias/frame.php");
}
else {
if(file_exists("$ver.php")) {
include("$ver.php");
}
else {
include("error.php");
}
?>

Nose, lo he revisado y eso y no sale, por si alguien quiere ver la página os la dejo aquí, (ahora mismo no esta subida con el include del foro.php) GTAlimite.com, esque me estoy volviendo loco... el include es para que se muestren los usuarios se logeen y eso, hecho por nosotros, lo podéis ver aqui: gtalimite.com/foro.php, como funciona perfectamente pero luego cuando lo voy a poner como include en el index.php no funciona..

Porfavor es urgente.. alguien tendria una posible solución?

Gracias..
  #2 (permalink)  
Antiguo 29/12/2006, 15:40
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 20 años
Puntos: 34
Re: Error extraño..

htmlspecialchars necesita que le pases un valor, si la llamas así:
Código PHP:
echo htmlspecialchars(); 
Dará el error que ves. En algún lugar que no se ve la estas llamando con una variable que no esta seteada.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #3 (permalink)  
Antiguo 29/12/2006, 15:46
 
Fecha de Ingreso: diciembre-2006
Mensajes: 6
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Error extraño..

Ni idea..... como lo puedo arreglar?
  #4 (permalink)  
Antiguo 29/12/2006, 16:58
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 20 años
Puntos: 34
Re: Error extraño..

Declarando la variable antes de pasarla.
Ponenos lo que tengas desde la linea 35 a la 50 del archivo functions.inc.php
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #5 (permalink)  
Antiguo 29/12/2006, 18:28
 
Fecha de Ingreso: diciembre-2006
Mensajes: 6
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Error extraño..

Como me pediste, aqui te lo dejo..

$comm_start_from = htmlspecialchars($comm_start_from);

$start_from = htmlspecialchars($start_from);

$archive = htmlspecialchars($archive);

$subaction = htmlspecialchars($subaction);

$id = htmlspecialchars($id);

$ucat = htmlspecialchars($ucat);

$category = htmlspecialchars($category);

$number = htmlspecialchars($number);

$template = htmlspecialchars($template);





$config_version_name = "CuteNews v1.3.6";

$config_version_id = 159;



///////////////////////////////////////////////////////

// Función: formatsize
  #6 (permalink)  
Antiguo 29/12/2006, 18:40
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 20 años
Puntos: 34
Re: Error extraño..

El tema es que en cada llamada deberías validar los valores. Ahora, por que usar htmlspecialchars con un int?...cuando es así (muchas llamadas para un mismo cometido) es mejor hacerte una función ahorrandote de esta manera valider repetidamente en el código, así:
Código PHP:
funcion caracteresHtml$str ){
  if( !
emty$str )  $str htmlspecialchars$str );
  
$return $str;

Y luego tu código quedara:
Código PHP:
$comm_start_from caracteresHtml($comm_start_from);
$start_from caracteresHtml($start_from);
$archive caracteresHtml($archive);
$subaction caracteresHtml($subaction);
$id caracteresHtml($id);
$ucat caracteresHtml($ucat);
$category caracteresHtml($category);
$number caracteresHtml($number);
$template caracteresHtml($template);
... 
Con esto ya solucionaras el problema. Ahora puede hacerle un update a la función para los ints, así:
Código PHP:
funcion caracteresHtml$str$type=){
  if( !
emty$str )  $str $type==0htmlspecialchars$str ): intval$str );
  
$return $str;

Y la llamaras, si son string de la misma manera, y si son ints con un segundo parametro en 1; así:
Código PHP:
...
$number caracteresHtml($number,1);
 
$template caracteresHtml($template);
... 
Espero que te ayude lo dicho.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #7 (permalink)  
Antiguo 09/01/2007, 20:51
Avatar de AbdelioR  
Fecha de Ingreso: septiembre-2006
Ubicación: Tarragona
Mensajes: 926
Antigüedad: 18 años, 2 meses
Puntos: 8
Re: Error extraño..

Pues a mi me pasa el mismo problema, he probado ha hacer la funcion, y llamarla cada vez, pero no funciona, me lanza el mismo error :S.

Alguien sabe a que se puede deber? El sistema es cutenews.

Gracias.
  #8 (permalink)  
Antiguo 10/01/2007, 14:28
Avatar de AbdelioR  
Fecha de Ingreso: septiembre-2006
Ubicación: Tarragona
Mensajes: 926
Antigüedad: 18 años, 2 meses
Puntos: 8
Re: Error extraño..

Me han dicho que puede ser por que lo estoy probando desde mi pc, que cuando suba la pagina a un servidor ya no dará problema :S pero me suena un poco raro.

Alguien sabe si esto es asi?

Gracias.
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 14:07.