Este código funciona, pero no se como implementar eso que les comento, por favor, ¿podrian ayudarme?
index.php
Código PHP :
<?php session_start(); ?> Más ejemplos en <a href="http://www.empresario.com.mx">Empresario.com.mx</a><br /> Gracias por tus comentarios.<br /> <?php echo 'Bienvenido, '; if (isset($_SESSION['k_username'])) { echo '<b>'.$_SESSION['k_username'].'</b>.'; echo '<p><a href="logout.php">Logout</a></p>'; }else{ echo '<p><a href="login.php">Login</a></p> <p><a href="registrar.php">Registrar</a></p>'; } ?>
login.php
Código HTML :
<form action="validar_usuario.php" method="post"> Usuario:<input type="text" name="usuario" size="20" maxlength="20" /> <br /> Password:<input type="password" name="password" size="10" maxlength="10" /> <br /> <input type="submit" value="Ingresar" /> </form>
logout.php
Código PHP :
<?php session_start(); // Borramos toda la sesion session_destroy(); echo 'Ha terminado la session <p><a href="index.php">index</a></p>'; ?> <SCRIPT LANGUAGE="javascript"> location.href = "index.php"; </SCRIPT>
registrar.php
Código PHP :
<?php session_start(); //datos para establecer la conexion con la base de mysql. mysql_connect('localhost','root','admin')or die ('Ha fallado la conexión: '.mysql_error()); mysql_select_db('mi_base')or die ('Error al seleccionar la Base de Datos: '.mysql_error()); function formRegistro(){ ?> <form action="registrar.php" method="post"> Usuario (max 20): <input type="text" name="username" size="20" maxlength="20" /><br /> Password (max 10): <input type="password" name="password" size="10" maxlength="10" /> Confirma: <input type="password" name="password2" size="10" maxlength="10" /><br /> Email (max 40): <input type="text" name="email" size="20" maxlength="40" /><br /> <input type="submit" value="Registrar" /> </form> <?php } // verificamos si se han enviado ya las variables necesarias. if (isset($_POST["username"])) { $username = $_POST["username"]; $password = $_POST["password"]; $password2 = $_POST["password2"]; $email = $_POST["email"]; // Hay campos en blanco if($username==NULL|$password==NULL|$password2==NULL|$email==NULL) { echo "un campo está vacio."; formRegistro(); }else{ // ¿Coinciden las contraseñas? if($password!=$password2) { echo "Las contraseñas no coinciden"; formRegistro(); }else{ // Comprobamos si el nombre de usuario o la cuenta de correo ya existían $checkuser = mysql_query("SELECT usuario FROM usuarios WHERE usuario='$username'"); $username_exist = mysql_num_rows($checkuser); $checkemail = mysql_query("SELECT email FROM usuarios 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"; formRegistro(); }else{ $query = 'INSERT INTO usuarios (usuario, password, email, fecha) VALUES (\''.$username.'\',\''.$password.'\',\''.$email.'\',\''.date("Y-m-d").'\')'; mysql_query($query) or die(mysql_error()); echo 'El usuario '.$username.' ha sido registrado de manera satisfactoria.<br />'; echo 'Ahora puede entrar ingresando su usuario y su password <br />'; ?> <FORM ACTION="validar_usuario.php" METHOD="post"> Usuario : <INPUT TYPE="text" NAME="usuario" SIZE=20 MAXLENGTH=20><br /> Password: <INPUT TYPE="password" NAME="password" SIZE=10 MAXLENGTH=10><br /> <INPUT TYPE="submit" VALUE="Ingresar"> </FORM> <?php } } } }else{ formRegistro(); } ?>
validar_usuario.php
Código PHP :
<?php session_start(); //datos para establecer la conexion con la base de mysql. mysql_connect('localhost','root','admin')or die ('Ha fallado la conexión: '.mysql_error()); mysql_select_db('mi_base')or die ('Error al seleccionar la Base de Datos: '.mysql_error()); function quitar($mensaje) { $nopermitidos = array("'",'\\','<','>',"\""); $mensaje = str_replace($nopermitidos, "", $mensaje); return $mensaje; } if(trim($HTTP_POST_VARS["usuario"]) != "" && trim($HTTP_POST_VARS["password"]) != "") { $usuario = strtolower(htmlentities($HTTP_POST_VARS["usuario"], ENT_QUOTES)); $password = $HTTP_POST_VARS["password"]; $result = mysql_query('SELECT password, usuario FROM usuarios WHERE usuario=\''.$usuario.'\''); if($row = mysql_fetch_array($result)){ if($row["password"] == $password){ $_SESSION["k_username"] = $row['usuario']; echo 'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>'; echo '<a href="index.php">Index</a></p>'; }else{ echo 'Password incorrecto'; } }else{ echo 'Usuario no existente en la base de datos'; } mysql_free_result($result); }else{ echo 'Debe especificar un usuario y password'; } mysql_close(); ?>
base de datos mi_base
Código MySQL :
CREATE TABLE `usuarios` ( `id` int(11) NOT NULL auto_increment, `usuario` varchar(20) NOT NULL, `password` varchar(10) NOT NULL, `descripcion` text character set utf8 collate utf8_spanish_ci, `email` varchar(45) character set utf8 collate utf8_spanish_ci default NULL, `fecha` date NOT NULL, PRIMARY KEY (`id`) )
Gracias por la atención !!!