Foros del Web » Programando para Internet » PHP »

Login/Registro con con algun pequeño error!!

Estas en el tema de Login/Registro con con algun pequeño error!! en el foro de PHP en Foros del Web. Buenas tardes. (Movi este tema de Base de datos porque me dijeron que aca correspondia... ahora nose como se borra del otro lado ;() tengo ...
  #1 (permalink)  
Antiguo 30/09/2009, 19:05
 
Fecha de Ingreso: agosto-2005
Mensajes: 76
Antigüedad: 18 años, 7 meses
Puntos: 4
Login/Registro con con algun pequeño error!!

Buenas tardes.

(Movi este tema de Base de datos porque me dijeron que aca correspondia... ahora nose como se borra del otro lado ;()

tengo un problema con un login / registrar que incorpore o quiero incorporar a unas de las paginas en mi web.

Primero les colocare el codigo tal como lo encontre y posteriormente les dejo el error, para que ojala algun maestro me ayude.
Código HTML:
Primer Paso: Creación de la base de datos

Lo primero que necesitas es crear la base de datos en la que vas a almacenar tu información. Si ya tienes creada una salta al paso dos.
Para crear la base de datos la mejor manera es desde algun tipo de software que te permita manejar MySql ya que el uso de scripts no está autorizado en todos los servidores.

Segundo Paso: Configuración de tablas
Ya está creada la base de datos y tenemos que configurar las tablas y campos en los que vamos a almacenar la información.
Utiliza este código o modifícalo adaptándolo a tus gustos.

<?php
// Configura los datos de tu cuenta
$dbhost='localhost';
$dbusername='username';
$dbuserpass='password';
$dbname='database';
// Conexión a la base de datos
mysql_connect ($dbhost, $dbusername, $dbuserpass);
// Seleccion de la base de datos
mysql_select_db($dbname) or die('Cannot select database');

// Creacion de la tabla (puedes elegir otros nombres para los campos)
$query = 'CREATE TABLE users(
id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id),
username VARCHAR(30) NOT NULL,
password VARCHAR(20) NOT NULL,
email VARCHAR(40) NOT NULL)';
$result = mysql_query($query);
echo "!Tabla creada!";
?> 

Tercer Paso: Registro de usuarios
Ya hemos creado y configurado la base de datos, ahora escribiremos el código de una simple página de registr, en la que insertaremos nombre de usuario, contrseña y cuenta de correo.

<?php
// Configura los datos de tu cuenta
$dbhost='localhost';
$dbusername='username';
$dbuserpass='password';
$dbname='database';
// Conexión a la base de datos
mysql_connect ($dbhost, $dbusername, $dbuserpass);
mysql_select_db($dbname) or die("Cannot select database");

// Preguntaremos si se han enviado ya las variables necesarias
if (isset($_POST["username"])) {
$username = $_POST["username"];
$password = $_POST["password"];
$cpassword = $_POST["cpassword"];
$email = $_POST["email"];
// Hay campos en blanco
if($username==NULL|$password==NULL|$cpassword==NULL|$email==NULL) {
echo "un campo está vacio.";
}else{
// ¿Coinciden las contraseñas?
if($password!=$cpassword) {
echo "Las contraseñas no coinciden";
}else{
// Comprobamos si el nombre de usuario o la cuenta de correo ya existían
$checkuser = mysql_query("SELECT username FROM users WHERE username='$username'");
$username_exist = mysql_num_rows($checkuser);

$checkemail = mysql_query("SELECT email FROM users WHERE email='$email'");
$email_exist = mysql_num_rows($checkemail);

if ($email_exist>0|$username_exist>0) {
echo "EL nombre de usuario o la cuenta de correo estan ya en uso";
}else{
//Todo parece correcto procedemos con la inserccion
$query = "INSERT INTO users (username, password, email) VALUES('$username','$password','$email')";
mysql_query($query) or die(mysql_error());
echo "El usuario $username ha sido registrado de manera satisfactoria.";
}
}
}
}
?> 

Nos quedaría escribir el código HTML que debe contener el formulario de registro, prueba con este ejemplo o edítalo a tu gusto.

Puedes verlo aquí.



Nombre de usuario:   
Password:   
Repite Password:   
Email:   
  
Ver código registro.php  


Ahora que tenemos nuestra página de registro llego la hora de hacer pruebas, ten en cuenta que si has cambiado algún dato de los formularios o algun campo de la base de datos ten en cuenta que deberas cambiar las consultas.
La correcta ejecución de nuestro código debe devolver lo siguiente.

El usuario "nombre_de_usuario" ha sido registrado de manera satisfactoria.

Cuarto Paso: Autentificación de usuarios
<?php
// Configura los datos de tu cuenta
$dbhost='localhost';
$dbusername='username';
$dbuserpass='password';
$dbname='database';

session_start();

// Conectar a la base de datos
mysql_connect ($dbhost, $dbusername, $dbuserpass);
mysql_select_db($dbname) or die('Cannot select database');

if ($_POST['username']) {
//Comprobacion del envio del nombre de usuario y password
$username=$_POST['username'];
$password=$_POST['password'];
if ($password==NULL) {
echo "La password no fue enviada";
}else{
$query = mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error());
$data = mysql_fetch_array($query);
if($data['password'] != $password) {
echo "Login incorrecto";
}else{
$query = mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error());
$row = mysql_fetch_array($query);
$_SESSION["s_username"] = $row['username'];
echo "Has sido logueado correctamente ".$_SESSION['s_username']." y puedes acceder al index.php.";
}
}
}
?> 

Nos quedaría escribir el código HTML que debe contener el formulario para ingresar en la página, prueba con este ejemplo o edítalo a tu gusto.

Puedes verlo aquí.



Nombre de usuario:   
Password:   
  
Ver código login.php  


Quinto Paso: Index.php visible para usuarios registrados
<?php
// Configura la información de tu cuenta
$dbhost='localhost';
$dbusername='username';
$dbuserpass='password';
$dbname='database';
session_start();

// Conexión a la base de datos
mysql_connect ($dbhost, $dbusername, $dbuserpass);
mysql_select_db($dbname) or die('Cannot select database');

?>

<?
if (isset($_SESSION['s_username'])) {
echo "Bienvenido a mi sitio has ingresado como ".$_SESSION['s_username'].", gracias por la visita!";
}else{
echo "Tu no estas autentificado dirígete a login.php o registrate en register.php";
echo $_SESSION['s_username'];
}
?> 

Sexto Paso: Logout
Sólo nos quedaría poder salir de la página una vez nos hayamos autentificado y esto lo haremos con este pequeño script.

<?
session_start();
$_SESSION = array();
header("Location: index.php");
?> 

Puedes ver más información sobre este script aquí
ACA ESTE EL ERROR QUE ME TIRA, TRATANDO YA DE INGRESAR CON UN USUARIO REGISTRADO EN LA bD, PORQUE TODO LO DEMAS ANDA MUY BIEN, SOLO QUE CUANDO ME AUTENTIFICO NO LO TOM AY ME ARROJA ESTE ERROR.

Código HTML:
Warning: Cannot modify header information - headers already sent by (output started at /home/clasific/public_html/micropagos/informes/uentrar.php:1) in /home/clasific/public_html/micropagos/informes/uentrar.php on line 17

Warning: Cannot modify header information - headers already sent by (output started at /home/clasific/public_html/micropagos/informes/uentrar.php:1) in /home/clasific/public_html/micropagos/informes/uentrar.php on line 18

Warning: Cannot modify header information - headers already sent by (output started at /home/clasific/public_html/micropagos/informes/uentrar.php:1) in /home/clasific/public_html/micropagos/informes/uentrar.php on line 19

Saludos y espero de su ayuda y ojala este codigo le sirva a otro que se ve bien bueno una vez que le quitemos el error.
  #2 (permalink)  
Antiguo 30/09/2009, 19:19
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Login/Registro con con algun pequeño error!!

Lee esto
http://www.forosdelweb.com/wiki/PHP:...lready_sent%3F
o esto
http://www.forosdelweb.com/wiki/PHP:...n_line_4%22%3F
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 30/09/2009, 20:24
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
Respuesta: Login/Registro con con algun pequeño error!!

estas mostrando texto antes de el header()
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
  #4 (permalink)  
Antiguo 30/09/2009, 20:51
 
Fecha de Ingreso: agosto-2005
Mensajes: 76
Antigüedad: 18 años, 7 meses
Puntos: 4
Respuesta: Login/Registro con con algun pequeño error!!

Grande maestros.... y estaba editando el php con el SHARE POINT y ahi no se reflejaba el error o el texto que se creaba despues.

edite con CUTE FTP y ahi estaba...

una vez mas grande maestros gracia spor la ayuda, y ahi les estare preguntando algo mas adelante que estoy construyendo un panel con registro para Micropagos por sms en chile

mil agradecimientos... mas de 15 horas mirando la pantalla y googleando para buscar el error

gracias gracias gracias
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 00:46.