Regresar a la página www.ComoCrearTuWeb.com
Página 9 de 12 PrimerPrimer ... 56789101112 ÚltimoÚltimo
Resultados 121 al 135 de 166

Tema: Registro de usuarios desde cero.

  1. #121
    Me va gustando esto... Habitante Avatar de SurKaiser
    Fecha de Ingreso
    15 oct, 11
    Mensajes
    256
    Poder de Reputación
    14
    He creado este tema : http://www.comocreartuweb.com/consul...Ajax-SurKaiser

    para ir avanzando tambien xD!
    Mi web en construccion :
    surkaiser . com . es
    "El conocimiento es Poder"

  2. #122
    Esto empieza a ser un vicio... Habitante Avatar de Doodleo
    Fecha de Ingreso
    25 abr, 11
    Ubicación
    Galicia (España)
    Mensajes
    1,329
    Poder de Reputación
    21
    Sí, acabo de mirarlo, cron jobs jejeje

    Buenísimo el tema Kaiser! Si puedo ahora me lo leo a fondo!

  3. #123
    Esto empieza a ser un vicio... Habitante Avatar de reymolina123
    Fecha de Ingreso
    14 may, 09
    Mensajes
    354
    Poder de Reputación
    18
    Hola a todos los crack que están ayudando a crear este sistema yo tengo el Mio pero e copiado algunas mejoras que se le están poniendo a este y las e implementado en mi pagina la pregunta seria la siguiente ¿Si a alguien le a pasado que cuando un usuario se registra se produce un doble registro? Esta accion no es siempre me aparece a mi que esto se produce por algún refrech de la pagina o la otra opcion es que alguien este molestado, la segunda es poco probable pero posible. No coló que el código pues no tiene sentido pues mi consulta es si a alguien le a pasado, cabe resaltar que el formulario berifica si el nick ya existe pero aun asi el
    Doble registro ocurre y no logro dar en que circunstancias ocurre.
    Agradeceré cualquier luz

  4. #124
    Me va gustando esto... Habitante Avatar de SurKaiser
    Fecha de Ingreso
    15 oct, 11
    Mensajes
    256
    Poder de Reputación
    14
    Tal vez tengas doble insert into , de mysql query o no compruebas bien los datos es decir que verifique si el usuario existe este correcto, lo mejor seria crear un nuevo tema con tu duda y pongas el codigo y enseguida le hecho un vistazo

    Saludos!
    Mi web en construccion :
    surkaiser . com . es
    "El conocimiento es Poder"

  5. #125
    Esto empieza a ser un vicio... Habitante Avatar de reymolina123
    Fecha de Ingreso
    14 may, 09
    Mensajes
    354
    Poder de Reputación
    18
    Dale eso haré

  6. #126
    Administrador CCTW Webmaster de CCTWHabitante Avatar de Jorgens_CCTW
    Fecha de Ingreso
    30 ene, 11
    Ubicación
    Cartagena, Murcia, España.
    Mensajes
    1,184
    Poder de Reputación
    10
    He conseguido aplicar jquery a la página de logeo por un lado y a la página de registro por otro. Lo genial sería poder aplicarlo a todo con el fin de poder colocarlo en un div en una esquina de la web sin que recargue la página nunca, pero no he aprendido a hacerlo aún.

    Si acaso pongo esta versión por ahora y ya vemos cómo consigo lo demás.

    chequeo.php

    Código PHP:
    <?php

    include_once('configuracion.php');

    if ( (
    $_POST['testigo2']) != "valido")
    {
    //   header("Refresh: 4; URL=registro.php");
       
    echo "<br /><p>ERROR.</p>";
       die;
    }

    // Chequeamos que el usuario existe y que la contraseña es correcta
    $nick$_POST['nick']; // cazamos el valor de nick del formulario
    $password $_POST['password']; // cazamos el valor de la contraseña del formulario
    //sacamos los valores  de las variables $password (que está hasheada) y $salteada correspondientes a ese nick
    $consultamysql_query("SELECT * FROM ".$tabla." WHERE nick='".$nick."' ");
    if(
    mysql_num_rows($consulta) < 1//si no existe el usuario...
    {
    //   header("Refresh: 4; URL=login.php");
       
    echo "<p>ERROR. El nick dado no existe.</p>";
       die;
    }
    $datosdelusuariomysql_fetch_array($consultaMYSQL_ASSOC);
    //aplicamos el algoritmo a la contraseña dada por el usuario en el login para poder
    //compararla con la que tenemos guardada
    $hash hash('sha256'$datosdelusuario['salteada'] . hash('sha256'$password) );
    // coinciden?
    if($hash != $datosdelusuario['password']) //si la contraseña es incorrecta...
    {
    //   header("Refresh: 4; URL=login.php");
       
    echo "<br /><p>ERROR. La contraseña no es válida.</p>";
       die;
    }
    $estado=$datosdelusuario["estado"];

    switch ( 
    $estado )
      {
         case 
    'activo':  // Activo, le damos paso al sistema de registro.
             
    session_register("usuario"); //registramos la variable usuario que contendrá el nick del user
             
    session_register("idusuario"); //registramos la variable idusuario que contendrá la id del user
             
    $_SESSION[usuario] = $datosdelusuario["nick"]; //damos el nick a la variable usuario
             
    $_SESSION[idusuario] = $datosdelusuario["id"]; //damos la id del user a la variable idusuario
             
    header("Refresh: 4; URL=login.php");
             echo 
    '<br /><p>Logeado compañero'."$_SESSION[usuario]".'.</p>';
         break;
         case 
    'inactivo':  // Estado inactivo, informar al usuario.
             
    echo "<p>Su cuenta existe y los datos de acceso son correctos, pero por algún motivo su cuenta está desactivada</p><p>Contacte con el administrador de esta web para arreglar el problema. Gracias.</p>";
         break;
         default: 
    // Registrado y validado, activar la cuenta.
             
    echo "<p>Su cuenta está pendiente de ser verificada a través del correo que se le ha enviado al correo con el que se registró. Chequee su email para activarla.</p>."      ;
      }

    ?>

    formulario.php

    Código PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <
    head>
    <
    meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" />
    <
    title>Ejemplo de formulario sin recarga</title>
    <
    script language="javascript" src="mijquery.js"></script>
    <script language="javascript">
    $(document).ready(function() {
        $().ajaxStart(function() {
            $('#resultado').hide();
        }).ajaxStop(function() {
            $('#resultado').fadeIn('slow');
        });
        $('#formulario, #nick, #password, #password2, #email, #testigo').submit(function() {
            $.ajax({
                type: 'POST',
                url: $(this).attr('action'),
                data: $(this).serialize(),
                success: function(data) {
                    $('#resultado').html(data);
                }
            })
            return false;
        }); 
    })  
    </script>

    <style type="text/css">
    <!--
    body {
        color: #333333;
        font-family:Arial, Helvetica, sans-serif;
        font-size:12px;
    }
    form {
        width:680px;
        margin:auto;
    }
    #resultado {
        width:480px;
        padding:10px;
        border:1px solid #bfcddb;
        margin:auto;
        margin-top:10px;
        text-align:center;
    }
    -->
    </style>
    </head>
    <body>
    <form action="registro.php" method="POST" id="formulario" name="formulario">
       Nick:                 <input type="text"     name="nick"       id="nick"      maxlength="25" size="25" /><br />
       Contraseña:           <input type="password" name="password"   id="password"  maxlength="40" size="40" /><br />
       Repite la contraseña: <input type="password" name="password2"  id="password2" maxlength="40" size="40" /><br />
       E-mail:               <input type="text"     name="email"      id="email"     maxlength="60" size="60" /><br />
                             <input type="hidden"   name="testigo"    id="testigo"   value="valido" />
                             <input type="submit"   name="submit"     id="submit"    value="Registrar" />
    </form>
    <br /><a href="login.php">Login</a>
    <div id="resultado"></div>
    </body>
    </html> 
    login.php

    Código PHP:
    <?php
    include_once('configuracion.php');
    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" />
    <title>Fomulario de logeo sin recarga</title>
    <script language="javascript" src="mijquery.js"></script>
    <script language="javascript">
    $(document).ready(function() {
        $().ajaxStart(function() {
            $('#resultado').hide();
        }).ajaxStop(function() {
            $('#resultado').fadeIn('slow');
        });
        $('#formulario, #nick, #password, #testigo2').submit(function() {
            $.ajax({
                type: 'POST',
                url: $(this).attr('action'),
                data: $(this).serialize(),
                success: function(data) {
                    $('#resultado').html(data);
                }
            })
            return false;
        }); 
    })  
    </script>
    <?php

    if(!isset($_SESSION[usuario]) )  // Esto es, si no está ya logeado
    // Si aún no está logeado le mostramos el formulario de login
    {
    // Formulario para recoger los datos de login y enviarlos a chequeo.php, donde miramos que sean correctos
    echo '
    <form action="chequeo.php" method="POST" id="formulario" name="formulario">
      Nick:     <input type="text"     name="nick"     id="nick"     maxlength="25" size="25" /><br />
      Password: <input type="password" name="password" id="password" maxlength="40" size="40" /><br />
                <input type="hidden"   name="testigo2" id="testigo2" value="valido" />
                <input type="submit"   name="submit"   id="submit"   value="Login" />
    </form>
        '
    ;
    // le damos la opcion de registrarse si no lo está
    echo '<br /><a href="formulario.php">Registro</a>'
    }
    else   
    // Esto es, si está ya logeado
    {
    // Si está logeado indicamos que no es necesario logearse de nuevo. Le mostramos el nick y la opción de deslogearse
    echo 'Bienvenido a la web <b>'.$_SESSION[usuario].'</b>'// Mensaje de bienvenida
    echo '<br /><a href=logout.php>Salir</a>'//link para deslogearse, iría a logout.php
    }

    ?>

    <div id="resultado"></div>
    </body>
    </head>
    registro.php

    Código PHP:
    <?php
    include_once('configuracion.php');

    //Rescate de Variables:
    $testigo  $_POST['testigo']          ;
    $nick     limpia($_POST['nick'])     ;
    $email    $_POST['email']            ;
    $password limpia($_POST['password']) ;
    $password2limpia($_POST['password2']);

    if (
    $testigo != "valido") {$error true;}

    function 
    limpia($cadena)
        {
        return (
    ereg_replace('[^A-Za-z0-9_-ñÑ]'''$cadena));
        }

    function 
    saltear ()
    {
    $cadena md5 (uniqid(rand(), true));
    return 
    substr($cadena03);
    }

    // marcamos el error
    if ( empty($nick) OR empty($email) OR empty($password) OR empty($password2) ) {$error true;}
    // si eliminando caráteres raros queda algún campo vacio, generamos un error y devolvemos al formulario
    if ( !empty($error) )
    {
    //   header("Refresh: 2; URL=formulario.php");
       
    echo "<p>ERROR. Los datos introducidos no tienen un formato correcto.</p>";
       die;
    }

    include_once(
    'verificar_email.php');

    if ( 
    verificar_email($email)==false )
    {
    //   header("Refresh: 5; URL=formulario.php");
       
    echo "<br /><p>ERROR. El Email $email no parece ser real.</p>";
       die;
    }

    //Comprobamos que la password y password2 son iguales, sino, volvemos a registro.php
    if($password != $password2)
        {
    //    header("Refresh: 5; URL=formulario.php");
        
    echo '<br /><p>ERROR. Las contrase&ntilde;as no coinciden</p>';
        die;
        }
    else
        {
        
    //cuantos usuarios hay ya con ese nick?
        
    $cuantosnicks=mysql_query("SELECT nick FROM ".$tabla." WHERE nick='".$nick."' ");
        
    //cuantos usuarios hay ya con ese email?
        
    $cuantosemails=mysql_query("SELECT email FROM ".$tabla." WHERE email='".$email."' ");
        
    $nickrepetido mysql_num_rows($cuantosnicks);
        
    $emailrepetido mysql_num_rows($cuantosemails);
        if(
    $nickrepetido >= 1)
            {
    //        header("Refresh: 5; URL=formulario.php");
            
    echo '<br /><p>El nick propuesto ya estaba registrado. Escoge otro.</p>';
            die;
            }
        else if(
    $emailrepetido >= 1)
            {
     
    //       header("Refresh: 5; URL=formulario.php");
            
    echo '<br /><p>El email propuesto ya estaba registrado. Escoge otro.</p>';
            die;
            }
        else
            {
           
    //introducimos el nuevo registro en la tabla users, pero inactivo hasta correo de verificación
            
    $hasheadahash('sha256'$password) ;
            
    $salteada saltear();
            
    $hasheada hash('sha256'$salteada $hasheada);
            
    $codigodevalidacion rand(000000000000,999999999999);
            
    mysql_query("INSERT INTO $tabla (nick,password,salteada,email,estado) values ('$nick','$hasheada','$salteada','$email','$codigodevalidacion') ");
            
    $mensaje="Hola $nick. Acabas de registrarte en $midominio pero has de activar la cuenta haciendo clic en el siguiente enlace: Enlace de activación: http://$midominio/verificar_cuenta.php?codigo=$codigodevalidacion";
            
    // Enviando el correo...
            
    mail($email"Validación de su nueva cuenta en $midominio"$mensaje"From: $miemail");
            
    // Aviso para el usuario.
            
    echo "<br /><p>Usuario registrado con éxito con Nick=$nick, Contraseña=$password y email=$email</p><p>La cuenta aún no está activa hasta que se verifique mediante el correo que se ha enviado al Email con el que se ha registrado. Revise por tanto su correo por favor.</p>";
            
    // damos la opcion de logerase, por si ha respondido al correo de verificación y aún tiene esta página abierta.
            
    echo '<br /><a href="login.php">Quieres logearte?</a>';
            }
        
    mysql_free_result($cuantosnicks);  //liberamos memoria
        
    mysql_free_result($cuantosemails); //liberamos memoria
       
    }
    ;
    ?>
    He de pulirlo aún, colocar estilos decentes y tal. Y claro, explicar lo que he hecho. Pero me voy al campo a comerme una paella y esta tarde me pongo ;=) Feliz Domingo!

  7. #127
    Administrador CCTW Webmaster de CCTWHabitante Avatar de Jorgens_CCTW
    Fecha de Ingreso
    30 ene, 11
    Ubicación
    Cartagena, Murcia, España.
    Mensajes
    1,184
    Poder de Reputación
    10
    En los archivos chequeo.php y registro.php practicamente lo único que he hecho es anular con comentarios las líneas de HEADER, que ya careen de sentido. Cómo mola el jQuery, fijaos que no hay que tocar nada del Html para hacerlo funcionar.

  8. #128
    Administrador CCTW Webmaster de CCTWHabitante Avatar de Jorgens_CCTW
    Fecha de Ingreso
    30 ene, 11
    Ubicación
    Cartagena, Murcia, España.
    Mensajes
    1,184
    Poder de Reputación
    10
    Tengo un problemilla que no se cómo solucionar... Los mensajes que recibo en las páginas de los formularios, indicando si falta algún dato, o si alguno es incorrecto, o si el logeo o registro están ok, me aparecen con un formateo que no deseo. Es decir, si en el propio código escribo "contraseña" me aparece la ñ algo rara. Esto me obliga por narices a escribir "contrase&nacute;a"? O existe alguna forma de definir la codificación de esos textos?

    Asias!

  9. #129
    Me va gustando esto... Habitante Avatar de SurKaiser
    Fecha de Ingreso
    15 oct, 11
    Mensajes
    256
    Poder de Reputación
    14
    usa la funcion utf8_encode(niño felizz ñ.ñ); de php
    Mi web en construccion :
    surkaiser . com . es
    "El conocimiento es Poder"

  10. #130
    Me va gustando esto... Habitante
    Fecha de Ingreso
    10 oct, 11
    Mensajes
    189
    Poder de Reputación
    13
    JAJAJAJAJA ESTE SURKAISER Y SUS EJEMPLOS!

    Jorgens, hay alguna publicidad de verlo online? Sin poner el código? Ando muy vago xd!

  11. #131
    Administrador CCTW Webmaster de CCTWHabitante Avatar de Jorgens_CCTW
    Fecha de Ingreso
    30 ene, 11
    Ubicación
    Cartagena, Murcia, España.
    Mensajes
    1,184
    Poder de Reputación
    10
    Si,

    http: // www .gruposbandasysalasdeconciertos.com/frthrhujg/login.php

  12. #132
    Me va gustando esto... Habitante
    Fecha de Ingreso
    10 oct, 11
    Mensajes
    189
    Poder de Reputación
    13
    Me gusta, pero he notado que en el registro abajo del formulario hay un recuadro que parece de input text pero que no se puede rellenar!

    Aparte de eso, como hiciste para lo de la verificación por correo? o.O

  13. #133
    Administrador CCTW Webmaster de CCTWHabitante Avatar de Jorgens_CCTW
    Fecha de Ingreso
    30 ene, 11
    Ubicación
    Cartagena, Murcia, España.
    Mensajes
    1,184
    Poder de Reputación
    10
    Está más atrás, empieza acá la explicación de como añadir la verificación por correo del registro en el sistema de usuarios. Debería señalarlo mejor, je je je

    http://www.comocreartuweb.com/consul...l=1#post277408

    Como ves me falta aplicarle algunos estilos que le den forma, pues están un poco al tun tún. Ese campo es solamente un div en el que aparecen los mensajes de error, etc. No, no se puede escribir sobre ellos.

    A ver si le pongo unos estilos decentes para verlo mejor.

    Un abrazo!

  14. #134
    Administrador CCTW Webmaster de CCTWHabitante Avatar de Jorgens_CCTW
    Fecha de Ingreso
    30 ene, 11
    Ubicación
    Cartagena, Murcia, España.
    Mensajes
    1,184
    Poder de Reputación
    10
    Por cierto, no me gusta mucho cómo se genera el número aleatorio con la línea:

    Código PHP:
    $codigodevalidacion rand(000000000000,999999999999); 
    Además no sale un número de 12 cifras, pensaba que si, pero se ve que si es menor no muestra los ceros de la izquierda. Miraré otro modo, aunque... acepto sugerencias!

  15. #135
    Esto empieza a ser un vicio... Habitante Avatar de victor5atodogas
    Fecha de Ingreso
    19 abr, 10
    Ubicación
    Zaragoza (España)
    Mensajes
    1,657
    Poder de Reputación
    23
    El sistema con Jquery esta muy bien la verdad, veamos si podemos terminarlo y lo puedes colocar en el curso de Jquery o en Proyecto Completo, que a mas de uno le iria muy bien.
    Tienda de Productos de mascotas (perros, gatos, roedores, reptiles, pajaros, peces, tarjetas regalo, cestas...) a los mejores precios El Universo del perro Sigue a El Universo del Perro en Facebook

    Si quieres montar tu tienda con Prestashop y necesitas que te ayude puedes preguntarme, tambien ofrezco buenos precios para instalacion, configuracion, etc para tu nueva tienda.

Página 9 de 12 PrimerPrimer ... 56789101112 ÚltimoÚltimo

Temas Similares

  1. Empezando desde cero
    Por May en el foro Foro General
    Respuestas: 3
    Último Mensaje: 28/08/2011, 17:17
  2. Iniciando desde Cero
    Por Are$ en el foro Foro General
    Respuestas: 7
    Último Mensaje: 06/01/2011, 06:45
  3. Crear un foro desde cero
    Por Abel_Melero en el foro Foros
    Respuestas: 1
    Último Mensaje: 16/12/2009, 23:01

Etiquetas para este Tema

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •