Foros del Web » Programando para Internet » PHP »

Registro de usuario PHP

Estas en el tema de Registro de usuario PHP en el foro de PHP en Foros del Web. Hola, estoy comenzando a trabajar con php y estoy haciendo una pagina con registro de usuario, hasta ahora llevo esto: Código PHP: <?php           function  ...
  #1 (permalink)  
Antiguo 21/06/2011, 13:16
Avatar de LuisCZ  
Fecha de Ingreso: noviembre-2009
Ubicación: Maracaibo
Mensajes: 127
Antigüedad: 14 años, 5 meses
Puntos: 0
Pregunta Registro de usuario PHP

Hola, estoy comenzando a trabajar con php y estoy haciendo una pagina con registro de usuario, hasta ahora llevo esto:
Código PHP:
<?php 
        
function conectarse(){
            if (!(
$link=mysql_connect("localhost","root",""))){
                echo 
"Error al tratar de conectarse a la base de datos.";
                exit();}
            if (!
mysql_select_db("bdprueba",$link)){
                echo 
"Error al momento de seleccionar la base de datos.";
                exit();}
            return 
$link;}
                              
        
$link=conectarse();
        
        
$usuario=$_POST['usuario'];    
        
$contrasena=$_POST['contrasena'];
        
$pais=$_POST['pais'];
        
$correo=$_POST['correo'];
        
$fecha=date("y,m,d");

        
mysql_query("insert into usuarios(usuario,contrasena,pais,correo,fecha) values ('$usuario','$contrasena','$pais','$correo','$fecha')",$link);
        echo 
"Su registro se realizo satisfactoriamente.";
        
mysql_close($link);
        
?>
y esta es la parte html:
Código HTML:
<form method="post" name="formulario">
          <table width="100%" border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td height="50">
            <label for="textfield"></label><p>
              <label>Nombre de usuario: <br>
              <input name="usuario" type="text" id="usuario">
              </label>
            </p>
              <td width="700">&nbsp;</td>
            </tr>
            <tr>
              <td height="50">
            <p>
              <label>Contraseña:<br>
              <input name="contrasena" type="password" id="contrasena">
              </label>
            </p>
            </td>
              <td width="700">&nbsp;</td>
            </tr>
            <tr>
              <td height="50">
            <p>Vuelva a escribir la contrase&ntilde;a:<label><br>
              <input name="contrasena2" type="password" id="contrasena2">
              </label>
            </p>
            </td>
              <td width="700">&nbsp;</td>
            </tr>
            <tr>
              <td height="50">
            <p>
              <label>Correo electrónico:<br>
              <input name="correo" type="text" id="correo">
              </label>
            </p>
            </td>
              <td width="700">&nbsp;</td>
            </tr>
            <tr>
              <td height="50">
            <p>
              <label>Pa&iacute;s: <br>
              <input name="pais" type="text" id="pais">
              </label>
            </p>
            </td>
              <td width="700">&nbsp;</td>
            </tr>
            <tr>
              <td height="50" valign="bottom">
            <p>
              <input type="submit" value="Registrar">
            </p>
          </td>
              <td width="700">&nbsp;</td>
            </tr>
          </table>
          </form> 
El problema es que junto con entrar a la pagina de registro se almacenan los datos en la base de datos obviamente con los campos vacios y mostrando un error en la pagina con las lineas correspondiente a donde se encuentra las variables declaradas de $usuario, $contrasena, $pais y $correo.

Saludos y gracias de antemano.
  #2 (permalink)  
Antiguo 21/06/2011, 13:20
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 7 meses
Puntos: 511
Respuesta: Registro de usuario PHP

Hola que tal.

Checa esto

sistema de usuarios

Te puede ayudar mucho.

Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #3 (permalink)  
Antiguo 21/06/2011, 13:21
Avatar de xtimed  
Fecha de Ingreso: julio-2009
Ubicación: BCN - México
Mensajes: 226
Antigüedad: 14 años, 9 meses
Puntos: 41
Respuesta: Registro de usuario PHP

Es una sola página? por que no lo manejas por separado? en 2 páginas, una con el html y la otra con tu codigo php, así no tendrías ese problema
  #4 (permalink)  
Antiguo 21/06/2011, 14:52
Avatar de LuisCZ  
Fecha de Ingreso: noviembre-2009
Ubicación: Maracaibo
Mensajes: 127
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Registro de usuario PHP

Hola skiper0125, muchas gracias! me funciono todo a la perfeccion.
Hola xtimed, no sabia que esa podia ser la solucion a mi problema, pero de todas formas la manera de skiper0125 me funciona a la perfeccion... igual muchas gracias por tu ayuda.
  #5 (permalink)  
Antiguo 21/06/2011, 16:36
Avatar de xtimed  
Fecha de Ingreso: julio-2009
Ubicación: BCN - México
Mensajes: 226
Antigüedad: 14 años, 9 meses
Puntos: 41
Respuesta: Registro de usuario PHP

Lo que pasa es que estabas ejecutando tu script al momento de ingresar a la página, no lo tenias con ninguna condición, si huibieras encerrado tu codigo en un if(isset($_POST['variable'])) con eso hubiera bastado para que no te guardara los vacios como decias
  #6 (permalink)  
Antiguo 22/06/2011, 13:57
Avatar de LuisCZ  
Fecha de Ingreso: noviembre-2009
Ubicación: Maracaibo
Mensajes: 127
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Registro de usuario PHP

Cita:
Iniciado por xtimed Ver Mensaje
Lo que pasa es que estabas ejecutando tu script al momento de ingresar a la página, no lo tenias con ninguna condición, si huibieras encerrado tu codigo en un if(isset($_POST['variable'])) con eso hubiera bastado para que no te guardara los vacios como decias
Han! ok, muchas gracias por aclarar mi duda...

Ahora bien, tengo tres dudas que no he podido aclarar.

existe una manera de que los mensajes de error aparezcan al lado de sus respectivos textfield, ejemplo, que si el nombre de usuario ya existe aparezca el mensaje alado del textfield de usuario.

Otra cosa, puede ser un mensaje mas elaborado, es decir, con fondo y demas.

Y por ultimo, he notado en algunas paginas que si da error en alguno de los textfield al presionar el boton enviar no se borran los campos ya llenado por el usuario ¿como se hace esto?

Saludos y gracias de antemano!
  #7 (permalink)  
Antiguo 22/06/2011, 17:43
Avatar de xtimed  
Fecha de Ingreso: julio-2009
Ubicación: BCN - México
Mensajes: 226
Antigüedad: 14 años, 9 meses
Puntos: 41
Respuesta: Registro de usuario PHP

Eso lo puedes hacer con javascript, por ejemplo, se me ocurre que puedes poner un div formateado con css con la propiedad display en none y al validar con javascript, si esta bien se ejecuta tu script, realizas el submit, si no, muestras el div formateado con css mencionando el error y no ejecutas el submit
  #8 (permalink)  
Antiguo 23/06/2011, 08:25
Avatar de LuisCZ  
Fecha de Ingreso: noviembre-2009
Ubicación: Maracaibo
Mensajes: 127
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Registro de usuario PHP

Wow no entendi nada XD soy nuevo en esto de php y javascript... que me recomiendas? pregunto esto en la seccion de javascript?
Saludos!
  #9 (permalink)  
Antiguo 23/06/2011, 17:05
Avatar de xtimed  
Fecha de Ingreso: julio-2009
Ubicación: BCN - México
Mensajes: 226
Antigüedad: 14 años, 9 meses
Puntos: 41
Respuesta: Registro de usuario PHP

Preguntalo en el foro de javascript, igual y si veo tu comentario te respondo =P
  #10 (permalink)  
Antiguo 24/06/2011, 13:05
Avatar de LuisCZ  
Fecha de Ingreso: noviembre-2009
Ubicación: Maracaibo
Mensajes: 127
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Registro de usuario PHP

jejeje ok gracias!

Etiquetas: registro, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:34.