Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Maistere en 5 Diciembre 2013, 14:02 pm



Título: Registro de Usuarios en PHP
Publicado por: Maistere en 5 Diciembre 2013, 14:02 pm
Hola estoy haciendo una práctica de un videoclub con PHP y en la parte del administrador me han pedido lo siguiente al registrar un usuario:

A la hora del registro de un usuario si algún campo está vacío, debe de mostrar un mensaje de error indicando el campo que es y conservar los valores que el usuario ya había introducido.

Aquí os dejo el PHP del registro de usuarios, por si podéis resolverme esta duda, me haríais un gran favor.

Código
  1. <?php
  2. include("seguridad.php");
  3. ?>
  4.  
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  6. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  7. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
  8. <head>
  9. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  10. <meta name="author" content="bred<" />
  11. <meta name="keywords" content="bred<" />
  12. <meta name="description" content="bred<" />
  13. <meta name="robots" content="all" />
  14. <title>bred</title>
  15.  
  16. <style type="text/css" title="currentStyle" media="screen">
  17. @import "./css/admin.css";
  18. </style>
  19. </head>
  20.  
  21. <?php
  22. include('../conf.php');
  23. ?>
  24.  
  25. <body>
  26. <div id="wrapper">
  27. <div id="top">
  28.     <h1 class="logo">Ad<span class="green1">min</span></h1>
  29.        <ul id="topnavi">
  30.        <li><a href="administrador.php">Inicio</a></li>
  31. <li><a href="Peliculas/registrarpeliculas.php">Registrar Peliculas</a></li>
  32.        <li class="active"><a href="registrarusuarios.php">Registro de Usuarios</a></li>
  33.        <li><a href="crearnoticias.php">Crear Noticias</a></li>
  34.       <li><a href="noticias.php">Noticias</a></li>
  35.        <li><a href="datosusuario.php">Modificar Datos</a></li>
  36.        <li><a href="desconectar.php">Desconectar</a></li>
  37.  
  38.        </ul>
  39.    </div>
  40.    <div id="header">
  41.     <img src="img/header.jpg" alt="" width="1000" height="183" />
  42.    </div>
  43.    <div id="main">
  44.     <div id="left-part">
  45.            </ul>
  46.        </div>
  47. <h1><b>Insertar datos del nuevo usuario</b></h1>
  48.            <p><img src="img/datos.jpg" alt="" width="600" height="445" class="right" />
  49. <form action="" method="POST">
  50. <div id="BloqueFormulario">
  51. <label for="NomUsuario"><b>Nombre de Usuario: </b><br></label>
  52. <input name="NomUsuario"  size="40" maxlength="100" type="text" class="CampoFormulario">
  53. </div>
  54. <br>
  55. <div id="BloqueFormulario">
  56. <label for="Pass"><b>Contrase&ntilde;a: </b><br></label>
  57. <input name="Pass"  size="40" maxlength="100" type="password" class="CampoFormulario">
  58. </div>
  59. <br>
  60. <div id="BloqueFormulario">
  61. <label for="Nombre"><b>Nombre: </b><br></label>
  62. <input name="Nombre"  size="40" maxlength="100" type="text" class="CampoFormulario">
  63. </div>
  64. <br>
  65. <div id="BloqueFormulario">
  66. <label for="Apellidos"><b>Apellidos: </b><br></label>
  67. <input name="Apellidos"  size="40" maxlength="100" type="text" class="CampoFormulario">
  68. </div>
  69. <br>
  70. <div id="BloqueFormulario">
  71. <label for="DNI"><b>DNI: </b><br></label>
  72. <input name="DNI"  size="40" maxlength="100" type="text" class="CampoFormulario">
  73. </div>
  74. <br>
  75. <div id="BloqueFormulario">
  76. <label for="Direccion"><b>Direcci&oacute;n: </b><br></label>
  77. <input name="Direccion" size="40" maxlength="100" type="text" class="CampoFormulario">
  78. <br>
  79. <br>
  80. </div>
  81. <div id="BloqueFormulario">
  82. <label for="Telefono"><b>Tel&eacute;fono: </b><br></label>
  83. <input name="Telefono" size="40" maxlength="100" type="text" class="CampoFormulario">
  84. </div>
  85. <br>
  86. <div id="BloqueFormulario">
  87. <label for="Sexo"><b>Sexo: </b><br></label>
  88. <input name="Sexo" v size="40" maxlength="100" type="text" class="CampoFormulario">
  89. <br>
  90. </div>
  91. <br>
  92. <div id="BloqueFormulario">
  93. <label for="Fecha"><b>Fecha: </b><br></label>
  94. <input name="Fecha" size="40" maxlength="100" type="date" class="CampoFormulario">
  95. </div>
  96. <br>
  97. <input type="submit" name="Enviar" value="Enviar"/>
  98. <br>
  99. </div>
  100.    </div>
  101. </form>
  102. <?php
  103. if(isset($_POST['Enviar'])) //Si existen las variables
  104. {
  105. if($_POST['NomUsuario'] == '' or $_POST['Pass'] == '' or $_POST['Nombre'] == '' or $_POST['Apellidos'] == '' //Si las variables están vacías
  106. or $_POST['Direccion'] == '' or $_POST['Telefono'] == '' or $_POST['Sexo'] == '' or $_POST['DNI'] == '')
  107. {
  108. echo "<h3>Ning&uacute;n campo puede estar vac&iacute;o</h3>"; // Se imprimirá esto
  109.    }
  110.   else
  111.    {
  112.        $bd = 'SELECT * FROM usuario'; //Ejecutamos la consulta
  113.        $res = mysql_query($bd);
  114.        $revisarusuario = 0;
  115.  
  116.        while($resultado = mysql_fetch_object($res))
  117.        {
  118.            if($resultado->NomUsuario == $_POST['NomUsuario'])
  119.            {
  120.                $revisarusuario = 1;
  121.            }
  122.        }
  123.  
  124.        if($revisarusuario == 0)
  125.        {
  126.        $NomUsuario = $_POST['NomUsuario'];
  127.        $Pass = $_POST['Pass'];
  128.        $Nombre = $_POST['Nombre'];
  129.        $Apellidos = $_POST['Apellidos'];
  130.        $Direccion = $_POST['Direccion'];
  131.        $Telefono = $_POST['Telefono'];
  132.        $Sexo = $_POST['Sexo'];
  133.        $DNI = $_POST['DNI'];
  134.        $Fecha = $_POST['Fecha'];
  135. $bd = "INSERT INTO usuario (NomUsuario, Pass, Nombre, Apellidos, Direccion, Telefono, Sexo, DNI, Fecha) VALUES ('$NomUsuario' ,'$Pass', '$Nombre', '$Apellidos', '$Direccion', '$Telefono', '$Sexo', '$DNI', '$Fecha')";
  136. mysql_query($bd);
  137. echo "<h1>El usuario se ha registrado correctamente</h1>";
  138.        }  
  139.        else
  140.        {
  141.        echo "<h1>El usuario que intenta registrar, ya fue registrado</h1>";
  142.        }
  143.    }
  144. }
  145. ?>
  146.  
  147. <?php
  148. ?>
  149.  
  150.  
  151.    <div id="footer">
  152.     <p>© Copyright 2013. All Rights Reserved.
  153.    </div>
  154. </div>
  155. </body>
  156. </html>
  157.  


Título: Re: Registro de Usuarios en PHP
Publicado por: EFEX en 5 Diciembre 2013, 16:03 pm
Un ejemplo muy a lo bruto...

Código
  1. <input name="NomUsuario"  size="40" maxlength="100" type="text" class="CampoFormulario" value="<?php if(isset($_POST['NomUsuario'])){ echo $_POST['NomUsuario']; } ?>">


Título: Re: Registro de Usuarios en PHP
Publicado por: Maistere en 6 Diciembre 2013, 15:24 pm
No hace nada al dejar ese campo vacío, supuestamente debería dejar los otros rellenados y marcar como que ese está vacío, sabes si hay alguna otra forma? porque así no me funciona


Título: Re: Registro de Usuarios en PHP
Publicado por: TrokaMc en 7 Diciembre 2013, 11:36 am
no te desarrollaré el código porque la verdad soy flojo xD! y te servirá más entenderlo que pegarlo...cambia
Código:
if($_POST['NomUsuario'] == ''"
por
Código:
if(!empty($_POST['NomUsuario'])

!empty quiere decir.. si los campos están vacíos ejecuta esto... y bueno cambialo asi y se que te funcionará ;)


Título: Re: Registro de Usuarios en PHP
Publicado por: Maistere en 7 Diciembre 2013, 18:55 pm
Sigue sin funcionarme, solamente me aparece el mensaje de que los campos no pueden estar vacíos, pero lo que necesito es que señale el campo vacío y que guarde lo que habíamos rellenado en los otros campos


Título: Re: Registro de Usuarios en PHP
Publicado por: TrokaMc en 7 Diciembre 2013, 22:08 pm
perdona error mio es if(empty) si pones if(!empty) lo hará si los campos no están vacíos no se si será eso jeje


Título: Re: Registro de Usuarios en PHP
Publicado por: HackID1 en 7 Diciembre 2013, 22:20 pm
Esto pienso que se podría hacer mejor con javascript para no llenar al Servidor de consultas y en caso de fallo volver a consultar y así hasta que rellene los datos, no?.

En JScript con una función que verifique que los campos estén rellenados y luego permita enviar el formulario al servidor ..
Pienso que sería mejor.

Saludos!


Título: Re: Registro de Usuarios en PHP
Publicado por: Giancarlort en 4 Enero 2014, 20:16 pm
pues usa html5 y solo en el input poner required

digamos algo asi <input type="text" name="nombre" required />

otra es con jquery, pero esto es solo del lado del cliente cosa que creo q tambien deberias hacerlo del lado del servidor con php, pero por ahora esto te puede servir.