![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
08/12/2006, 10:59
|
![Avatar de Javiglez](http://static.forosdelweb.com/customavatars/avatar130342_1.gif) | | | Fecha de Ingreso: marzo-2006 Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 11 meses Puntos: 0 | |
Re: problemas de cookies y cabeceras He corregido el codigo, quitando los headers location por javascript y ya no me da esos warnings pero me falla en las lineas en las que establezco las cookies y no doy con ello y yo creo que es por eso por lo que no me abre sesión ni nada a ver si alguna alma caritativa me asesora este es el script entero explicadito....
Código:
<?php
include("../conectarse_bd.php");
//$link=Conectarse();
function quitar($mensaje)
{
$mensaje = str_replace("<","<",$mensaje);
$mensaje = str_replace(">",">",$mensaje);
$mensaje = str_replace("\'","'",$mensaje);
$mensaje = str_replace('\"',""",$mensaje);
$mensaje = str_replace("\\\\","\",$mensaje);
return $mensaje;
}
if(trim($HTTP_POST_VARS["login"]) != "" && trim($HTTP_POST_VARS["pass"]) != "")
{
/*Asi que continuamos suponiendo que todo este bien, ahora lo que hacemos es quitarle el html,
apostrofe comillas y demas al nick y password enviados por el usuario para su comprobacion
con la base de datos, para ello utilizamos la funcion quitar($mensaje) que explicamos antes,
y guardamos las nuevas cadenas en dos nuevas variables:*/
$nickN = quitar($HTTP_POST_VARS["login"]);
$passN = quitar($HTTP_POST_VARS["pass"]);
/*Ahora ejecutamos una instruccion sql, en la cual le pedimos a la base de da
tos que de la tabla usuarios nos devuelva la fila cuyo nick corresponda por
el enviado por el usuario: */
$result = mysql_query("SELECT pass FROM Admin WHERE login='$nickN'");
if($row = mysql_fetch_array($result))
{
/*Ahora continuamos con el proceso suponiendo que el usuario exista en la base de datos ahora
debemos comprobar que el password sea correcto, para ello hacemos una simple comparacion, si
es correcto continuamos de lo contrario mostramos el mensaje de password incorrecto: */
if($row["pass"] == $passN)
{
//90 dias dura la cookie
/*Ahora suponiendo que el password es correcto continuamos y lo proximo a hacer es establecer las
cookies de nick y password (Las cuales nombramos "usNick"/"usPass" y contienen el nick y password
respectivamente) en la maquina del usuario, informamos que se ha realizado correctamente el login
y lo enviamos a la pagina principal
*/
setcookie("usNick",$nickN,time()+7776000);
setcookie("usPass",$passN,time()+7776000);
//la pabtalla principal cuando ya te has logeado correctamente
?>
<body>
<SCRIPT LANGUAGE="javascript">
location.href = "panel_admin.php";
</SCRIPT>
</body>
<?
}
else
{
?>
<SCRIPT LANGUAGE="javascript">
location.href = "error.php";
</SCRIPT>
<?
}
}
else
{
?>
<SCRIPT LANGUAGE="javascript">
location.href = "error.php";
</SCRIPT>
<?
}
mysql_free_result($result);
}
else
{
?>
<SCRIPT LANGUAGE="javascript">
location.href = "error.php";
</SCRIPT>
<?
}
mysql_close();
?>
|