Hola he desarrollado una aplicación web con registro de usuarios en una base de datos, la he terminado trabajando localmente y cual ha sido mi sorpresa que al subirlo a un hosting que soporta PHP y mysql tengo varios fallos que me esta costando quitar. Uno de los warnings es este, he utilizado el buscador pero no he encontrado el fallo en mi script
Warning: Cannot modify header information - headers already sent by (output started at /web/sites/user/6/72/54406/public/www/admin/ingresar_admin.php:9) in /web/sites/user/6/72/54406/public/www/admin/ingresar_admin.php on line 71
Este fallo me lo da por las cookies
setcookie("usNick",$nickN,time()+7776000);
setcookie("usPass",$passN,time()+7776000);
y luego me fallan los 3 header que tengo para redireccionar y tampoco se porque...os pego el script
<?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
?>
<SCRIPT LANGUAGE="javascript">
location.href = "panel_admin.php";
</SCRIPT>
<?
}
else
{
//falla
header("Location: error.php");
exit;
}
}
else
{
//falla
header("Location: error.php");
}
mysql_free_result($result);
exit;
}
else
{
//falla
header("Location: error.php");
exit;
}
mysql_close();
?>