Foros del Web » Creando para Internet » Sistemas de gestión de contenidos »

autentificador de cluster

Estas en el tema de autentificador de cluster en el foro de Sistemas de gestión de contenidos en Foros del Web. hola os cuento mi problema y es el sigueinte : use el utentificador de cluster en una pagina y en local todo va bien, pero ...
  #1 (permalink)  
Antiguo 29/10/2003, 13:10
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 8 meses
Puntos: 1
autentificador de cluster

hola os cuento mi problema y es el sigueinte :

use el utentificador de cluster en una pagina y en local todo va bien, pero cuando lo subo al server no se que pasa con el header ("Location: $pag"); que no me hace nada, me explico por ejemplo depues de crear un usario o editarlo la pagina se queda en blanco, si le doy atras y actualizo el registro esta insertado o modificado pero no me redirecciona...

he probado con otro php para que redireccione con el header y me funciona bien loq ue hize en el otro fue esto
Código PHP:

<?
$pag
="prueba.php";
header ("Location: $pag");
?>
y me funcoino pero en el de cluster no, alguien sabe porque?¿

Un Saludo
  #2 (permalink)  
Antiguo 29/10/2003, 13:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
El problema no es con el redireccionamiento en sí (header .. location) sino de "donde redirecciona" ..

La página que redirecciona se obtiene del HTTP_REFERER (página referida) y si no se puede obtener, ... sucede eso que mencionas.

Lee este mensaje que se trató el tema:

http://www.forosdelweb.com/showthrea...hreadid=159800

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 29/10/2003, 14:44
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 8 meses
Puntos: 1
Gracias cluster

Un Saludo
  #4 (permalink)  
Antiguo 29/10/2003, 19:45
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 8 meses
Puntos: 1
ok, cluster mira hize lo que pones en el mensaje y si conseguimos que cuando de un error se redireccione a login otra vez,pero en la gestion de usuario cuando editas borras o añades pasa lo mismo y no se que probar ya para que funcione, intente hacer como en el otro es decir :
Código PHP:
//$pag=$_SERVER['PHP_SELF'];  // el nombre y ruta de esta misma página.
$pag="/gestion_usuarios.php"// el nombre y ruta de esta misma página.
//url = explode("?",$_SERVER['HTTP_REFERER']);
//$pag_referida=$url[0];
//$redir=$pag_referida; 
Pero cuendo hago :
Header ("Location: $pag");

no hace nada, qeu debo hacer para esta pagina

Incluso he probado con :
Header ("Location: http://www.server.com/gestion_usuarios.php");

y tambien con

Header ("Location: gestion_usuarios.php");

y nada de nada

Gracias por tu tiempo

Un Saludo

Última edición por DINASEN; 29/10/2003 a las 19:51
  #5 (permalink)  
Antiguo 29/10/2003, 19:51
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
La ruta no es correcta ..
$pag="/gestion_usuarios.php";

Deberías usar el "punto" para decir "este directorio" .. o simplemente sin / si aut_verifica.inc.php y el formulario de "login" está en el mismo directorio ..

$pag="./gestion_usuarios.php";
o
$pag="gestion_usuarios.php";
o
$pag="ruta completa/gestion_usuarios.php";

De todas formas .. la variable que suele dar problemas es $redir no $pag .. Pero si ni tan siquiera puedes obtener el valor de $_SERVER['PHP_SELF'] puede ser por la versión de PHP que usas.

El acceso a variables de servidor por el array superglobal $_SERVER sólo está disponible desde PHP 4.1.0 y no sé como se comportará si usas PHP como CGI (no como módulo) (en un phpinfo() en el primer bloque de información donde dice "Server API" lo puedes ver)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 29/10/2003 a las 19:56
  #6 (permalink)  
Antiguo 29/10/2003, 20:05
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 8 meses
Puntos: 1
jejejeje...vale lo de la ruta es un error de imprenta pero lo tengo bien....

mira aqui tienes el phpifno

http://www.coade.es/phpinfo.php

solo una cosa esto lo llamo desde un iframe

ademas antes me daba este error

Warning: Cannot send session cache limiter - headers already sent (output started at /home2/coade/coade-www/coa_gestion_usuarios.php:1) in /home2/coade/coade-www/rest/ase_verifica.inc.php on line 158


pero lo quite con el
error_reporting(0);

Un Saludo
  #7 (permalink)  
Antiguo 30/10/2003, 06:43
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 8 meses
Puntos: 1
del iframe no es pro que lo he probado en una ventana aparte y pasa lo mismo...que seraaaaaaaaaaaaaaaa

Un Saludo
  #8 (permalink)  
Antiguo 30/10/2003, 07:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
DINASEN .. Los errores y más de "warning" NO SE TAPAN!, se solucionan...

despues de 4 mensajes .. dices que te salia este error:

Cita:
Warning: Cannot send session cache limiter - headers already sent (output started at /home2/coade/coade-www/coa_gestion_usuarios.php:1) in /home2/coade/coade-www/rest/ase_verifica.inc.php on line 158
Empezemos por solucinar ese error.

En la documentación del script se indica claramente que ese aut_verifica.inc.php HA de estar por encima de todo HTML que tengas o salto de linea o un simple espacio antes del primer <? de tu script que llamas a aut_verifica.inc.php ..

Fijate bien en la frase del error que te marqué

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 30/10/2003, 07:29
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 8 meses
Puntos: 1
ok lo cambiare eso garcias cluster

Un Saludo
  #10 (permalink)  
Antiguo 30/10/2003, 07:39
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 8 meses
Puntos: 1
bien si pongo esa linea la primera caundo muestra los usuarios no da error pero cuando inserto me da esto pro ejemplo
Código PHP:
WarningCannot add header information headers already sent by (output started at /home2/coade/coade-www/coa_gestion_usuarios.php:4in /home2/coade/coade-www/coa_gestion_usuarios.php on line 418 
y a que no sabes que hay en esa linea?¿

Código PHP:
Header ("Location: $pag"); 
perdona que no dijera antes lo del warning pero en otros sitios he leido muchas vecesque no son importantes estos warning

Un Saludo y gracias de corazon amigo

Última edición por DINASEN; 30/10/2003 a las 07:58
  #11 (permalink)  
Antiguo 30/10/2003, 08:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Pero .. fijate:
in /home2/coade/coade-www/coa_gestion_usuarios.php on line 418

Te está diciendo que en tu script ese .. en la línea 418 .. (con todo el HTML que tengas por arriba) estás llamando al include() de autentificator y ahí es donde salta el error.

Te repito una vez más que el requiere("aut_verifica.inc.php"); debe IR antes de todo HTML que uses:

Ejemplos:

MAL
Código PHP:
<html>
<header>
</header>
<body>
<?
requiere
("aut_verifica.inc.php");
// resto de código PHP de autentificator para validar el usuario por su nivel de acceso
?>

etc .. codigo HTML/javascript .. etc.
</body>
</html>
BIEN
Código PHP:
<?
requiere
("aut_verifica.inc.php");
// resto de código PHP de autentificator para validar el usuario por su nivel de acceso
?>
<html>
<header>
</header>
<body>
tu código HTML/javasceript ETC .. 
</body>
</html>

PHP evalua su código <? .. ?> primero y lo que resulte lo entrega al navegador. En el caso de autentificator .. si la validación NO es correcta .. se Redirecciona a otra página (a la que lo llamó . supuestamente el formulario de login). Y digo "redirecciona" y no "incluye" el código del formulario.

PD: ** Los Warning son importantes ... los "Notice" son los que sólo son avisos ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 30/10/2003 a las 08:09
  #12 (permalink)  
Antiguo 30/10/2003, 08:16
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 8 meses
Puntos: 1
si y asi lo tengo mira
Código PHP:
<?
require("rest/ase_verifica.inc.php"); // incluir motor de autentificación.
?>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
<?
//error_reporting(0);
//require("rest/ase_verifica.inc.php"); // incluir motor de autentificación.
$nivel_acceso=0// definir nivel de acceso para esta página.
if ($nivel_acceso $_SESSION['usuario_nivel']){
header ("Location: $redir?error_login=5");
exit;
}

require (
"rest/ase_config.inc.php"); // incluir configuracion.
//$pag=$_SERVER['PHP_SELF'];  // el nombre y ruta de esta misma página.
$pag="http://www.coade.es/coa_gestion_usuarios.php"// el nombre y ruta de esta misma página.
//$redir="coa_gestion_usuarios.php";
//url = explode("?",$_SERVER['HTTP_REFERER']);
//$pag_referida=$url[0];
//$redir=$pag_referida;

function cabeceraHTML(){

echo <<< HTML

<html>
<head>
..
..
Un Saludo
  #13 (permalink)  
Antiguo 30/10/2003, 08:26
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Pero .. fijate bien .. que te comenté ..

header() NO puede existir nada de HTML por encima de ello .. Y tu ahí tienes un buen montón de javascript.

Respeta el código ORIGINAL que se indica en la documentación Y sube ese código (el de validación del usuario nivel) arriba .. justo debajo de tu

Código PHP:
<?
require("rest/ase_verifica.inc.php"); // incluir motor de autentificación.
$nivel_acceso=0// definir nivel de acceso para esta página.
if ($nivel_acceso $_SESSION['usuario_nivel']){
header ("Location: $redir?error_login=5");
exit;
}
?>
resto de tu HTML/javascript etc ..
Te recuerdo una vez mas que PHP se ejecuta primero .. y lo que resulte es entregado al navegador .. Las cabeceras HTTP (enviadas por header() ) .. mandan sobre tu HTML/javascirpt .. Es código "PHP".

Ese concepto lo tienes que tener claro (como funciona PHP) pues .. no es sólo para que te funcione mi script en concreto sino para que sepas programar en PHP y no en HTML con "incrustraciones" de PHP (que es como así lo haces si no tienes en cuenta cuando y donde se ejecuta PHP).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #14 (permalink)  
Antiguo 30/10/2003, 08:50
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 8 meses
Puntos: 1
jejejejejejejje...

vale cluster gracias pro todo ya me funciona, perodona mi torpeza


Un Saludo
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 22:47.