Autor Tema: (Ayuda)Php & Mysql  (Leído 553 veces)

Desconectado koqbeta1

  • PHPerit@
  • *
  • Mensajes: 1
  • Karma: 0
  • Nuev@ PHPer@
    • Ver Perfil
(Ayuda)Php & Mysql
« en: 27 de Febrero de 2013, 17:56:22 pm »
Bueno encontre un sistema de usuarios (Registro, login y "perfil") que me anduvo (Por suerte), sin tener que ponerme a corregir nada. Mi pregunta era si se podia ir modificando.
Lo principal que queria era ponerle una imagen para el perfil que la podamos buscar en el escritorio, con un boton examinar.. como para comenzar..
Este es el codigo php:
1_registro.sql :
   id      int(5) not null auto_increment,
   fecha   int(10) not null,
   nick   varchar(20) not null,
   pass   varchar(32) not null,
   mail   varchar(40) not null,
   ip      varchar(15) not null,
   avatar varchar(90) not null,
   primary key (id),
   key (nick,pass)
2_conexion.php:
<?php
        $nombre_server[1] = 'localhost'; //Servidor al cual nos vamos a conectar.
        $nombre_user[2] = 'root'; //Nombre del usuario de la base de datos.
        $password[3] = ''; //Contraseña de la base de datos
        $nombre_db[4] = 'registro'; //nombre de la base de datos

        $conectar = @mysql_connect($nombre_server[1],$nombre_user[2],$password[3]) or exit('Datos de conexion incorrectos.');
        mysql_select_db($nombre_db[4]) or exit('No existe la base de datos.');
       
    /*En este archivo también pondremos unas funciones necesarias para el registro y el login*/   
    session_start();

    /*Función que se encarga de eliminar codigo malicioso de las variables.*/
    function limpiar($var)
    {

        $var = trim($var);
        $var = htmlspecialchars($var);
        $var = str_replace(chr(160),'',$var);
        return $var;
    }

    /*Función que se encarga de validar el email de registro para que sea correcto.*/
    function validar_email($email){
        $mail_correcto = 0;
        //compruebo unas cosas primeras
        if ((strlen($email) >= 6) && (substr_count($email,"@") == 1) && (substr($email,0,1) != "@") && (substr($email,strlen($email)-1,1) != "@"))
        {
           if ((!strstr($email,"'")) && (!strstr($email,"\"")) && (!strstr($email,"\\")) && (!strstr($email,"\$")) && (!strstr($email," ")))
           {//miro si tiene caracter .
              if (substr_count($email,".")>= 1)
              {//obtengo la terminacion del dominio
                 $term_dom = substr(strrchr ($email, '.'),1);
                 //compruebo que la terminaci?n del dominio sea correcta
                 if (strlen($term_dom)>1 && strlen($term_dom)<5 && (!strstr($term_dom,"@")) )
                 {//compruebo que lo de antes del dominio sea correcto
                    $antes_dom = substr($email,0,strlen($email) - strlen($term_dom) - 1);
                    $caracter_ult = substr($antes_dom,strlen($antes_dom)-1,1);
                    if ($caracter_ult != "@" && $caracter_ult != ".")
                    {
                       $mail_correcto = 1;
                    }
                 }
              }
           }
        }
        if ($mail_correcto)
           return 1;
        else
           return 0;
    }

    /*Funcion que se encarga de validar si el usuario esta registrado en el sistema*/
    function user_login()
    {
        if(!$_SESSION['id'])
        {
            exit ("Solo usuarios registrados, <a href='javascript:history.back(-1)'>Volver</a>");
        }
    }
?>
3_registro.php:
<?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['nick'] != '') && ($_POST['mail'] != '') && ($_POST['pass'] != '') && ($_POST['conf_pass'] != ''))
        {
            if($_POST['pass'] != $_POST['conf_pass'])
            {
                echo '<br />Las contrase&ntilde;as no coinciden';
            }
            else
            {
                $date= time();
                $nick= limpiar($_POST['nick']);
                $mail= limpiar($_POST['mail']);
                $pass= md5(md5(limpiar($_POST['pass'])));
                $ipuser= $_SERVER['REMOTE_ADDR'];           

                $b_user= mysql_query("SELECT nick FROM usuarios WHERE nick='$nick'");
                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 usuarios (fecha,nick,mail,pass,ip) values ('$date','$nick','$mail','$pass','$ipuser')");
                        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>Nick:</label></dt>
            <input type='text' name='nick' /><br /><br />

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

            Avatar URL: <input type="text" name="avatar" size="90"><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>
4_ Login.php:
<?php
    include("conexion.php");

    if(isset($_POST['login']))
    {
        $nick= $_POST['nick'];
        $pass= md5(md5($_POST['pass']));
        $b_user=mysql_query("SELECT * FROM usuarios WHERE nick='$nick'");   
        $ses = @mysql_fetch_assoc($b_user) ;
        if(@mysql_num_rows($b_user))
        {
            if($ses['pass'] == $pass)
            {
                $_SESSION['id']=        $ses["id"];
                $_SESSION['fecha']=    $ses["fecha"];
                $_SESSION['nick']=    $ses["nick"];
                $_SESSION['mail']=    $ses["mail"];
                $_SESSION['ip']=        $ses["ip"];
            }
            else
            {
                echo 'Nombre de usuario o Contrase&ntilde;a incorrecta.';
            }
        }
        else
        {
            echo 'Nombre de Usuario o contrase&ntilde;a incorrecta.';
        }
    }
       
    if(isset($_GET['modo']) == 'desconectar')
    {
        session_destroy();
        echo '<meta http-equiv="Refresh" content="2;url=login.php"> ';
        exit ('Te has desconectado del sistema.');
    }
       
    if(isset($_SESSION['id']))
    {
        echo 'Bienvenido <b>' . $_SESSION['nick'] . '</b><br /><br />';
        echo '<b>Fecha registro:</b> ' . date("d-m-Y - H:i", $_SESSION['fecha']) . '<br />';
        echo '<b>Email:</b> ' . $_SESSION['mail'] . '<br />';
        echo '<b>IP:</b> ' . $_SESSION['ip'] . '<br /><br />';
        echo '<a href="login.php?modo=desconectar">Salir</a>';
    }
    else
    {
    ?>
    <!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>Login</title>
    </head>
    <body>
    <h2>Conetarse -  Desconectarse</h2>
    <div align="center">
        <form name="login_user" action="login.php" method="post" />
            <dt><label>Nick:</label></dt>
            <input type='text' name='nick' /><br /><br />
            <dt><label>Contraseña:</label></dt>
            <input type="password" name='pass' /><br /><br />
           
            <input type="submit" name="login" style="width:100px;" tabindex="6" value="Entrar" />
            <input type="reset" name="Limpiar" style="width:100px;" tabindex="6" value="Limpiar" />
        </form>
        <a href="registro.php">Registrarse</a>
    </div>
    <?php
    }
    ?>
    </body>
    </html>
5_Perfil.php
<?php
    include("conexion.php");
    user_login();
        echo '<h2>Pagina solo para usuarios registrados</h2><br />';
        echo '<b>Nombre de Usuario:</b> ' . $_SESSION['nick'] . '<br />';
        echo '<b>Fecha de registro:</b> ' . date("d-m-Y - H:i", $_SESSION['fecha']) . '<br />';
        echo '<b>Email de registro:</b> ' . $_SESSION['mail'] . '<br />';
        echo '<b>IP:</b> ' . $_SESSION['ip'] . '<br /><br />';
        echo '<a href="login.php?modo=desconectar">Salir</a>';
?>
Principalmente necesitaba eso de la imagen.. Alguien me da una mano de como hacer el codigo?, yo ya empece un poco pero no se como seguir. Desde ya muchas gracias :)

Comunidad PHPeros

(Ayuda)Php & Mysql
« en: 27 de Febrero de 2013, 17:56:22 pm »