Foros del Web » Programando para Internet » PHP »

registros de usuarios y inicio de sesión

Estas en el tema de registros de usuarios y inicio de sesión en el foro de PHP en Foros del Web. Hola amigos.. la verdad que no se para que me meto en esto.. pero bueno. como ya estoy embarcado pues sigo.. Tengo un problema.. que ...
  #1 (permalink)  
Antiguo 24/11/2014, 13:19
 
Fecha de Ingreso: noviembre-2014
Mensajes: 3
Antigüedad: 9 años, 4 meses
Puntos: 0
registros de usuarios y inicio de sesión

Hola amigos.. la verdad que no se para que me meto en esto.. pero bueno. como ya estoy embarcado pues sigo.. Tengo un problema.. que es grande para mi. es el siguiente

tengo el index.php

Código PHP:
<?php include('http://www.guia-moscu-espanol.com/login/conexion.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="text/html; charset=gb18030">
<link rel="stylesheet" type="text/css" href="/login/estilo.css">
<title>Registro - Login php mysql</title>
</head>
<body>
   <form name="login_user" id="form1" method="POST" action=""> 
   <div>
   <?php
if(isset($_POST['login']))
{
    
/*Validamos que todos los campos esten llenos correctamente*/
    
if(($_POST['nick'] != '') && ($_POST['pass'] != '') )
    {
    
$nick$_POST['nick'];
    
$passmd5(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 
'<h5>Contrase帽a incorrecta.</h5>';
        }
    }else{ echo 
'<h5>Nombre de Usuario incorrecto.</h5>';
    }
    }else echo 
'<h5>Deberas llenar todos los campos.</h5>';
    }
if(isset(
$_GET['modo']) == 'desconectar')
session_destroy();
echo 
'<meta http-equiv="Refresh" content="2;url=../index.html"> ';
exit (
'Desconectando espere.......');
}
if(isset(
$_SESSION['id']))
{
echo 
'<p>Usuario :   ' $_SESSION['nick'] . '</p>';
echo 
'<p>Fecha de registro :   ' date("d-m-Y - H:i"$_SESSION['fecha']) . '</p>';
echo 
'<p>mail :   ' $_SESSION['mail'] . '</p>';
echo 
'<p>IP :   ' $_SESSION['ip'] . '</p>';
echo 
'<a href="?modo=desconectar">cerrar sesi贸n';
echo 
'<a href="perfil.php">ir al perfil</a>';  } else {
?>
    </div>
    <div>
        <label for="login_username">Usuario :</label> 
        <input type="text" name="nick" id="login_username" class="field required" title="Ingrese su nombre de usuario" />
    </div><div>
        <label for="login_password">Clave :</label>
        <input type="password" name="pass" id="login_password" class="field required" title="Clave requerida" />
    </div><div class="submit">
        <input type="submit" class="enviar" name="login" style="width:100px;" tabindex="6" value="Entrar" /><label>
            <input type="checkbox" name="remember" id="login_remember" value="0" />
            Recuerdeme en este computador
        </label></div><p class="back">No eres usuario?<a href="registro.php">Registrate..</a></p>
  </form>    <?php
?>
</body>
</html>

tengo conexion.php

Código PHP:
<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_conexion "127.0.0.1";  //conexion al hosting "el host gator"
$database_conexion "moncho_bb";  //nombre de la base de datos
$username_conexion "moncho"//nombre de usuario
$password_conexion "";  //clave de usuario
$conexion mysql_pconnect($hostname_conexion$username_conexion$password_conexion) or trigger_error(mysql_error(),E_USER_ERROR); 
    
mysql_select_db($database_conexion) or exit('No existe la base de datos.');

/*Verificamos que la sesion este iniciada*/    
session_start();

/*eliminamos codigo malicioso de las variables.*/
function limpiar($var)
{
    
$var trim($var);
    
$var htmlspecialchars($var);
    
$var str_replace(chr(160),'',$var);
    return 
$var;
}
/*validamos que el mail esta escrito correctamente.*/
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 terminacion del dominio sea correcta 
             
if (strlen($term_dom)>&& strlen($term_dom)<&& (!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;
}
/*con esta opcion verificamos que el usuario este registrado y logeado correctamente*/
function user_login()
{
    if(!
$_SESSION['id'])
    {
        exit (
"<h5>Solo usuarios registrados y logeados podrán acceder a esta Página,</h5> <a href='javascript:history.back(-1)'>Volver</a>"); }
}
?>
tengo archivo registro.php

Código PHP:
<?php
include("http://www.guia-moscu-espanol.com/login/conexion.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="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="/login/estilo.css">
<title>Registro - Login php mysql</title>
</head>

<body>
<form name="registrar" action="" id="form1" method="post" onsubmit="return validar()" />
    <h2>Ya estás registrado?<a href="http://www.guia-moscu-espanol.com/login/index.php" > Inicia sesión</a></h2>

    <div>
    <?php
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 
'<h5>Las contraseñas no coinciden</h5>';
    } else {
        
$datetime(); 
        
$nickremove($_POST['nick']);
        
$mailremove($_POST['mail']);
        
$passmd5(md5(limpiar($_POST['pass'])));
        
$ipuser$_SERVER['REMOTE_ADDR'];
            
        
$b_usermysql_query("SELECT nick FROM usuarios WHERE nick='$nick'");
        if(
$user=@mysql_fetch_array($b_user))
    { echo 
'<h5>El nombre de usuario o el email ya esta registrado.</h5>';
    
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 
'<h4>Te has registrado Correctamente, ahora podras iniciar sesión como usuario registrado.</h4>';
    } else {
    echo 
'<h5>El email no es valido.</h5>';
    }
} }
} else {
        echo 
'<h5>Deberas llenar todos los campos.</h5>';
    }
}
?>
</div> <div>
        <label for="login_username">* Usuario :</label> 
        <input type="text" name="nick" id="nick" class="field required" title="Ingrese un nombre de usuario" />
  </div>
    
    <div>
        <label for="login_mail">* email :</label> 
        <input type="text" name="mail" id="mail" class="field required" title="Ingrese su correo" />
    </div>            
    
    <div>
        <label for="login_pass">* contraseña :</label> 
        <input type="password" name="pass" id="pass" class="field required" title="Ingrese su contraseña" />
    </div>
    
    <div>
        <label for="login_conf_pass">* Confirme contraseña:</label>
        <input type="password" name="conf_pass" id="conf_pass" class="field required" title="Confirme su contraseña" />
    </div>
        
         <span><input name="registro" type="submit" value="Registrar"  class="enviar"/>
        <input type="reset" name="Limpiar" style="width:100px;" tabindex="6" value="Limpiar" class="enviar" /></span>
    </form>

</body>
</html>

tengo el archivo perfil.php

Código PHP:
<?php include('http://www.guia-moscu-espanol.com/login/conexion.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="text/html; charset=iso-8859-1" />
<title>Perfil de usuario...</title>
<link rel="stylesheet" type="text/css" href="/login/estilo.css">
</head>

<body>
<div id="form1">
<div>
<?php
user_login
();
    echo 
'<p>Usuario :   ' $_SESSION['nick'] . '</p>';
    echo 
'<p>Usted se encuentra en esta página de usuarios registrados donde solo ingresaran usarios que se hayan registrado y logeado correctamente ....</p>';
    echo 
'<p>Usted podrá hacer uso de página bloqueada usando user_login(); para bloquear dichas páginas a las cuales desea que solo usuarios registrados y logeados accedan a ellas.....</p>';

    echo 
'<a href="index.php?modo=desconectar">desconectar</a>';
?>
</div>
</div>
</body>
</html>
y no me funciona..
si ustedes quieren pueden verlo en la siguiente direccion
[URL="http://www.guia-moscu-espanol.com/login/registro.php"]http://www.guia-moscu-espanol.com/login/registro.php[/URL]

esta alojado en hostgator..

En el registro me da el error

Código:
Fatal error: Call to undefined function limpiar() in /home2/moncho/public_html/login/registro.php on line 31
En el index.php (inicio de sesion) me da el error

Código:
Warning: mysql_query(): Access denied for user 'moncho'@'localhost' (using password: NO) in /home2/moncho/public_html/login/index.php on line 23

Warning: mysql_query(): A link to the server could not be established in /home2/moncho/public_html/login/index.php on line 23
Muchas gracias por la ayuda que puedan darme..

saludos

Miguel
  #2 (permalink)  
Antiguo 24/11/2014, 14:06
Avatar de HackID1  
Fecha de Ingreso: febrero-2013
Ubicación: En Update
Mensajes: 492
Antigüedad: 11 años, 2 meses
Puntos: 17
Respuesta: registros de usuarios y inicio de sesión

Hola. explica un poco más el fallo que tienes para que más gente pueda ayudarte en este tema.



Por lo que te muestra en el error de la linea 23, se supone que no te deja acceder porque no tienes una password asignada al usuario moncho@localhost. A lo mejor tienes alguna restricción que te obligue a usar password en tu configuración.

Y comprueba bien los link y que tengas permiso en esas rutas.

Saludos
__________________
Puntuar +1 es buena forma de dar las gracias. :P
Your Time is limited, so don't waste it living someone else´s life.
Por: HackID1

Etiquetas: fecha, formulario, html, mysql, registro, registros, select, sql, usuarios, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:43.