Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/08/2010, 22:49
Avatar de ale_dla
ale_dla
 
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 189
Antigüedad: 15 años
Puntos: 3
Registro usuario

Hola a todos!
Quisiera saber si me puden ayudar a poder mejorar este codigo que tengo de un registro de usuarios.
Quiero que cuando haga click en el boton aparezca los campos de texto en color rojo y un mensaje de error.
Este es mi codigo:
Código PHP:
<?php
//signup.php
include 'connect.php';
include 
'header.php';

echo 
'<h3>Sign up</h3><br />';

if(
$_SERVER['REQUEST_METHOD'] != 'POST')
{
    
/*the form hasn't been posted yet, display it
      note that the action="" will cause the form to post to the same page it is on */
    
echo '<form method="post" action="">
          Username: <input type="text" name="usuario" /><br />
         Password: <input type="password" name="password"><br />
        Password again: <input type="password" name="user_pass_check"><br />
        E-mail: <input type="email" name="email"><br />
         <input type="submit" value="Registrarme" />
      </form>'
;
}
else
{
    
/* so, the form has been posted, we'll process the data in three steps:
        1.    Check the data
        2.    Let the user refill the wrong fields (if necessary)
        3.    Save the data 
    */
    
$errors = array(); /* declare the array for later use */
    
    
if(isset($_POST['usuario']))
    {
        
//the user name exists
        
if(!ctype_alnum($_POST['usuario']))
        {
            
$errors[] = 'The username can only contain letters and digits.';
        }
        if(
strlen($_POST['usuario']) > 30)
        {
            
$errors[] = 'The username cannot be longer than 30 characters.';
        }
    }
    else
    {
        
$errors[] = 'The username field must not be empty.';
    }
    
    
    if(isset(
$_POST['password']))
    {
        if(
$_POST['password'] != $_POST['user_pass_check'])
        {
            
$errors[] = 'The two passwords did not match.';
        }
    }
    else
    {
        
$errors[] = 'The password field cannot be empty.';
    }
    
    if(!empty(
$errors)) /*check for an empty array, if there are errors, they're in this array (note the ! operator)*/
    
{
        echo 
'Uh-oh.. a couple of fields are not filled in correctly..<br /><br />';
        echo 
'<ul>';
        foreach(
$errors as $key => $value/* walk through the array so all the errors get displayed */
        
{
            echo 
'<li>' $value '</li>'/* this generates a nice error list */
        
}
        echo 
'</ul>';
    }
    else
    {
        
//the form has been posted without, so save it
        //notice the use of mysql_real_escape_string, keep everything safe!
        //also notice the sha1 function which hashes the password
        
$sql "INSERT INTO
                    usuarios(usuario,password, email ,fecha_registro, usuario_nivel)
                VALUES('" 
mysql_real_escape_string($_POST['usuario']) . "',
                       '" 
sha1($_POST['password']) . "',
                       '" 
mysql_real_escape_string($_POST['email']) . "',
                        NOW(),
                        0)"
;
                        
        
$result mysql_query($sql);
        if(!
$result)
        {
            
//something went wrong, display the error
            
echo 'Something went wrong while registering. Please try again later.';
            
//echo mysql_error(); //debugging purposes, uncomment when needed
        
}
        else
        {
            echo 
'Succesfully registered. You can now <a href="signin.php">sign in</a> and start posting! :-)';
        }
    }
}

include 
'footer.php';
?>
Quien pueda ayudarme se los agradezco mucho!
Gracias.