Ver Mensaje Individual
  #19 (permalink)  
Antiguo 30/05/2013, 17:01
Avatar de arcanisgk122
arcanisgk122
 
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 11 meses
Puntos: 28
Respuesta: Registro de usuario

supongo que nada de lo que esta programado lo hiciste... la verdad...

ok para comenzar:

lo primero que hacemos es preguntar si el usuario esta loggiado; si esta loggiado mostramos las posibles variables de usuario guardadas en las cookies de sesion:

Código PHP:
Ver original
  1. <?php  
  2. if(logueado()==true){ include("st/cargo.php"); ?>
  3.     <strong>Bienvenido: <span style="color:#F00"> <?php echo "".$_SESSION['nombre']." ".$_SESSION['apellido'].""; ?> </span></strong><br>
  4.     <span style="float:left">Opciones: <?php echo "<b>".$tipo."</b>"; ?> ID: <span style="color:#F00"> <?php echo "00".$_SESSION['id']."</b>"; ?></span></span><br>
  5.     <form style="float:left" name="perf" method="post" action="#" ><input type="button" name="button" id="button" value="Jugar"></form>
  6.     <form style="float:left" name="perf" method="post" action="#" ><input type="button" name="button" id="button" value="Trabajo"></form>
  7.     <form name="perf" method="post" action="#" ><input type="button" name="button" id="button" value="Donaciones"></form>
  8.     <form style="float:left"><input type="button" onClick="location.href='perf.php'" name="button" id="button" value="Perfil de Usuario"></form>
  9.     <form name="clos" method="post" action="st/close.php" ><input type="submit" name="button" id="button" value="Log out"></form>
  10. <?php
  11. }else{
  12.     include("web/log.php");
  13. }
  14. ?>

Como veras hay una pequeña concatenación de php con html y en el caso de que el usuario no este loggiado le mostrara el include("web/log.php"); siguiente formulario el cual contiene el inicio de sesion y el boton para mostrar el registro...

Código HTML:
Ver original
  1. <form name="log" method="post" action="ent.php">
  2.     <table width="300" border="0" cellspacing="0" cellpadding="0">
  3.         <tr>
  4.             <td>Usuario</td>
  5.             <td><input name="username" type="text" id="username" size="15" maxlength="30" placeholder="yo-soy-ramon" autofocus required></td>
  6.         </tr>
  7.         <tr>
  8.             <td>Contraseña</td>
  9.             <td><input name="password" type="password" id="password" size="15" maxlength="30" placeholder="contraseña" required></td>
  10.         </tr>
  11.         <tr>
  12.             <td><input onClick="javascript:mostrardiv2()" type="button" name="button" id="button" value="Registrate"></td>
  13.             <td><input type="submit" name="button" id="button" value="Inicia sesion"></td>
  14.         </tr>
  15.     </table>
  16. </form>

esto es meramente grafico ahora vemos lo que esta detras de la pantalla:

vamos a los diferentes archivos php que general el registro y el loggin usando en ambos casos sesiones por cookies:

PHP ca.php
Código PHP:
Ver original
  1. <?php
  2. @session_name("MI_SESION");
  3. ?>
  4.  
  5. // Conexión DB
  6. if(isset($_POST['username']) && !empty($_POST['username']) &&
  7.     isset($_POST['password']) && !empty($_POST['password']) &&
  8.     isset($_POST['password2']) && !empty($_POST['password2']) &&
  9.     isset($_POST['nombre']) && !empty($_POST['nombre']) &&
  10.     isset($_POST['apellido']) && !empty($_POST['apellido']) &&
  11.     isset($_POST['telefono']) && !empty($_POST['telefono']) &&
  12.     isset($_POST['email']) && !empty($_POST['email'])) {
  13.     $username=$_POST['username'];
  14.     $password=$_POST['password'];
  15.     $password2=$_POST['password2'];
  16.     $nombre=$_POST['nombre'];
  17.     $apellido=$_POST['apellido'];
  18.     $telefono=$_POST['telefono'];
  19.     $email=$_POST['email'];
  20.     $tuser=0;  
  21.     include("../config/config.php");
  22.     $dblink = mysqli_connect($dbhost, $dbusername, $dbuserpass);
  23.     $selected = mysqli_select_db($dblink,$db1);
  24.     if (!$selected) {
  25.         die ('Error de Conexión a la base de Datos. '.mysqli_error($dblink));
  26.     }
  27.     $dblink->query("SET NAMES 'utf8'");
  28.     header("Content-type:text/html; charset=utf-8");
  29.     $checkuser = mysqli_query($dblink,"SELECT username FROM user WHERE username='$username'") or die ('Error de Conexión a la base de Datos. '.mysqli_error($dblink));
  30.     $username_exist = $checkuser->num_rows;
  31.     $checkemail = mysqli_query($dblink,"SELECT email FROM user WHERE email='$email'") or die ('Error de Conexión a la base de Datos. '.mysqli_error($dblink));
  32.     $email_exist = $checkemail->num_rows;
  33.     if ($email_exist>0) {
  34.         header('refresh:5; url=../index.php');
  35.         ?>
  36.         <br><br><br>
  37.         La cuenta de correo está ya en uso. <br>
  38.         Utilice otra Cuenta de correo electrónico. <br> <br>
  39.         Si tiene algún problema en crear su cuenta por favor enviar un correo a<br><br>
  40.         <strong>Si no eres Redireccionado a la pagina dar <a class="link" href="http://www.forosdelweb.com/f18/index.php">Click Para Continuar</a></strong><br>
  41.         <?php
  42.     }else{
  43.         if ($username_exist>0) {
  44.             header ('refresh:5; url=../index.php');
  45.             ?>
  46.             <br>
  47.             El nombre de usuario está ya en uso. <br>
  48.             Utilice otro Nombre de Usuario. <br> <br>
  49.             Si tiene algún problema en crear su cuenta por favor enviar un correo a<br>
  50.             <strong>Si no eres Redireccionado a la pagina dar <a class="link" href="http://www.forosdelweb.com/f18/index.php">Click Para Continuar</a></strong><br>
  51.             <?php
  52.         }else{
  53.             if($password!=$password2) {
  54.                 header('refresh:5; url=../index.php');
  55.                 ?>
  56.                 <br>
  57.                 Las contraseñas no coinciden. <br>
  58.                 Por favor utilice una contraseña valida. <br> <br>
  59.                 Si tiene algún problema en crear su cuenta por favor enviar un correo a<br>
  60.                 <strong>Si no eres Redireccionado a la pagina dar <a class="link" href="http://www.forosdelweb.com/f18/index.php">Click Para Continuar</a></strong><br>
  61.                 <?php
  62.             }else{
  63.                 $cemail=($_POST['email']);
  64.                 if ( filter_var($cemail, FILTER_VALIDATE_EMAIL) == TRUE){
  65.                     $encript = sha1($roossweld.$_POST['password']);
  66.                     mysqli_query($dblink,"INSERT INTO user (username,password,nombre,apellido,telefono1,email,tuser)
  67.                     VALUES ('{$username}','{$encript}','{$nombre}','{$apellido}','{$telefono}','{$email}','{$tuser}')")
  68.                     or die ('Error de Conexión a la base de Datos. '.mysqli_error($dblink));
  69.                         header('refresh:10; url=../index.php');
  70.                         ?>
  71.                         <table style="vertical-align:central" align="center" width="500" border="0" cellspacing="0" cellpadding="0">
  72.                             <tr><td colspan="4"><strong>Los datos han sido introducidos satisfactoriamente.</strong></td></tr>
  73.                             <tr><td colspan="4">&nbsp;</td></tr>
  74.                             <tr><td colspan="4">&nbsp;</td></tr>
  75.                             <tr><td colspan="4"><strong>Anota la siguiente informacion, es muy Importante!!</strong></td></tr>
  76.                             <tr><td colspan="4">&nbsp;</td></tr>
  77.                             <tr>
  78.                                 <td width="61"><strong>Usuario:</strong></td>
  79.                                 <td colspan="2"><?php echo " $username"; ?></td>
  80.                                 <td width="175"><strong>Telefono de Contacto:</strong></td>
  81.                             </tr>
  82.                             <tr>
  83.                                 <td colspan="2"><strong>Nombre Completo:</strong></td>
  84.                                 <td width="188"><?php echo " $nombre $apellido"; ?></td>
  85.                                 <td><?php echo " "; ?></td>
  86.                             </tr>
  87.                             <tr>
  88.                                 <td><strong>E-mail:</strong></td>
  89.                                 <td colspan="2"><?php echo " $email"; ?></td>
  90.                                 <td>&nbsp;</td>
  91.                             </tr>
  92.                             <tr><td colspan="4">&nbsp;</td></tr>
  93.                             <tr><td colspan="4"><strong>Inicio de Sesion Correcto!!</strong></td></tr>
  94.                             <tr>
  95.                                 <td colspan="3"><strong>Si no eres Redireccionado a la pagina dar <a class="link" href="http://www.forosdelweb.com/f18/index.php">Click Para Continuar</a></strong></td>
  96.                                 <td></td>
  97.                             </tr>
  98.                             <tr><td colspan="4">&nbsp;</td></tr>
  99.                         </table>
  100.                         <?php
  101.                         $query = mysqli_query($dblink, "SELECT id,username,password,nombre,snombre,apellido,sapellido,email,telefono1,telefono2,telefono3,foto,direccion,firma,membership,rolepet,interes0,interes1,interes2,interes3,interes4,interes5,interes6,interes7,interes8,interes9,uonline,tuser FROM user WHERE username = '$username'") or die('Error de Conexión a la base de Datos. '.mysqli_error($dblink));
  102.                         $row = mysqli_fetch_array($query);
  103.                         $_SESSION["s_username"] = $row['username'];
  104.                         $_SESSION['logueado'] = "si";
  105.                         $_SESSION['id'] = $row['id'];
  106.                         $_SESSION['usuario'] = $username;
  107.                         $_SESSION['nombre'] = $row['nombre'];
  108.                         $_SESSION['apellido'] = $row['apellido'];
  109.                         $_SESSION['snombre'] = $row['snombre'];
  110.                         $_SESSION['sapellido'] = $row['sapellido'];
  111.                         $_SESSION['email'] = $row['email'];
  112.                         $_SESSION['telefono1'] = $row['telefono1'];
  113.                         $_SESSION['telefono2'] = $row['telefono2'];
  114.                         $_SESSION['telefono3'] = $row['telefono3'];
  115.                         $_SESSION['foto'] = $row['foto'];
  116.                         $_SESSION['direccion'] = $row['direccion'];
  117.                         $_SESSION['firma'] = $row['firma'];
  118.                         $_SESSION['membership'] = $row['membership'];
  119.                         $_SESSION['rolepet'] = $row['rolepet'];
  120.                         $_SESSION['uonline'] = $row['uonline'];
  121.                         $_SESSION['tuser'] = $row['tuser'];
  122.                 }else{
  123.                     header('refresh:5; url=index.php');
  124.                     ?>
  125.                     <br><br>
  126.                     Dirección de correo invalida, Por Favor utilice un correo con el siguiente formato:  <br> <br>
  127.                     [email protected] <br><br>
  128.                     Sugerimos los siguientes proveedores: <br><br>
  129.                     <a class="link" href="http://www.hotmail.com /"> Hotmail </a><br>
  130.                     <a class="link" href="http://www.yahoo.com /">Yahoo </a><br>
  131.                     <a class="link" href="http://www.gmail.com /">G-Mail </a><br><br>
  132.                     Si tiene algún problema en crear su cuenta por favor enviar un correo a <br><br>
  133.                     <strong>Si no eres Redireccionado a la pagina dar <a class="link" href="http://www.forosdelweb.com/f18/index.php">Click Para Continuar</a></strong><br>
  134.                     <?php
  135.                 }
  136.             }
  137.         }
  138.     }
  139. }else{
  140.     header('refresh:5; url=../index.php');
  141.     ?>
  142.     Error, no ha introducido todos los datos.  <br>
  143.     Si tiene algún problema en crear su cuenta por favor enviar un correo a [email protected]. <br><br>
  144.     <strong>Si no eres Redireccionado a la pagina dar <a class="link" href="http://www.forosdelweb.com/f18/index.php">Click Para Continuar</a></strong><br>
  145.     <?php
  146. }
  147. ?>
  148. </body>
  149. </html>
  150. <?php
  151. ?>
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB