Ver Mensaje Individual
  #6 (permalink)  
Antiguo 07/07/2010, 15:22
Avatar de Erythnul
Erythnul
 
Fecha de Ingreso: julio-2010
Ubicación: Buenos Aires
Mensajes: 13
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Formulario y procesos en un mismo archivo

registro.php

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  4. <title>Registro</title>
  5. <link href="css.css" rel="stylesheet" type="text/css" />
  6. </head>
  7. <div align="center">
  8. <table width="800" height="100%" border="0" cellspacing="0" cellpadding="10" bgcolor="#FFFFFF">
  9. <tr>
  10. <td style="border: solid 1px #000000">
  11.   <form name="form1" method="post" action="proceso.php">
  12.   <table width="100%" border="0" cellspacing="0" cellpadding="5">
  13.   <tr>
  14.       <td style="background: #000000; color: #FFFFFF; border: 1px solid #000000; font-size: 12px"><strong>Registro de cuentas; Ingresa los datos de la cuenta</strong></td>
  15.     </tr>
  16.     <tr>
  17.       <td class="formadesc" >Nombre de usuario</td>
  18.     </tr>
  19.     <tr>
  20.       <td class="formacampo"><input name="usuario" type="text" id="usuario" size="20" maxlength="16" /></td>
  21.     </tr>
  22.     <tr>
  23.       <td class="formadesc" >Contrase&ntilde;a</td>
  24.     </tr>
  25.     <tr>
  26.       <td class="formacampo"><input name="clave1" type="password" id="clave1" size="20" maxlength="16" /></td>
  27.     </tr>
  28.     <tr>
  29.       <td class="formadesc" >Confirma contrase&ntilde;a</td>
  30.     </tr>
  31.     <tr>
  32.       <td class="formacampo"><input name="clave2" type="password" id="clave2" size="20" maxlength="16" /></td>
  33.     </tr>
  34.     <tr>
  35.       <td class="formadesc" >Correo electr&oacute;nico</td>
  36.     </tr>
  37.     <tr>
  38.       <td class="formacampo"><input name="correo" type="text" id="correo" size="20" maxlength="50" /></td>
  39.     </tr>
  40.     <tr>
  41.       <td class="formaboton"><div align="right"><input name="boton" type="submit" id="boton" value="Registrar" />
  42.       </div></td>
  43.     </tr>
  44.   </table>
  45. </form>
  46. </td>
  47. </tr>
  48. </div>
  49. </body>
  50. </html>

proceso.php

Código PHP:
Ver original
  1. <?php
  2.  
  3. $usuario = $_POST['usuario'];
  4. $clave1 = $_POST['clave1'];
  5. $clave2= $_POST['clave2'];
  6. $correo = $_POST['correo'];
  7.  
  8. if ($usuario == "")
  9. {
  10. echo "Debes ingresar un nombre de usuario para registrarte.";
  11. }
  12. elseif ($clave1 == "")
  13. {
  14. echo "Debes ingresar una contrase&ntilde;a para registrarte.";
  15. }
  16. elseif ($clave1 != $clave2)
  17. {
  18. echo "Por favor confirma la contrase&ntilde;a ingresada.";
  19. }
  20. // Aqui una nueva forma para validar el email, usando la funcion "strpos":
  21. elseif (!strpos($correo,"@hotmail.") && !strpos($correo,"@gmail.") && !strpos($correo,"@yahoo.") && !strpos($correo,"live.com."))
  22. {
  23. echo "El correo ingresado es incorrecto.";
  24. }
  25. else
  26. {
  27. $conexion = mysql_connect("localhost","root","");
  28. mysql_select_db("prueba", $conexion);
  29. $codigo = rand(0000000000,9999999999); // Conseguimos un codigo aleatorio de 10 digitos.
  30. if (!mysql_query("INSERT INTO pendientes (usuario,clave,correo,codigo) values ('".$usuario."','".$clave1."','".$correo."','".$codigo."')")) die (mysql_error());
  31. $headers = "From: UO Daery <[email protected]>";
  32. $mensaje = "Hola $usuario: \n
  33. Te enviamos este correo para completar el proceso de registro. \n
  34. Para activar tu cuenta visita el siguiente enlace: \n
  35. http://localhost/confirmar.php?codigo=".$codigo;
  36. if (!@mail("$correo","Confirmacion de registro","$mensaje","$headers")) die ("No se pudo enviar el email de confirmacion.");
  37. echo "Tu cuenta ha sido registrada, sin embargo, esta requiere que la confirmes desde el email que ingresaste en el registro.";
  38. }
  39. ?>

Lo del texto en negrita era mas bien para tener mi estilo en el foro pero si molesta pido perdón y no lo hago mas. ¡Saludos!

Última edición por Erythnul; 07/07/2010 a las 16:26