• Lunes 23 de Diciembre de 2024, 18:15

Autor Tema:  Sistema De Usuarios En Php Y My Sql  (Leído 1856 veces)

SpywaCorp

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Sistema De Usuarios En Php Y My Sql
« en: Domingo 27 de Abril de 2008, 05:06 »
0
Ayudad con php y my sql

hola me llamo sergio y estoy creando una pagina web para un proyecto, al principio busque como hacer un sistema de usuarios sencillo, lo encontre y lo puse a funcionar, todo funcionaba correctamente en el dominio gratuito que tenia hata qie decidi comprar uno y por lo tanto mudar las bases de datos, pero ahora me dice que tengo el siguiente error y no se por que:

Warning: Cannot modify header information - headers already sent by (output started at /home/a5179736/public_html/includes/reg.php:76) in /home/a5179736/public_html/includes/reg.php on line 111

Nota: el codigo funciona perfectamente para registrar usuario, pero ala hora de intentar ingresar marca el error, les agradeceria mucho me digeran cual es el error.

el codigo de reg.php es este:

<?
$tipo=$_POST['tipo'];
if ($tipo=="registro"){
///////////////////////////////////Registro En La Base De Datos///////////////////////////////////////////////////
include ("config.php");
////////////// se Recogen Las Variables del Formulario de Registro
$nombre=$_POST['nombre'];
$email=$_POST['email'];
$frace=$_POST['frace'];
$pass=$_POST['pass'];
$repass=$_POST['repass'];
$usuario=$_POST['usuario'];
////////////////////////////////////////Sentencias SQL////////////////////////////////////////////////////////////
$result=mysql_query($sql,$conexion);
$resulta=mysql_query($sqla,$conexion);
$busca=mysql_fetch_array($resulta);
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if ($nombre=="" || $email=="" || $usuario==""){  // Verifica Que los campos no esten vacios

echo "Se Requiere llenar los campos de Usuario, Nomnbre Y Email<BR>"
."<a href='cuerpo.htm'>Volver</a>";

exit;
} else {
///////////////////////////// Se Verifica Que las Dos Contrase�as sean Iaguales/////////////////
if ($pass==$repass){
/////////////////////// Se Verifica Si el Usuario Ya Existe En La Base De Datos///////////
if ($usuario == $busca['usuario']){

echo "Lo Sentimos, El Nombre De Usuario: $usuario <BR>Ya Esta Siendo Utilizado Por Otra Persona<BR>"
."Escoge Otro Nombre De Usuario <a href='cuerpo.htm'><font color='#FF0000'>Volver</font></a>";
exit;
}
if ($nombre == $busca['nombre']){


echo "El Nombre $nombre Ya esta registrado En Nuestra Base De Datos<BR>"
."no Puede Aver Dos Nombres Iguales, Disculpa las Molestias<BR>"
."<a href='cuerpo.htm'><font color='#FF0000'>Volver</font></a>";

exit;
}
if ($email == $busca['email']){

echo "El Correo $email Ya Existe en nuestra base de datos<BR>"
."no Puede Aver Dos Nombres Iguales, Disculpa las Molestias<BR>"
."<a href='cuerpo.htm'><font color='#FF0000'>Volver</font></a>";

exit;
}
///////////////////////////////////Inserta Los Valores En La Base de Datos/////////////////////
mysql_query("INSERT INTO  usuario (usuario,pass,nombre,email,frace)
VALUES ('{$usuario}','{$pass}','{$nombre}','{$email}','{$frace}')",$conexion);
///////////////////////////////////Pagina Despues del Registro/////////////////////////////////////////

echo " Ahora Eres Un Usuario Registrado y estos son tus datos:<BR>";
echo "$nombre<BR>"
."$usuario<BR>"
."$email<BR>"
."$frace<BR>";
echo " <BR><BR><BR><a href='index.htm'>Inicio<BR>";

mysql_close($conexion);
////////////////////////////////////////Fin De Pagina//////////////////////////////////////////////

exit;
}else {

echo " Tu Contrase�a no Coincidia"
."<a href='cuerpo.html'>Volver</a>";

}}}
////////////////////////////////////////////Inicio de Session////////////////////////////////////////////////
else {

include ("config.php");
$pass=$_POST['pass'];
$usuario=$_POST['usuario'];
$comparar = "SELECT * FROM usuario WHERE usuario='$usuario' and pass='$pass'";
$obtener = "SELECT * FROM usuario WHERE usuario='$usuario'";
$resultado = mysql_query($comparar,$conexion);
$dcompara= mysql_fetch_array($resultado);
$dres = mysql_query($obtener,$conexion);
$datos= mysql_fetch_array($dres);
$busuario= $dcompara ['usuario'];
$bnombre= $datos ['nombre'];
$bfrace= $datos ['frace'];
$bemail= $datos ['email'];
//vemos si el usuario y contrase�a es v�ildo
//si la ejecuci�n de la sentencia SQL nos da alg�n resultado
if (mysql_num_rows($resultado)!=0){
session_name("spywa");
session_start();
// Guardamos una variable
$_SESSION['usuario'] = $busuario;
$_SESSION['nombre'] = $bnombre;
$_SESSION['frace'] = $bfrace;
$_SESSION['email'] = $bemail;
$_SESSION["ultimavez"]= date("Y-n-j H:i:s");
///////////////////////////////////////
//echo"Bienvenido $usuario<BR>"
//."$email<BR>"
//."$frace<BR><BR>";
header("Location: index.htm");// Pagina a La que se envian despues de inisiar session
mysql_free_result($resultado);
mysql_free_result($dres);
mysql_close($conexion);
exit;
}else {
//si no existe el usuario
header("Location: cuerpo.htm");
}
}
?>



el codigo de config.php es este:

<?
///////////////////////////////////Variables Del Servidor//////////////////////////////////////////////////
$servidor=""; // Servidor De La Base De datos
$userdb=""; //Usuario De La Base De Datos
$passdb=""; //password De La Base De Datos
$dbname =""; //Nombre de La Base De Datos
/////////////////////////Conexion Y Selecion de La Base De Datos//////////////////////////////////////////////
$conexion=mysql_connect("$servidor","$userdb","$passdb"); // Conexion ala Base de Datos
mysql_select_db ("$dbname",$conexion) OR die ("No se puede conectar");
//////////////////////////////////Sentencias SQL//////////////////////////////////////////////////////////////
$comparar = "SELECT * FROM usuario WHERE usuario='$usuario' and pass='$pass'";
$obtener = "SELECT * FROM usuario WHERE usuario='$usuario'";
$sql="SELECT * FROM usuario";
$sqla="SELECT * FROM usuario";
$ahora = date("Y-n-j H:i:s");
?>

shadow_rev

  • Miembro MUY activo
  • ***
  • Mensajes: 397
  • Nacionalidad: co
  • Un SPARTAN no muere en combate
    • Ver Perfil
    • http://shadowrev.blogspot.com
Re: Sistema De Usuarios En Php Y My Sql
« Respuesta #1 en: Lunes 28 de Abril de 2008, 18:05 »
0
No puedes hacer un redireccionamiento por HTTP después de que has enviado alguna cabecera...
me explico, para crear una sesión, haces el llamado a session_start(), con lo que ya estas enviando una cabecera HTTP; posteriormente haces un llamado a header(), que envía otra cabecera HTTP, y eso es lo que te está penalizando el PHP.

Te puedo sugerir 2 cosas:

1. Utiliza redireccionamiento por HTML (con los tag <META> dentro de <HEAD>, en el momento no recuerdo como hacerlo) en vez de hacerlo con header();

2. Redireccionar a un HTML (index.htm) puede hacerte perder las variables de sesión.
Volará quien le ponga alas a sus sueños (Candidate for goddess)
Si el mal existe en este mundo, reside en el corazón de la humanidad (Edward D. Morrison - Tales of Phantasia)
Lo único que puedes cambiar del pasado, es lo que sientes por él en el presente (Lockon Stratos - Mobile Suit Gundam 00)
Ingeniero de Sistemas