Ver Mensaje Individual
  #11 (permalink)  
Antiguo 25/10/2010, 06:32
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: insertar sistema en php

bobymar:

Bueno, ese es un error bastante comun, pero un poco dificil de explicar, sucede que antes de enviar un header() desde php, no puede prodicrse salida alguna en el html generado en el navegador, ni siquiera un espacio en blanco. Puede que hayas combinado mal las cosas con el dreamweaver, o que al editar el archivo no lo hayas guardado con la codificacion correcta, como ejemplo te pongo el "comprueba.php" que yo hice

<?php
session_start();
$nombre = "emprear";
$clave = "xxx";
require('cfg.php');

if (!isset($_SESSION['conectado'])){

if(!isset($_COOKIE['verificar'])){
echo<<< HTML
<!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" xml:lang="es" lang="es" >
<head>
<title>Comprueba</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<div>
HTML;
echo "<p>Tiene que habilitar las cookies en el navegador. <br />
Actívelas y reintente <a href='login.php'>aquí</a></p>";
echo "</div></body></html>";
exit();
}

if(!isset($_POST['verificar_usuario'])){
header("Location: login.php");
}else{


###### Aqui hay que realizar la consulta contra la base de datos
###### para verificra usuario y contraseña


if(($login == $nombre)&&($pass == $clave)){
$_SESSION['conectado'] = 'usuarioconectado'; ####
$_SESSION['usuario'] = "$login";
$_SESSION['email'] = "[email protected]";
header("Location: user.php");
}else{
echo<<< HTML
<!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" xml:lang="es" lang="es" >
<head>
<title>Comprueba</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<div>
HTML;
echo "Error: Contraseña o usuario no válidos<br />";
echo "<a href='login.php'>reintentar</a>";
echo "</div></body></html>";
if ($debug == 1){
debugx();
}
exit();
}
}

}else{
if($conectado == 'usuarioconectado'){
header("Location: user.php");
}
}
?>
</div>
</body>
</html>
<?php
if ($debug == 1){
debugx();
}
?>

Fijate que tiene dos headers() para redirigir, sin embargo si recorres el archivo secuencialmente vas a darte cuenta, queen el caso de que se ejecuten las redirecciones, ningun otro código fue generado antes.
Hubiera sido más practico poner los encabezados html al inicio una sola vez, pero eso hubiese provocado un error como el que te apareció a vos. estuve forzado a ponerlos dos veces, para el mensaje de las cookies y para el de usuario-contraseña erroneos.

Espero que se entienda. Habría que ver como es todo el conjunto de lo que estás haciendo, lo que yo te pasé es tan solo un esquema de como debería estar estructurado.

saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.