Recordad que para pedir soporte alguno, debéis facilitar los datos de soporte oportunos por favor, mirad aquí y leer las Normas generales del foro, esto nos servirá de ayuda para dar el mejor soporte..

Gracias.

La Administración de phpBB España.

Ayuda sistema registro

PHP, HTML, CSS, JS, jQuery, etc.
Responder

0
No hay votos
 
Votos totales: 0

XxArcangelxX
Observador/a
Mensajes: 16
Registrado: 04 Oct 2009, 02:04

Ayuda sistema registro

#1

Mensaje por XxArcangelxX »

Hola muy buenas, estube intentando editar un sistema de registro de usuarios posteado por Alorse, pero ahí vienen algunos problemas.

Yo ya tengo la base de datos creada, con sus tablas accounts y todo, por lo que las SQL que trae dicho sistema de registro, no me sirve porque yo ya tengo las tablas, el problema biene al intentar adaptar el código php a mis tablas ya creadas.

Aquí les dejo el sistema:
http://www.phpbb-es.com/foro/recursos-w ... 26782.html

Aquí los datos de mi tabla accounts:

Código: Seleccionar todo

CREATE TABLE `accounts` (
  `login` varchar(45) NOT NULL DEFAULT '',
  `password` varchar(45) DEFAULT NULL,
  `lastactive` decimal(20,0) DEFAULT NULL,
  `access_level` int(11) DEFAULT NULL,
  `lastIP` varchar(20) DEFAULT NULL,
  `lastServer` int(4) DEFAULT '1',
  `mail` varchar(255) NOT NULL,
  `fecha` int(10) NOT NULL,
  PRIMARY KEY (`login`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Aquí les dejo el sistema después de haber intentado editarlo:

Código: Seleccionar todo

    <?php
    include("conexion.php");
    //Sistema de registro --HiperAcme.net--

    if(isset($_POST['registro']))//Vallidamos que el formulario fue enviado
    {    /*Validamos que todos los campos esten llenos correctamente*/
        if(($_POST['login'] != '') && ($_POST['mail'] != '') && ($_POST['password'] != '') && ($_POST['conf_password'] != ''))
        {
            if($_POST['password'] != $_POST['conf_password'])
            {
                echo '<br />Las contrase&ntilde;as no coinciden';
            }
            else
            {
                $fecha= time(); 
                $login= limpiar($_POST['login']);
                $mail= limpiar($_POST['mail']);
                $password= md5(md5(limpiar($_POST['password'])));
                $lastIP= $_SERVER['REMOTE_ADDR'];            

                $b_user= mysql_query("SELECT login FROM accounts WHERE login='$login'");
                if($user=@mysql_fetch_array($b_user))
                {
                    echo '<br />El nombre de usuario o el email ya esta registrado.';
                    mysql_free_result($b_user); //liberamos la memoria del query a la db
                }
                else
                {
                    if(validar_email($_POST['mail']))
                    {
                        mysql_query("INSERT INTO accounts (fecha,login,mail,pass,ip) values ('$fecha','$login','$mail','$password','$lastIP')");
                        echo '<br />Te has registrado Correctamente, ahora podras iniciar sesi&oacute;n como usuario registrado.';
                    }
                    else 
                    {
                        echo '<br />El email no es valido.';
                    }
                }
            }
        }
        else
        {
            echo '<br />Deberas llenar todos los campos.';
        }
    }
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>Registro de Usuarios</title>
    </head>
    <body>
    <h2>Sistema de Registro</h2>
    <div align="center">
        <form name="registrar" action="registro.php" method="post" onsubmit="return validar()" />
            <dt><label>login:</label></dt>
            <input type='text' name='nick' /><br /><br />

            <dt><label>E-mail:</label></dt>
            <input type='text' name='mail' /><br /><br />

            <dt><label>Contraseña:</label></dt>
            <input type="password" name='pass' /><br /><br />

            <dt><label>Confirmar Contraseña:</label></dt>
            <input type="password" name='conf_pass' /><br /><br /><br /><br />
            
            <input type="submit" name="registro" style="width:100px;" tabindex="6" value="Registrar" />
            <input type="reset" name="Limpiar" style="width:100px;" tabindex="6" value="Limpiar" />
        </form>
        <a href="login.php">Identificarse</a>
    </div>    
    </body>
    </html>
El error que me dice al enviar el formulario para la creación de una nueva cuenta es:

Código: Seleccionar todo

Notice: Undefined index: login in registro.php on line 7
Haber si me podian ayudar, porque me tiene loco el php este.

XxArcangelxX
Observador/a
Mensajes: 16
Registrado: 04 Oct 2009, 02:04

Re: Ayuda sistema registro

#2

Mensaje por XxArcangelxX »

EDITO: Hago doble post porque no me dejaba editar el pimero.

Ya conseguí reparar, el problema era que no estaba poniendo los datos en el formulario.

Ahora biene el problema que no inserta los datos a la data. Crea la cuenta y dice que fue crada con éxito, pero en la database no sale.

Aquí les dejo el code tal y como lo tengo.

Código: Seleccionar todo

<?php
    include("conexion.php");
    //Sistema de registro --HiperAcme.net--

    if(isset($_POST['registro']))//Vallidamos que el formulario fue enviado
    {    /*Validamos que todos los campos esten llenos correctamente*/
        if(($_POST['login'] != '') && ($_POST['mail'] != '') && ($_POST['password'] != '') && ($_POST['conf_password'] != ''))
        {
            if($_POST['password'] != $_POST['conf_password'])
            {
                echo '<br />Las contrase&ntilde;as no coinciden';
            }
            else
            {
                $login= limpiar($_POST['login']);
                $mail= limpiar($_POST['mail']);
                $password= md5(md5(limpiar($_POST['password'])));         

                $b_user= mysql_query("SELECT login FROM accounts WHERE login='$login'");
                if($user=@mysql_fetch_array($b_user))
                {
                    echo '<br />El nombre de usuario o el email ya esta registrado.';
                    mysql_free_result($b_user); //liberamos la memoria del query a la db
                }
                else
                {
                    if(validar_email($_POST['mail']))
                    {
                        mysql_query("INSERT INTO accounts (login,mail,password) values ('$login','$mail','$password')");
                        echo '<br />Te has registrado Correctamente, ahora podras iniciar sesi&oacute;n como usuario registrado.';
                    }
                    else 
                    {
                        echo '<br />El email no es valido.';
                    }
                }
            }
        }
        else
        {
            echo '<br />Deberas llenar todos los campos.';
        }
    }
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>Registro de Usuarios</title>
    </head>
    <body>
    <h2>Sistema de Registro</h2>
    <div align="center">
        <form name="registrar" action="registro.php" method="post" onsubmit="return validar()" />
            <dt><label>login:</label></dt>
            <input type='text' name='login' /><br /><br />

            <dt><label>E-mail:</label></dt>
            <input type='text' name='mail' /><br /><br />

            <dt><label>Contraseña:</label></dt>
            <input type="password" name='password' /><br /><br />

            <dt><label>Confirmar Contraseña:</label></dt>
            <input type="password" name='conf_password' /><br /><br /><br /><br />
            
            <input type="submit" name="registro" style="width:100px;" tabindex="6" value="Registrar" />
            <input type="reset" name="Limpiar" style="width:100px;" tabindex="6" value="Limpiar" />
        </form>
        <a href="login.php">Identificarse</a>
    </div>    
    </body>
    </html>

Responder

Volver a “🆘 Recursos Webmaster”