Regresar a la página www.ComoCrearTuWeb.com
Página 3 de 12 PrimerPrimer 1234567 ... ÚltimoÚltimo
Resultados 31 al 45 de 166

Tema: Registro de usuarios desde cero.

  1. #31
    Esto empieza a ser un vicio... Habitante Avatar de lantiga
    Fecha de Ingreso
    23 feb, 11
    Mensajes
    905
    Poder de Reputación
    14
    Bueno la propuesta en resumen es en vez de llamar a las url´s me parece mejor definir contantes que incluyan o requieran los archivos a los que haces mención y hacer una llamada a la constante en vez de a la url, por otro lado para no marear mucho al usuario lo ideal seria que el login estuviese embebido en una pagina de inicio y que sin necesidad de salir de ella se pueda ver y rellenar y validar nuestro formulario.y por lo tanto logarnos. Se me acurre incluso que para avisar al usuario de que se ha logado bien le podemos pasar un alert () de javascript en formato standar u otros para darle la notificación . Como ves lo que planteo es algo más complejo de lo que planteas pero como se que no es complicado; pues te lo digo por eso.
    Suscribete a Los videotutoriales de Lantiga y podre hacer vídeos más largos y con mejor calidad.

  2. #32
    Administrador CCTW Webmaster de CCTWHabitante Avatar de Jorgens_CCTW
    Fecha de Ingreso
    30 ene, 11
    Ubicación
    Cartagena, Murcia, España.
    Mensajes
    1,188
    Poder de Reputación
    10
    Puedes ponernos algún ejemplo de ese uso de constantes? Me da que no es lo que yo entendía como tales.

    Lo de embeber el registro en las páginas de la web es una de mis ideas, claro. Requiere creo el uso de AJAX para evitar la recarga de las páginas y tal y aún ando haciendo pruebas antes de poder explicarlo.

    La idea es ir poco a poco, entendiendo sobre todo cada paso que demos, para poder meter mano al codigo si queremos retocar algo sabiendo dónde tocar.

    Una de mis pruebas es esta, bastante completita, aunque me falla en algunos navegadores. No es mio, es solo retocado de alguno ya hecho.

    http://www.gruposbandasysalasdeconci...com/demo02.php

  3. #33
    Administrador CCTW Webmaster de CCTWHabitante Avatar de Jorgens_CCTW
    Fecha de Ingreso
    30 ene, 11
    Ubicación
    Cartagena, Murcia, España.
    Mensajes
    1,188
    Poder de Reputación
    10
    no olvideis avisar si os perdeis en algo!

  4. #34
    Administrador CCTW Webmaster de CCTWHabitante Avatar de Jorgens_CCTW
    Fecha de Ingreso
    30 ene, 11
    Ubicación
    Cartagena, Murcia, España.
    Mensajes
    1,188
    Poder de Reputación
    10
    (elimino esta ultima parte, no me quedaba demasiado clara aun...)

  5. #35
    Esto empieza a ser un vicio... Habitante Avatar de lantiga
    Fecha de Ingreso
    23 feb, 11
    Mensajes
    905
    Poder de Reputación
    14
    Basicamente lo que te decia antes es que usando las constantes (algo asi como variables globales); podemos llamar a esa variables (una vez definidas,claro), para que pasen el archivo en vez de llamar al archivo directamente asi no se indexaria la url y como la historia es que la transferencia de datos sea rapida luego podemos usar esa contante para carga uno o otro archivo via ajax
    Suscribete a Los videotutoriales de Lantiga y podre hacer vídeos más largos y con mejor calidad.

  6. #36
    Administrador CCTW Webmaster de CCTWHabitante Avatar de Jorgens_CCTW
    Fecha de Ingreso
    30 ene, 11
    Ubicación
    Cartagena, Murcia, España.
    Mensajes
    1,188
    Poder de Reputación
    10
    Te refieres a variables de sesión Lantiga?

  7. #37
    Esto empieza a ser un vicio... Habitante Avatar de lantiga
    Fecha de Ingreso
    23 feb, 11
    Mensajes
    905
    Poder de Reputación
    14
    No me refiero a constantes.
    Suscribete a Los videotutoriales de Lantiga y podre hacer vídeos más largos y con mejor calidad.

  8. #38
    Administrador CCTW Webmaster de CCTWHabitante Avatar de Jorgens_CCTW
    Fecha de Ingreso
    30 ene, 11
    Ubicación
    Cartagena, Murcia, España.
    Mensajes
    1,188
    Poder de Reputación
    10
    [TUTORIAL :: SISTEMA DE REGISTRO DE USUARIOS :: PARTE 11]

    Tenemos un problema con lo visto hasta ahora. Cualquier persona podría registrarse con un nick ya existente en nuestra base de datos. Eso sería un problema, no? Para evitarlo, hemos de comprobar, antes de enviar los datos del formulario a la base de datos, que no existe ya un usuario con ese mismo nick.

    Nombre del archivo: registro.php

    Código PHP:
    <?php

    include('configuracion.php');

    //Comprobamos que los campos nick y password no están en blanco
    if(($_POST[nick] == '') or ($_POST[password] == '') )
       {
    Header("Location: formulario.php"); // si están en blanco enviarmos al registro de nuevo
       
    }
    else
       {
       
    // cuántos usuarios hay ya con ese nick?
       
    $cuantosnicks=mysql_query("SELECT nick FROM $tabla WHERE nick='$_POST[nick]' ");
       if (
    $nickrepetido=mysql_fetch_array($cuantosnicks))  // si existe ya algún nick idéntico...
            
    {
            echo 
    'El nick propuesto ya estaba registrado. Escoge otro.';
            echo 
    '<br /><a href="formulario.php">Quieres intentarlo con otro nick?</a>'// damos la opcion de registrarse de nuevo
            
    }
        else   
    // si no existe aún ese nick...
            
    {
            
    //introducimos el nuevo registro en la tabla users
            
    mysql_query("INSERT INTO $tabla (nick,password,email) values ('$_POST[nick]','$_POST[password]','$_POST[email]') ");
            echo 
    'Usuario registrado con éxito';
            echo 
    '<br /><a href="login.php">Quieres logearte?</a>'// damos la opcion de logerase
            
    }
       
    mysql_free_result($cuantosnicks);  //liberamos memoria
       
    }
    ?>
    Como veis, hacemos una consulta a la tabla preguntando cuántos usuarios hay con un nick como el del visitante que quiere registrarse. Si existe alguno se indica al visitante que escoja otro. Si no hay ninguno, se registra tal y como hacía la versión anterior.

  9. #39
    Administrador CCTW Webmaster de CCTWHabitante Avatar de Jorgens_CCTW
    Fecha de Ingreso
    30 ene, 11
    Ubicación
    Cartagena, Murcia, España.
    Mensajes
    1,188
    Poder de Reputación
    10
    [TUTORIAL :: SISTEMA DE REGISTRO DE USUARIOS :: PARTE 12]

    Es posible que además, no queramos que un visitante registre dos cuentas con nicks distintos. Podemos conseguir evitar eso si vigilamos que no se puedan registrar dos nicks con el mismo email. Para ello hariamos como en el caso anterior, buscar si ya existe ese email, quedándo el archivo del siguiente modo:

    Nombre del archivo: registro.php

    Código PHP:
    <?php

    include('configuracion.php');

    //Comprobamos que los campos nick y password no están en blanco
    if(($_POST[nick] == '') or ($_POST[password] == '') )
        {
    Header("Location: formulario.php"); // si están en blanco enviarmos al registro de nuevo
        
    }
    else
        {
        
    //cuantos usuarios hay ya con ese nick?
        
    $cuantosnicks=mysql_query("SELECT nick FROM $tabla WHERE nick='$_POST[nick]' ");
        
    //cuantos usuarios hay ya con ese email?
        
    $cuantosemails=mysql_query("SELECT email FROM $tabla WHERE email='$_POST[email]' ");
        if(
    $nickrepetido=mysql_fetch_array($cuantosnicks))
            {
            echo 
    'El nick propuesto ya estaba registrado. Escoge otro.';
            echo 
    '<br /><a href="formulario.php">Quieres intentarlo con otro nick?</a>'// damos la opcion de registrarse de nuevo
            
    }
        else if(
    $emailrepetido=mysql_fetch_array($cuantosemails))
            {
            echo 
    'El email propuesto ya estaba registrado. Escoge otro.';
            echo 
    '<br /><a href="formulario.php">Quieres intentarlo con otro email?</a>'// damos la opcion de registrarse de nuevo
            
    }
        else
            {
            
    //introducimos el nuevo registro en la tabla users
            
    mysql_query("INSERT INTO $tabla (nick,password,email) values ('$_POST[nick]','$_POST[password]','$_POST[email]') ");
            echo 
    'Usuario registrado con éxito';
            echo 
    '<br /><a href="login.php">Quieres logearte?</a>'// damos la opcion de logerase
            
    }
            
    mysql_free_result($cuantosnicks);  //liberamos memoria
            
    mysql_free_result($cuantosemails); //liberamos memoria
        
    }
    ?>
    Básicamente, hemos repetido lo anterior, no más.

  10. #40
    Administrador CCTW Webmaster de CCTWHabitante Avatar de Jorgens_CCTW
    Fecha de Ingreso
    30 ene, 11
    Ubicación
    Cartagena, Murcia, España.
    Mensajes
    1,188
    Poder de Reputación
    10
    Lantiga, me temo entonces que mis conocimientos no llegan para tanto. Si me puedes ayudar a aprender todos te lo agradecermos. En cualquier caso, sigo mejorando el registro con el que he empezado para ir aplicándo todo lo que aprendo sobre ellos y que el resto pueda nutrirse de él. Si consigo aprender lo que me comentas, sin duda lo aplicaré en el mismo para provecho de todos. Pero no sabría por dónde empezar ahora mismo. Empiezo por...?

    Gracias una vez más!

  11. #41
    Me va gustando esto... Habitante Avatar de SurKaiser
    Fecha de Ingreso
    15 oct, 11
    Mensajes
    256
    Poder de Reputación
    10
    Muy bien , pero tienes cosillas que ese te van de las manos, hechando un vistazo por encima hay varias instrucciones a corregir , por ejemplo en este ultimo codigo lo dejaria asi :

    Nombre del archivo: registro.php

    Código PHP:
    <?php

    include_once('configuracion.php');

    //Comprobamos que los campos nick y password no están en blanco
    if(($_POST["nick"] == ' ') or ($_POST["password"] == ' ') )
        {
    Header("Location: formulario.php"); // si están en blanco enviarmos al registro de nuevo
        
    }
    else
        {
          
        
    //cuantos usuarios hay ya con ese nick?
        
    $cuantosnicks=mysql_query("SELECT nick FROM ".$tabla." WHERE nick='".$_POST["nick"]."' ");
        
    //cuantos usuarios hay ya con ese email?
        
    $cuantosemails=mysql_query("SELECT email FROM ".$tabla." WHERE email='".$_POST["email"]."' ");
          
    $nickrepetido mysql_num_rows($cuantosnicks);
           
    $emailrepetido mysql_num_rows($cuantosemails);
        if(
    $nickrepetido >= 1)
            {
            echo 
    'El nick propuesto ya estaba registrado. Escoge otro.';
            echo 
    '<br /><a href="formulario.php">Quieres intentarlo con otro nick?</a>'// damos la opcion de registrarse de nuevo
            
    }
        else if(
    $emailrepetido >= 1)
            {
            echo 
    'El email propuesto ya estaba registrado. Escoge otro.';
            echo 
    '<br /><a href="formulario.php">Quieres intentarlo con otro email?</a>'// damos la opcion de registrarse de nuevo
            
    }
        else
            {
            
    //introducimos el nuevo registro en la tabla users
            
    mysql_query("INSERT INTO $tabla (nick,password,email) values ('$_POST[nick]','$_POST[password]','$_POST[email]') ");
            echo 
    'Usuario registrado con éxito';
            echo 
    '<br /><a href="login.php">Quieres logearte?</a>'// damos la opcion de logerase
            
    }
            
    mysql_free_result($cuantosnicks);  //liberamos memoria
            
    mysql_free_result($cuantosemails); //liberamos memoria
        
    }
    ?>
    Aparentemente lo demas esta bien . al igual eres el primero que veo usando mayusculas en el query de mysql muy buena esa parte,
    En cuanto a las constantes que decia lantiga son asi : define("NOMBRE DE CONSTANTE", "VALOR");

    y la llamas simplemente con poner su nombre:

    echo NOMBRE_DE_CONSTANTE;

    Aunque eso no creo que aumente la velocidad del ajax , de hecho la alentaria en algunos casos, aumenta la seguridad de los scripts en cierto punto y de librerias extras. Asi como el script de subir imagen que estaba haciendo (creo que nadie entendio mi script, o no les servia xD).

    Saludos!

    PD: Tengo esta semana llena de examenes de la scool, desde que llegue he estado ayudando lo mayor que puedo y ahora que puedo ayudarte demasiado con el registro no podre hasta lo que es sabado y domingo :s, espero ayudar
    Mi web en construccion :
    surkaiser . com . es
    "El conocimiento es Poder"

  12. #42
    Administrador CCTW Webmaster de CCTWHabitante Avatar de Jorgens_CCTW
    Fecha de Ingreso
    30 ene, 11
    Ubicación
    Cartagena, Murcia, España.
    Mensajes
    1,188
    Poder de Reputación
    10
    [TUTORIAL :: SISTEMA DE REGISTRO DE USUARIOS :: PARTE 13]

    Es posible que el visitante teclee mal la contraseña al registrarse. En ese caso, no podrá logearse, pues creerá haberla escrito bien y al cometer el error no sabrá cuál es la contraseña que puso.

    Para evitar eso, suele añadirse un segundo recuadro en el formulario de registro, en el que se vuelve a pedir la contraseña por segunda vez.

    Para añadir esta función, por un lado hemos de retocar el formulario del archivo formulario.php para añadir ese otro campo. Y por otro lado, hemos de añadir algunas líneas en el archivo registro.php con las que compararemos si las dos contraseñas son idénticas en ambos recuadros.

    El archivo formulario.php ha de quedar así (aprovechamos la ocasión para añadir las modificaciones que nos propone SurKaiser. Gracias desde aquí!):


    Código PHP:
    <?php

    //incluimos configuracion.php con los datos de conexión
    include_once('configuracion.php');

    //Creamos el formulario de registro
    echo '
    <form action="registro.php" method="POST" />
    Nick: <input type="text" name="nick" size="25" /><br />
    Contraseña: <input type="password" name="password" size="40" /><br />
    Repite la contraseña: <input type="password" name="password2" size="40" /><br />
    E-mail: <input type="text" name="email" size="60" /><br />
    <input type="submit" name="submit" value="Registrar" />
    </form>
    '
    ;

    // Damos la opción de volver a la página de login si no desea registrarse
    echo '<br /><a href="login.php">Login</a>'

    ?>
    Y el archivo registro.php de este otro modo:

    Código PHP:
    <?php

    //incluimos configuracion.php con los datos de conexión
    include_once('configuracion.php');

    //Comprobamos que la password y password2 son iguales, sino, volvemos a registro.php
    if($_POST[password] != $_POST[password2])
        {
        echo 
    'Las passwords no son iguales';
        }
    else if((
    $_POST[nick] == '') or ($_POST[password] == '') ) //Comprobamos que los campos nick y password no están en blanco
        
    {
        
    Header("Location: formulario.php"); // si están en blanco enviarmos al registro de nuevo
        
    }
    else
        {
        
    //cuantos usuarios hay ya con ese nick?
        
    $cuantosnicks=mysql_query("SELECT nick FROM ".$tabla." WHERE nick='".$_POST["nick"]."' ");
        
    //cuantos usuarios hay ya con ese email?
        
    $cuantosemails=mysql_query("SELECT email FROM ".$tabla." WHERE email='".$_POST["email"]."' ");
        
    $nickrepetido mysql_num_rows($cuantosnicks);
        
    $emailrepetido mysql_num_rows($cuantosemails);
        if(
    $nickrepetido >= 1)
            {
            echo 
    'El nick propuesto ya estaba registrado. Escoge otro.';
            
    // damos la opcion de registrarse de nuevo
            
    echo '<br /><a href="formulario.php">Quieres intentarlo con otro nick?</a>'
            }
        else if(
    $emailrepetido >= 1)
            {
            echo 
    'El email propuesto ya estaba registrado. Escoge otro.';
            
    // damos la opcion de registrarse de nuevo
            
    echo '<br /><a href="formulario.php">Quieres intentarlo con otro email?</a>';
            }
        else
            {
            
    //introducimos el nuevo registro en la tabla users
            
    mysql_query("INSERT INTO $tabla (nick,password,email) values ('$_POST[nick]','$_POST[password]','$_POST[email]') ");
            echo 
    'Usuario registrado con éxito';
            
    // damos la opcion de logerase
            
    echo '<br /><a href="login.php">Quieres logearte?</a>';
            }
        
    mysql_free_result($cuantosnicks);  //liberamos memoria
        
    mysql_free_result($cuantosemails); //liberamos memoria
       
    }
    ?>
    Tomando igualmente nota de los comentarios de los compañeros, sustituiremos la línea
    Código PHP:
    include('configuracion.php'); 
    por
    Código PHP:
    include_once('configuracion.php'); 
    en todos los archivos que llevamos hasta el momento.

  13. #43
    Esto empieza a ser un vicio... Habitante Avatar de lantiga
    Fecha de Ingreso
    23 feb, 11
    Mensajes
    905
    Poder de Reputación
    14
    Buena sintaxis de como hacer una constante,jejjeje; en cuanto al tema de Ajax aún esta por ver como lo abordaremos pues hay varias maneras y todas son interesante; habrá que ver cual es la más segura.

    Para la gente que no este versada en el tema de las constante aparte de la buena definición del compadre lo interesante es que solo las tenemos que definir una vez en el documento y luego la/s podemos llamar desde cualquier otro documento con solo utilizar su nombre; al ser similares a la variables globales.

    En cuanto a lo de Ajax a mi me encanta xml por eso siempre suelo utilizar ajax con xml para hacer historias pero php es muy versatil y aparte de las Jquery que tienen un buen soporte para tema de traspaso de datos; tambien hay otras alternativas en cuanto a bibliotecas; no hace mucho lei si no recuerdo mal que habia una manera de incluir ajax en un archivo php por medio de Xajax con lo cual tambien seria una buena opción para el tema de no ensuciar mucho el codigo html; por otro lado el tema de Json y si livianidad de formato para este caso no se si seria optar por una opción exagerada dado que no creo que haya tantas peticiones simultaneas como para que sea necesario o se relentice mucho el navegador dado que a priori solo de va a identificar.

    Otra cosa que me tiene un poco intrigado es sobre que dtd lo vamos a montar pues se que html5 ya se esta implantando en muchas web; y dado que html5 y javascript estan tan unidos pues no seria mala idea. Por otro lado y dado que supongo que Jorge aprovechará para adaptar la web vía CMS a los dispositivos moviles; sera interesante ver como conseguir logarse desde un movil. Interesante no creeis?
    Suscribete a Los videotutoriales de Lantiga y podre hacer vídeos más largos y con mejor calidad.

  14. #44
    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
    17
    No entiendo una cosa, qué tiene de diferente una variable de una constante?

    Variable --> $variable = "VALOR";
    Constante --> define("variable", "VALOR");

    Para mostrar una variable: echo "$variable";
    Para mostrar una constante: echo variable;

    Viene a ser casi lo mismo, no?
    Sorry por ser tan cortito, pero no sé mucho, se nota jajaja

  15. #45
    Esto empieza a ser un vicio... Habitante Avatar de lantiga
    Fecha de Ingreso
    23 feb, 11
    Mensajes
    905
    Poder de Reputación
    14
    La gran diferencia es que una constante en una variable global que a priori no se puede volver a difinir o redifinir.Y eso no se logra a priori con un variable global normal; el tema de que se llamen de la misma manera es logico. Pero como digo a una variable la puedes forzar a que tengo otro/s parametro/s pero a una constante no.
    Suscribete a Los videotutoriales de Lantiga y podre hacer vídeos más largos y con mejor calidad.

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
  •