Foros del Web » Programando para Internet » PHP »

problema al registrar usuarios

Estas en el tema de problema al registrar usuarios en el foro de PHP en Foros del Web. Estoy intentando hacer un registro de usuario con PHP y parte del código consiste en validar que se rellenan en el formulario todos los campos ...
  #1 (permalink)  
Antiguo 27/03/2012, 04:25
 
Fecha de Ingreso: marzo-2012
Mensajes: 24
Antigüedad: 12 años, 1 mes
Puntos: 0
problema al registrar usuarios

Estoy intentando hacer un registro de usuario con PHP y parte del código consiste en validar que se rellenan en el formulario todos los campos obligatorios. Aunque los relleno, no soy capaz de ver porque me dice que faltan campos obligatorios por rellenar, así que os pega el trozo de código por si alguno veis donde puede estar el error.
Muchas gracias!
Código PHP:
<pre style="font-family:Arial, Helvetica, sans-serif;font-size:14px;color:#000; margin-left:40px;">Rellene los siguientes datos de registro:<br/>
                <?php
                session_start
();
                
//datos para establecer la conexion con la base de mysql.
                
mysql_connect('***','***','***')or die ('Ha fallado la conexión: '.mysql_error());
                
mysql_select_db('***')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
                function 
formRegistro(){
            
?>
            <form action="registrar.php" method="post" style="margin-top:-20px;">
            <table cellpadding="1px" cellspacing="2px">    
                 <tr>
                      <td width="350px"><label for="username"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>Usuario*:</strong></font></label></td>
                      <td ><input type="text" id="username" name="username" value="" size="20" /></td>
                 </tr>
                 <tr>
                     <td width="350px"><label for="password"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>Contraseña*:</strong></font></label></td>
                      <td ><input type="password" id="password" name="password" value="" size="20" /></td>
                 </tr>
                 <tr>
                     <td width="350px"><label for="password2"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>Repetir contraseña*:</strong></font></label></td>
                      <td ><input type="password" id="password2" name="password" value="" size="20"/></td>
                 </tr>
                 <tr>
                      <td align="left" width="350px"><label for="nombre"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>Persona de contacto*:</strong></font></label></td>
                      <td ><input type="text" id="nombre" name="nombre" value="" size="60"/></td>
                 </tr>
                 <tr>
                     <td width="350px"><label for="tlf"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>Teléfono*:</strong></font></label></td>
                      <td ><input type="text" id="tlf" name="tlf" value="" size="15"/></td>
                 </tr>
                 <tr>
                     <td width="350px"><label for="email"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>E-mail*:</strong></font></label></td>
                      <td ><input type="text" id="email" name="email" value="" size="40" /></td>
                 </tr>
                 <tr>
                     <td width="350px"><label for="empresa"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>Empresa:</strong></font></label></td>
                      <td ><input type="text" id="empresa" name="empresa" value="" size="15"/></td>
                 </tr>
                 <tr>
                     <td width="350px"><label for="direccion"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>Dirección:</strong></font></label></td>
                     <td ><input type="text" id="direccion" name="direccion" value="" size="60"/></td>
                 </tr>
                 <tr>
                      <td colspan="2"><font size="1" face="Arial, Helvetica, sans-serif" color="#000000">*Campos obligatorios.</font></td>
                  </tr>
                 
                 <tr>
                     <td colspan="2">&nbsp;</td>
                 </tr>
                 <tr>
                     <td></td>
                      <td align="left"><input type="submit" name="enviar" id="enviar" value="Registrar" /><input type="reset" name="borrar" id="borrar" value="Restablecer" /></td>
                  </tr>
                  </table>
              </form>
<?php
}
// verificamos si se han enviado ya las variables necesarias.
if (isset($_POST["username"])) {
    
$username $_POST["username"];
    
$password $_POST["password"];
    
$password2 $_POST["password2"];
    
$nombre =$_POST["nombre"];
    
$tlf $_POST["tlf"];
    
$email $_POST["email"];
    
$empresa $_POST["empresa"];
    
$direccion $_POST["direccion"];
    
// Hay campos en blanco
    
if($username==NULL|$password==NULL|$password2==NULL|$nombre==NULL|$tlf==NULL|$email==NULL) {
        echo 
"Algún campo obligatorio 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 están ya en uso";
                
formRegistro();
            }else{
                
$query 'INSERT INTO usuarios (usuario, password, nombre, email, tlf, empresa, direccion, fecha)
                VALUES (\''
.$username.'\',\''.$password.'\',\''.$nombre.'\',\''.$email.'\',\''.$tlf.'\',\''.$empresa.'\',\''.$direccion.'\',\''.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">
                <table cellpadding="1px" cellspacing="2px">
                 <tr>
                      <td width="50px"><label for="usuario"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>Usuario:</strong></font></label></td>
                      <td ><input type="text" id="usuario" name="usuario" size="20" maxlength="20"/></td>
                 </tr>
                 <tr>
                     <td width="50px"><label for="pass"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>Contraseña:</strong></font></label></td>
                      <td ><input type="password" id="password" name="password" size="20" maxlength="20"/></td>
                    </tr>
                 <tr>
                     <td colspan="2">&nbsp;</td>
                 </tr>
                 <tr>
                     <td></td>
                      <td align="left"><input type="submit" name="enviar" id="enviar" value="Ingresar" /></td>
                  </tr>
                  </table>
              </form>
                
                <?php
            
}
        }
    }
}else{
    
formRegistro();
}
?>          </pre>
  #2 (permalink)  
Antiguo 27/03/2012, 05:15
 
Fecha de Ingreso: marzo-2012
Ubicación: Valladolid
Mensajes: 6
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: problema al registrar usuarios

jejeje. En el formulario, en password2, pones name password. Asi no te va a funcionar en la vida.

Espero haber ayudado.

Un saludo
  #3 (permalink)  
Antiguo 27/03/2012, 05:32
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: problema al registrar usuarios

además la palabra "password" no debe de ser usada ni como id, name, variable, .....
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #4 (permalink)  
Antiguo 27/03/2012, 06:08
 
Fecha de Ingreso: marzo-2012
Mensajes: 24
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: problema al registrar usuarios

Ya podía pasarme horas mirando el php cuando el error estaba en el formulario...jeje.
Muchas gracias por vuestra ayuda!

Otra preguntita, si este login/registro lo coloco después de rellenar un formulario como puedo hacer que finalmente se mande toda la info del primer formulario + la del usuario registrado a un mail? Me explico, como puedo mandar la info del formulario anterior al siguiente y así sucesivamente? El php que manda el mail creo que ya se como funcionaría.

Gracias de nuevo de antemano!

Etiquetas: formulario, mysql, registro, sql, usuarios, variables
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:35.