comienza por una DB asi:
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 NOT NULL,
`email` varchar(45) character set utf8 collate utf8_spanish_ci default NULL,
`fecha` date NOT NULL,
PRIMARY KEY (`id`)
para mantener al usuario identificado has de comenzar el codigo iniciando una sesion
Código PHP:
session_start();
este form para registro:
Código HTML:
<form action="registro.php" method="post">
<table width="59%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="81" colspan="2"><div align="center"><span class="Estilo18">Esta intentando entrar en una zona restringida a usuarios, por favor, registrese, le llevara 30 sg.</span></div></td>
</tr>
<tr>
<td height="81" colspan="2"><div align="center" class="Estilo17">Registro</div></td>
</tr>
<tr>
<td width="43%" height="31" bgcolor="#CCCCCC">Usuario (max 20):</td>
<td width="49%" bgcolor="#CCCCCC"><input type="text" name="username" size="20" maxlength="20" /></td>
</tr>
<tr>
<td height="29" bgcolor="#CCCCCC">Password (max 10):</td>
<td bgcolor="#CCCCCC"><input type="password" name="password" size="10" maxlength="10" /></td>
</tr>
<tr>
<td height="29" bgcolor="#CCCCCC">Confirma:</td>
<td bgcolor="#CCCCCC"><input type="password" name="password2" size="10" maxlength="10" /></td>
</tr>
<tr>
<td height="29" bgcolor="#CCCCCC">Email (max 40): </td>
<td bgcolor="#CCCCCC"><input type="text" name="email" size="20" maxlength="40" /></td>
</tr>
<tr>
<td height="40" colspan="2"><div align="center">
<input type="submit" value="Registrar" />
</div></td>
</tr>
</table>
despues para el registro de user usa este codigo y llamalo registro.php:
Código PHP:
<?php
session_start();
//datos para establecer la conexion con la base de mysql.
mysql_connect('localhost','tu_usuario','tu_password')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('registro')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function formRegistro(){
?>
<?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 />';
?>
para mantener al usuario en la sesion y que el sepa que esta logeado usa este codigo en algun sitio de la cabecera por ejemplo:
Código PHP:
<?php
if (isset($_SESSION['k_username']))
{
echo 'Hola, ';
echo '<b>'.$_SESSION['k_username']. '</b>.';
echo '<a href="salir.php">salir</a>';
}
?>