Foros del Web » Programando para Internet » PHP »

PHP OO Sistema de registro

Estas en el tema de Sistema de registro en el foro de PHP en Foros del Web. Hola, soy nueva en la programacion con php y estoy realizando mi primer sistema de logueo. En servidor local todo funciona bien pero al subirlo ...
  #1 (permalink)  
Antiguo 25/04/2012, 16:13
Avatar de JuliaRavart  
Fecha de Ingreso: abril-2012
Mensajes: 2
Antigüedad: 12 años
Puntos: 0
Sistema de registro

Hola,
soy nueva en la programacion con php y estoy realizando mi primer sistema de logueo. En servidor local todo funciona bien pero al subirlo al servidor ciertas paginas empezaron a darme error. Lo he ido solucionando todo menos una, la de darse de baja, que me da el error "Warning: Cannot modify header information - headers already sent by", que por lo que he leido es muy común. El caso es que este archivo llevo todo el dia revisandolo y no consigo encontrar el error y por eso acudo aquí a ver si alguien me puede ayudar. les copio el codio del archivo a continuacion y he marcado en negrita donde me dice que hay el error. Espero puedan ayudarme.


<?php
require("include/session.php");
require_once("include/database.php");
require_once("funcions/funcions.php");
$msg_session = session_msg();
if(!empty($msg_session))
{
echo "<h3>$msg_session</h3>";
}
if(isset($_POST["submit"]))
{
$username = strip_tags($_POST["username"]);
$password = strip_tags($_POST["password"]);
$query = "SELECT * FROM users WHERE username='".$username."' LIMIT 1";
$result = mysql_query($query);
if(mysql_num_rows($result) == 1)
{
$user = mysql_fetch_assoc($result);
if($user["password"] == md5($password))
{
$_SESSION["username"] = $username;
$_SESSION["userid"] = $user["id"];
$query = "DELETE FROM users WHERE username='".$username."' LIMIT 1";
mysql_query($query);
if(mysql_affected_rows() == 1)
{
echo "Te has dado de baja correctamente.";
session_destroy();
header("Location: baja.php");

}
}
else
{
session_msg("Contraseña incorrecta");
header("Location: delete.php");
}
}
else
{
session_msg("El nombre de usuario no es correcto.");
header("Location: delete.php");
}
}
else
{
$username = "";
$email = "";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Administración</title>
<link href="estils/estils.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>Date de baja</h1>
<form action="delete.php" method="post">
<table>
<tr>
<td>Usuario: </td>
<td><input type="text" name="username" /></td>
</tr>
<tr>
<td>Contraseña: </td>
<td><input type="password" name="password"/></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="submit" value="Continuar" /></td>
</tr>
</table>
</form>
</body>
</html>
  #2 (permalink)  
Antiguo 25/04/2012, 16:31
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 3 meses
Puntos: 53
Respuesta: Sistema de registro

Solo tienes el problema cuando quiers eliminar?

elimina el registro?
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #3 (permalink)  
Antiguo 25/04/2012, 16:34
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Sistema de registro

las cabeceras http se han de enviar antes del html. en este caso echo 'lo que sea'
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #4 (permalink)  
Antiguo 25/04/2012, 17:32
Avatar de fermin3d  
Fecha de Ingreso: octubre-2010
Ubicación: sevilla
Mensajes: 141
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Sistema de registro

Hola yo tenia el mismo problema quizas pueda ayudarte esto

Código PHP:
Ver original
  1. echo '<script language="JavaScript" type="text/javascript">
  2.  
  3.        var pagina="baja.php"
  4.        function redireccionar()
  5.        {                                    
  6.        location.href=pagina
  7.        }
  8.        setTimeout ("redireccionar()", 10000);
  9.        </script>';
este te redireciona durante un tiempo a la pagina baja.php pero puedes cambiarlo en setTimeout
  #5 (permalink)  
Antiguo 25/04/2012, 23:35
Avatar de JuliaRavart  
Fecha de Ingreso: abril-2012
Mensajes: 2
Antigüedad: 12 años
Puntos: 0
Respuesta: Sistema de registro

Hola,
si, el problema solo lo tenia al darse de baja.
Efectivamente, el error estava en el echo. Lo he solucionado suprimiendo esta linea y poniendo un mensaje en la pagina de destino.
Muchas gracias a todos/as.

Julia.

Etiquetas: baja, logueo
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 07:45.