Fácil sistema de autentificación (login, password) PHP

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í.
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í.
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í
- 133841 lecturas




Comentarios
Como hacer este codigo mucho mas seguro?
Estimados:
Esta bueno el codigo, pero mi pregunta es como podemos hacer que este codigo quede mas seguro, ya que en post anteriores se dice que el codigo el vulnerable.
Si alguien sabe como hacerlo que escriba nuevamente el TUTORIAL por favor.
Estaria muy agradecido de su ayuda.
De ante mano muchisimas gracias a toda la gente que tiene el tiempo de ayudar a los demas que no sabemos mucho de programacion.
Saludos Cordiales.
Como hacer este codigo mucho mas seguro?
Estimados:
Esta bueno el codigo, pero mi pregunta es como podemos hacer que este codigo quede mas seguro, ya que en post anteriores se dice que el codigo el vulnerable.
Si alguien sabe como hacerlo que escriba nuevamente el TUTORIAL por favor.
Estaria muy agradecido de su ayuda.
De ante mano muchisimas gracias a toda la gente que tiene el tiempo de ayudar a los demas que no sabemos mucho de programacion.
Saludos Cordiales.
Como hacer este codigo mucho mas seguro?
Estimados:
Esta bueno el codigo, pero mi pregunta es como podemos hacer que este codigo quede mas seguro, ya que en post anteriores se dice que el codigo el vulnerable.
Si alguien sabe como hacerlo que escriba nuevamente el TUTORIAL por favor.
Estaria muy agradecido de su ayuda.
De ante mano muchisimas gracias a toda la gente que tiene el tiempo de ayudar a los demas que no sabemos mucho de programacion.
Saludos Cordiales.
Como hacer este codigo mucho mas seguro?
Estimados:
Esta bueno el codigo, pero mi pregunta es como podemos hacer que este codigo quede mas seguro, ya que en post anteriores se dice que el codigo el vulnerable.
Si alguien sabe como hacerlo que escriba nuevamente el TUTORIAL por favor.
Estaria muy agradecido de su ayuda.
De ante mano muchisimas gracias a toda la gente que tiene el tiempo de ayudar a los demas que no sabemos mucho de programacion.
Saludos Cordiales.
Gracias
Hola, gracias por tu tutorial, he realizado en base tuyo un sistema de registro propio y he quedado muy contento con el resultado.
Saludos!
Gracias
Hola, gracias por tu tutorial, he realizado en base tuyo un sistema de registro propio y he quedado muy contento con el resultado.
Saludos!
muy bueno tu poste gracias
muy bueno tu poste gracias
No inserta nuevos registros
hola, no me deja insertar registros nuevos, no me sale nada, el login si que me va. Que hago mal???. Gracias. Saludos.
<?php
// Configura los datos de tu cuenta
$dbhost="localhost";
$dbusername="root";
$dbuserpass="root";
$dbname="solo-tenis";
session_start();
// Conexión a la base de datos
mysql_connect ($dbhost, $dbusername, $dbuserpass);
mysql_select_db($dbname) or die('Cannot select database');
echo "Hola Hola";
// Preguntaremos si se han enviado ya las variables necesarias
if (isset($_POST["usuario"])) {
$usuario = $_POST["usuario"];
$password = $_POST["password"];
$nombre = $_POST["nombre"];
$apellidos = $_POST["apellidos"];
$direccion = $_POST["direccion"];
$cp = $_POST["cp"];
$poblacion = $_POST["poblacion"];
$provincia = $_POST["provincia"];
$pais = $_POST["pais"];
$telefono = $_POST["telefono"];
$email = $_POST["email"];
// Hay campos en blanco
if($usuario==NULL|$password==NULL|$nombre==NULL|$apellidos==NULL|$pais==NULL|$email==NULL) {
echo "Hay algun campo obligatorio 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 usuario FROM personas WHERE usuario='$usuario'");
$username_exist = mysql_num_rows($checkuser);
$checkemail = mysql_query("SELECT email FROM personas WHERE email='$email'");
$email_exist = mysql_num_rows($checkemail);
if ($email_exist>0|$usuario_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 personas(usuario, password, nombre, apellidos, direccion, cp, poblacion, provincia, pais, telefono, email) VALUES('$usuario','$password','$nombre','$apellidos','$direccion','$cp','$poblacion','$provincia','$pais','$telefono','$email')";
mysql_query($query) or die(mysql_error());
echo "El usuario $usuario ha sido registrado de manera satisfactoria.";
}
}
?>
Si ha olvidado el password digite su email aqui...
Necesito que me ayuden con el script que permite recordar el password, en caso de olvido, donde se pide al usuario digitar un email y el password se lo envian a la cuenta de correo o que vuelva a crear un nuevo password. Muchas gracias para todos los que han construido este sitio web de mucha ayuda para los principiantes.
Ese mismo
No podrian poner los archivos para descargar?
como para editar y agregarlos
que el tuto esta muy bueno peor no me funciona,
si estarian para descargar creo que seria mejor
Bueno eso
Adios
Ese mismo
No podrian poner los archivos para descargar
como para editar y agregarlos
que el tuto esta muy bueno peor no me funciona,
si estarian para descargar creo que seria mejor
Bueno eso
Adios
ingreso por seciones restriccion
quisiera que alguien me ayude a crear un codigo para generar seciones en php para que personas autorizadas ingresen a determinados lugares GRACIAS.....
existe algun riesgo de que
existe algun riesgo de que spam con este sistema?
hoy en dia hay muchos bots que cazan este tipo de formularios
buen tutorial
duda sobre proteger pagina web
hola soy nuevo en esto de mysql y php y la verdad este tuto esta super perron
ya hice mi primer login
bueno mi pregunta es, como puedo hacer para que la informacion que tengo en mi pagina no se vea si no eres usuario registrado solo que los usuarios puedan ver su contenido esta es mi web http://www.pinkynet.com.mx/login/members.php
ya puse en codigo de redireccion si la persona no esta logeada pero cuando coloco el usuario y contrasena me regresa de nuevo a colocar el usuario y contrasena y no me muestra nada este es el codigo que puse bajo else header("Location: members.php");
ayuda por fas
Buen día. Necesito que en
Buen día. Necesito que en un centro de computo, los alumnos al momento de entrar a win2 se autentifiquen en un dase de datos que tengo (mysql) esto con el fin de tener el control de quien y a que hora se conecto, claro a demás de restringir el uso solo a personal autorizado. Alguno que me ilumine please...
Gracias y un saludo
contenidos restringidos y redireccionamiento
Hola nuevamente...
Me parece excelente el tutorial y además muy practico como ya lo mencioné.
Ahora quisiera consultar algo que al parecer ha quedado en el aire.
como proyecto de grado hice un website ya está casi listo le coloqué lo del login (lo hice por mera intuicion luego de ver algunos tutoriales muy enredados en otras paginas de ayuda) ahora solo me falta redireccionar a la pagina index.html de mi website además de eso quisiera restringir el acceso a ciertos contenidos, para eso tengo en la tabla login de mi base de datos un campo de Tipo de usuario pero no se como lograr la restriccion.
Lo explicaré con un ejemplo: es decir que si estás logeado como alumno no puedas ingresar a la pagina administrativa de los tutores.
Mil gracias de antemano por su pronta colaboracion.
yo quiero hacer lo mismo si
yo quiero hacer lo mismo si es de tipo 1 que entre en tal seccion i si es de tipo 2 que entre en otra, si lo solucionaste te agradeceria que me enviaras como hacerlo, graciass draudecarrill@hotmail.com
Hacer el llamado a otra pagina despues de logearme
Buenas! Mi problema es que no se como hacer el llamado a otra pagina despues de logearme, como haria para que despues que el usuario y contraseña sean correptos entrar a otra pagina, en mi caso seria entrar al menu principal de un sistema... Para ello es que uso el sistema de logeo. Espero puedan ayudarme! Gracias!
paginas protegidas
Buen dia,
bueno, soy nuevo en esto, pero el caso es que ya logre hacer la tabla, ya hice una forma de registro y esta funcionando, inclusive ya puedo hacer login, ahora solo me falta saber como proteger las paginas. Parte del contenido protegido, son manuales en pdf, en ese caso como se protegen. A ver si alguien me puede ayudar.
Anexo el codigo de login:
<?
// Configura los datos de tu cuenta
$dbhost='remote-mysql4.server.net';
$dbusername='everd99_admin';
$dbuserpass='Admin1234';
$dbname='everd99_admin';
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 "El password no fue enviado";
}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'];
//agregado
setcookie("username",$username,time()+3600);
setcookie("password",$password,time()+3600);
//agregado
header ("Location: index.php");
}
}
}
?>
paginas protegidas
No entendi mu bien la pregunta :P , pero si te refieres a las paginas en PHP no te debieses preocupar por que es codigo que solo interpreta el server y no el cliente, pero tambien se encuentran programas que encriptan por temas de seguridad de paginas web.
Si te refieres a la seguiridad de los documentos, eso es solo con programas, pero generalmente todos estos traen metodos de proteccion, en el caso de los pdf si tienes el programa de adobe el acrobat PDF Writer te da la opcion de ponerle password a tu documento, igual los documentos de office, etc.. y como puse mas arriba, tambien ahi programas que hacen lo mismo.
:D
paginas protegidas
Bien, me queda claro lo de la proteccion de los documentos, pero la cuestion es que despues del login, no se que sigue, supongamos que la siguiente pagina (la lagina protegida) va a tener links a los archivos.
por ejemplo, al loguearte, te deja entrar a un catalogo de fotos, el cual es, catalogo.html, como hago para que no invoquen directamente el catalogo desde la barra de direcciones?
Saludos.
Consulta para ver películas online
Hola, quería por favor si alguien puede responderme a mi email lo siguiente: Quiero ver películas online o TV online, no quiero descargarlas ni usar programas excepto saber si me sirve para verlas bien el internet explorer 7 o windows 2008 server por el tema velocidad, tengo explorer común y mozilla 3 pero las películas se cortan cada rato porque las va cargando (bufler) no me importa que se corte un poco, pero cada rato... en fin no se si es normal, las películas las veo muy bien eso si, quiziera alguna sugerencia o solución por favor a mi email, les quedo super agradecida desde ya. Muchos saludos a todos.
Griselda.
Simplemente fuera del POST Original
solo 10 palabras, no tiene nada que ver lo que estamos hablando aca...
igual te la respondo, la TV Online se basa en un 70% de tu velocidad de internet y lo demas se divide en la conexion de internet del server streaming y tu pc a pequeña medida, pero eso.
PAGO POR PROGRAMAR MI PHP
QUIERO SIMPLEMENTE COLOCAR UN INGRESO DE MIEMBROS CON ID Y PASSWORD, TENGO MI HOSTING EN GODADDY EL CUAL ME PROVEE MySQL ESCRIBANME PARA DARME EL PRECIO Y EN CUANTO LO TERMINAN
JULIO G RICCA
Soy Nuevo :(
Hola, Gracias por sus tutoriales, pero soy algo bueno y quiero saber donde hago lo de Configuración de tablas, pensaba que es una pagina .php pero creo que no, porque si es una pagina no me anda, porfavor expliquenmen esa cosita, Gracias desde ante manos y tambien queria preguntar como lo inserto en mi pagina .html?
problemas
holas, si son paginas .php, todo se basa en el servidor web que lo ejecuta, este debe saber interpretar el lenguaje, si estas haciendo pruebas con una pagina local busca en internet WINDOWS + APACHE + PHP, WINDOWS + IIS + PHP o LINUX + APACHE + PHP, etc... pero ese es tu problema, el servidor debe ejecutar tu lengua de programacion.
Nota sobre seguridad md5
En un post anterior alguien menciona que no vendria nada mal utilizar md5($pass) Aqui les dejo un enlace a la documentacion de md5 en PHP para que vean un poco más acerca de esto y vean algunas técnicas para tener un poco mas de seguridad. Aunado a esto, hay que recordar que se debe utilizar validación para evitar Injection, y esto se debe hacer SIEMPRE que el usuario pueda escribir un dato que tenga algo que ver con la base de datos.
Enlace...
http://mx2.php.net/manual/en/function.md5.php
Estoy aprendiendo PHP, como almacenar los datos de la tabla
Una vez confirmado el usuario en en la porcion del script
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.";
}
COMO almacena en memoria los datos de los otros campos de la tabla, en caso de que la tabla tuviese otros campos como NOMBRE, TELEFONO, DIRECCION, etc.. Estan esos datos dentro de $_SESSION... Como los extraigo?
Estoy aprendiendo PHP, como almacenar los datos de la tabla
es la funcion $_SESSION es la que hace la magia, tan solo debes crear un valor con session y le almacenas un dato para luego ser leido.
con esto le ingresas valores a session :
$_SESSION['nombre'] = $row['username'];
$_SESSION['telefono'] = $row['telefono'];
$_SESSION['direccion'] = $row['direccion'];
luego puedes traer los datos desde cualquier parte del sitio, algo a si:
echo "Bienvenido". $_SESSION['nombre'] .", tu telefono es ".$_SESSION['telefono']." y vives en ". $_SESSION['direccion'];
puedes crear todos los valores que quieras.
duda sobre tabla
hola muy buen tuto, lo estoy haciendo pero me dice q no tengo la tabla creada este error
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/diariode/public_html/login/register.php on line 27
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/diariode/public_html/login/register.php on line 30
Table 'diariode_login.users' doesn't exist
y yo tengo la tabla creo la cree desde mysql en mi servidor, la tabla tiene un nombre enparticular q debo poner o que debo hacer gracias.. ojala me puedan responder..
duda sobre tabla
puede ser que creaste mal la tabla en mysql o simplemente tienes el string de conexion mal, por el segundo error dice que no existe la tabla.
y para vencimiento de cuentas?
Como le hago para tener vencimiento de cuentas de usuarios, es decir en el logueo debo validar si un usuario no ha cambiado su contraseña en X días, como se puede validar esto?
Gracias por sus aportes
y para vencimiento de cuentas?
Lo que nesecitas es un poco mas avanzado de lo normal, igual te suguiero lo siguiente:
- en la tabla de la Base de datos de usuarios, pon un campo más que guarde la fecha.
- en el index.php puedes tirar un query de update cada vez que el login sea exitoso y poner la fecha en el nuevo campo.
- y para determinar quien no se ha logueado en x tiempo lo que podrias hacer es otra pagina php que solo revise la tabla usuario y vea la columna de fecha y la compare con x dias, si se cumple que el periodo del campo fecha es muy largo se desactive o borre la cuenta.
- la parte de arriba solo puedes hacerlo con alguna tarea, si tienes el sitio corriendo en windows, en programador de tarea pone que todos los dias se ejecute el nuevo archivo php, si lo tienes en linux coloca la sentencia en el cron, ambos anteponiendo php, ejemplo: "php caducausuario.php"
con eso abra una tarea que revise los usuarios, como te dije arriba es mas avanzada tu consulta, mira en google y busca como sumar fechas en php y lo podras sacar sin problemas lo que necesitas.
muchas gracias
muchas gracias, toda la info de esta pagina me fue muy util, ya habia batallado mucho con esto pero al fin quedo, una vez mas, gracias.
Hola no soy experta, apenas
Hola no soy experta, apenas si soy usuaria y empezando con php pero, si no me equivoco tu error es en efecto "session_start()" como te indica, esa función debe ser la primer línea, o sea debería de ser de la siguiente forma:
<?php
session_start();
$dbhost='mihost';
$dbusername='mibase';
$dbuserpass='miclave';
$dbname='mibase';
?>
Probalo y contanos como te fue, espero que pases y dejes buenas noticias.
Éxitos.
pregunta
holas a todos, bueno el pregunta es lo siguiente, lo que sucede es k funiona muy bien el login cuando esta sin el index.php, es decir funciona solo en su misma pagina, pero cuando utlizo el post del form y le digo k vaya a index.php aparentemente hace como si el dato la sesion estuviera en blanco, y obviamente me sale el mensaje que el usuario no se ha logeado cuando los datos son correctos.....alguien tiene algo parecido por alli???...una manito no caeria mal...gracias.....
mi no entender
Holas, podrias ser mas claro en el problema, como te funciona todo bien sin el index.php ???
saludos :D
mo no entender
Holas, podrias ser mas claro en el problema, como te funciona todo bien sin el index.php ???
saludos :D
Excelente tutorial. Lo
Excelente tutorial. Lo adapté a mis necesidades y funciona espectacular.
¡Muchas gracias!
Consulta del Login y Password
Buenas,
Tengo un sitio web creado en index.html y dentro de otra página creado una área de acceso Login y password. Mi duda es la siguiente.
1.- Necesito en el index.html crear ahí el acceso login y password, y no en otra página como lo tengo actualmente. Si por favor me pudiera indicar el código que debo utilizar para página. Ya me lo solicitarlo que vaya en la página principal.
Necesito urgente su respuesta, mucha gracias y la página es muy completa los felicito.
consulta del Login y Password
Mi pagina index está en html y en la misma pagina yo te el USUARIO con su caja de texto y su PASSWORD con su caja de texto y lo hice de esta manera: (este es el formulario donde tengo el Usuario y Password):
NOTA: Te aclaro amigo que la llamada a la pagina "validar_usuario.php" si debe estar en php, o sea que debes poner este archivo en tu server, para mi caso mi pagina index.html esta en un servidor que no tiene posibilades de correr codigos php no asi las otras las cuales controlan las bases de datos mysql que si lo estan, te recomiendo si no tienes un server free que uses www.miarroba.com donde vas a obtener espacio free hasta 500 megas y poder administrar tus bases con My Admin SQL. SUERTE
-----------------------------------------------------------
LOGIN
Usuario:
Password:
----------------------------------------------------
falta la web de htm
man falta el index la comprobacion de que esta logeado. si pudieran areglar el link que esta mal le agredeceria mucho
Tablas diferenciales
Como dicen por hay, yo necesito saber como hacer para ver datos de una cuenta. peor para explicar mejor lo q quiero, les dare un ejemplo:
Digamos q tengo una cuenta "X" en la cual me conecto y todo bien, pero ahora quiero ver un articulo "Y" q se encuentra en una tabla independiente de la de usuarios, hasta ahora lo tengo todo bien y me funciona. pero el problema bien cuando quiero ver varios articulos relacionados a una misma cuenta. cuando quiero ver el articulo de la cuenta "X" solo veo el primer articulo, sabiendo q en la base de datos hay mas de 1 articulo pero los demas no se muestran.
Ahora digamos q en la tabla de las cuentas y los articulos esta la variable "id" que es la q relaciona un o unos articulos con "X" cuenta. si me pueden ayudar en eso... les agradeceria.
Session_start arreglado!
para los q tengan el mismo problema des session_start tienen q eliminar todo lo q este antes u despues del <?php ?>, los espacios o lo q sea.
pregunta
Quisiera pedirles un favor grandisimo.
Hola que tal? me llamo Christian y queria darle las gracias y la enorabuena por los tutoriales que tiene en el internet. Son muy buenos particularmente para gente que esta empezando como yo.
Tambien tengo una pregunta aver si usted me la puede resolver.
Tengo una pagina web ya creada, para acabarla solo me falta algo que es muy importante para mi. Quiero hacer una pagina para que la gente se registre (nombre de usuario, nombre, apellidos, telefono, email y unos cuantos registros mas, etc… PERO NO QUIERO NINGUN CAMPO PARA CONTRASENA) y otra donde ingresen su nombre de usuario y contrasena para que puedan entrar a la pagina. Hasta ahi todo normal, lo dificil viene aqui.
En la pagina de registracion necesito que ingresen todos los campos requeridos para la registracion y que cuando hagan click en enviar pase lo siguiente:
1. Supongo que toda la informacion sera enviada a una base de datos en el servidor.
2. Utilizado un generador de contrasenas, automaticamente una contrasena debe de ser enviada a la direccion de correo electronico insertada en la pagina de registracion por la persona que se quiere registrar al instante.
3. La persona accedera a su email y utilizara la contrasena enviada automaticamente por el generador de contrasenas y su nombre de usuario para entrar en mi pagina (login). El proposito de esto es porque quiero que la gente ingrese un email que exista.
4. Cuando la persona quiera debo de poner un boton para que pueda cerrar la sesion (logout).
No se si me explique bien pero necesito saber todos los codigos (html and php o los que se necesiten) y explicaciones paso a paso como hacerlo igual que usted lo ensena en sus videos que es facilisimo de seguir. Utilizo dreamweaver y simp edit que es como note pad ++.
Por favor le ruego que si tiene un poco de tiempo me ayude, llevo 3 semanas tratando y tratando, buscando en el internet pero no encuentro como hacerlo, solo encontre codigos php para crear un generador de contrasenas (espero que le sea de ayuda).
(codigo PHP) crear un generador de contrasenas aleatorias.
1. // PassStrength should be 0 to 4
2. function RandomPassword($PassLength = 6, $PassStrength = 0)
3. {
4. $Vowels = 'aeuy';
5. $Consonants = 'bdghjmnpqrstvwxz';
6. if ($PassStrength > 0)
7. {
8. $Consonants .= 'BDGHJLMNPQRSTVWXZ';
9. }
10. if ($PassStrength > 1)
11. {
12. $Vowels .= "AEUY";
13. }
14. if ($PassStrength > 2)
15. {
16. $Consonants .= '23456789';
17. }
18. if ($PassStrength > 3)
19. {
20. $Consonants .= '@#$%';
21. }
22.
23. $PasswordString = "";
24. $AltChar = time() % 2;
25. srand(time());
26. for ($i = 0; $i < $PassLength; $i++)
27. {
28. if ($AltChar == 1)
29. {
30. $PasswordString .= $Consonants[(rand() % strlen($Consonants))];
31. $AltChar = 0;
32. }
33. else
34. {
35. $PasswordString .= $Vowels[(rand() % strlen($Vowels))];
36. $AltChar = 1;
37. }
38. }
39. return $PasswordString;
40. }
41.
42. // Strong password, 6 characters long
43. echo RandomPassword(6, 4);
Tambien vi el buscador que hay en la pagina www.videotutoriales.us y tambien estube buscando como agregar uno a mi pagina pero no encontre un tutorial de como hacerlo. Quiero uno privado que solo busque en mi pagina y no en la web, no quiero los gratuitos de google ni ninguno de eso. aver si me puede ayudar tambien en como crearlo por que estube tratando y no pude.
muchas gracias por todo.
redirecionar pag wev
Hola como estan.....copue todos los archivos de sistema de autentificación (login, password) PHP u me funcionaron bien...solo que me falta la redireccion antes de que salga la pagina en blanco con la respuesta del "echo", quiero que la respuesta salga en la pagina principal en html y no lo puedo hacer....
ruego ayyudaaaa
saludos
redirect
Hi, prueba algo a si
<?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'];
header("Location: loginexitoso.php");
}
}
}
?>
y en loginexitoso.php pon esto
<?php
if (isset($_SESSION['s_username'])!="") {
?>
redirect
echo "Has sido logueado correctamente ".$_SESSION['s_username']." y puedes acceder al index.php.";
<?php
}else{
header("Location: login.php"); //esto es solo por seguridad
}
?>
siendo content="5; la cantidad de segundos a esperar para redireccionar a otra pagina
no logro redireccionar al index html de mi pagina
hola, me parece excelente el tutorial, muy practico y sin tanta teoria que usualmente tiende a confundir al neofito.
ahora bien, quisiera hacer una consulta:
lo que sucede es que no logro redireccionar a la pagina de inicio en mi website, en su ejemplo usted menciona que la variable o parametro contect describe o almacena el tiempo ke tarda en redireccionar pero no dices donde está ese fragmento del codigo.
utilizé la funcion header para redireccionar a mi pagina de inicio despues del login, pero me sale el siguiente error:
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\PROYECTO GRADO\Login.php:26) in C:\xampp\htdocs\PROYECTO GRADO\Login.php on line 27.
no he logrado redireccionar al inicio del website, Mil gracias de antemano por su pronta ayuda
login.php
hola que bueno su codigo despues de muchoencontre algo bueno.....
pero ruego ayuda entre el codigo de login.php
<?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.";
}
}
}
?>
lo adapte a mi modelo donde username es = nick
funciona sin indicar error pero termina en una pag en blanco
que tengo mallllll?????
Enviar un comentario nuevo