pues por aqui va la cosa
Código PHP:
<?php
session_start();
mysql_connect('localhost','XXXXXXXX','XXXXXXXX')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db("XXXXXXXX")or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function mostrar(){
echo'<form action="registrar_sha1.php" method="post" name="1">
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 />
Nombre (max 20):
<input type="text" name="nombre" size="20" maxlength="20" /><br />
Apellido (max 20):
<input type="text" name="apellido" size="20" maxlength="20" /><br />
Email (max 40):
<input type="text" name="email" size="20" maxlength="40" /><br />
<input type="submit" onclick="return ec ();" value="Registrar" />
</form>';
}
function mostrar1(){
echo'<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
// verificamos si se han enviado ya las variables necesarias.
if (isset($_POST['username']) && isset($_POST['password']))
{
$username = $_POST['username'];
$password = $_POST['password'];
$cadena = '478@€shdk%%';
$pass=$_POST['password'];
$hash=sha1($pass);
$password2 = $_POST['password2'];
$nombre = $_POST['nombre'];
$apellido = $_POST['apellido'];
$email = $_POST['email'];
// Hay campos en blanco
if($username==NULL||$password==NULL||$password2==NULL||$nombre==NULL||$apellido==NULL||$email==NULL) {
echo 'un campo está vacio.';
mostrar();
}else{
// ¿Coinciden las contraseñas?
if($password!=$password2) {
echo 'Las contraseñas no coinciden';
mostrar();
}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';
mostrar();
}else{
$query = 'INSERT INTO usuarios (usuario, password, nombre, apellido, email, hash, fecha)
VALUES (\''.$username.'\',\''.$password.'\',\''.$nombre.'\',\''.$apellido.'\',\''.$email.'\',\''.$hash.'\',\''.date("d-m-Y").'\')';
mysql_query($query);
echo 'El usuario '.$username.' ha sido registrado de manera satisfactoria.<br />';
echo 'Ahora puede entrar ingresando su usuario y su password <br />';
mostrar1();
?>
<?php
}
}
}
}else{
mostrar();
}
?>
aunque yo en lo particular uso md5 y por otro lado si es para un sitio publico debes agregar mas seguridad