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'];
$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 '<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)>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;
}
/*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 {
$date= time();
$nick= remove($_POST['nick']);
$mail= remove($_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 '<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