Buenas... como dice el título... cree un sencillo y muy común mecanismo de registro y luego de login, no le puse aún ningún método de seguridad, así que no se detengan en ese detalle por favor... el punto es:
A- Registra perfecto, guarda lo datos correctamente.
B- Cuando hago Login, hay ocasiones en los que me dice que el usuario no existe aún y que debo registrarlo, cosa que es mentira, ya que en la base de datos están los datos del usuario y no los reconoce, no se porque Regla de 3..
El error que sale es
El nombre de usuario ingresado no esta registrado
Pongo los scripts de registro y de login para ver si estoy haciendo algun fallo conceptual o similar que puedan detecta... acepto sugerencias.
SCRIPT DE REGISTRO Código PHP:
<?php
session_start();
include("../link/connect.php");
require_once("../link/funciones.php");
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Registrarse</title>
<link rel="stylesheet" type="text/css" href="../css/style-basic.css">
</head>
<body>
<div class="liner"> </div>
<div id="container">
<header>
<div><img src="../img/grupo-editorial-atlas-libros-para-leer.jpg" /></div>
</header>
<section>
<div id="login">
<?php
if (isset($_SESSION['k_username']) && isset($_SESSION["k_idcliente"]))
{
echo "<p>Usted ya se ha registrado y logueado</p>";
}
else
{
?>
<h1>Registrarse</h1>
<?php
function formRegistro(){
?>
<div id="caja-registro">
<p>Por favor complete el siguiente formulario</p>
<form action="registro.php" method="post">
<table border="0" cellspacing="2" cellpadding="3">
<tr>
<td width="196" align="right"><p>Nombres:</p></td>
<td width="298"><input name="name" type="text" class="campos" size="25" /></span></td>
</tr>
<tr>
<td align="right"><p>Apellidos:</p></td>
<td><input name="lastname" type="text" class="campos" size="25" /></td>
</tr>
<tr>
<td align="right"><p>N.° de Documento:</p></td>
<td><input name="ci" type="ci" class="campos" size="20" maxlength="10" /></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" class="btnForm" value="Registrar" /></td>
</tr>
</table>
</form>
</div>
<?php
}
// verificamos si se han enviado ya las variables necesarias.
if (isset($_POST["name"])) {
$nombre = reem($_POST["name"]);
$apellido = reem($_POST["lastname"]);
$ci= $_POST["ci"];
$email = $_POST["email"];
//creamos el nombre del usuario compuesto por el nombre y el apellido
$usuario= strtoupper($nombre." ".$apellido);
// Hay campos en blanco
if($nombre==NULL | $apellido==NULL | $ci==NULL){
echo "<div class='wrong'>
<img src='../img/wrong.png' width='22' height='22' />
<span style='font-size:14px; color:#FFF;'>Debe llenar todos los campos</span>
</div>";
formRegistro();
}else{
$checkuser = mysql_query("SELECT ci FROM usuarios WHERE ci='$ci'");
$user_exist = mysql_num_rows($checkuser);
if ($user_exist>0/*|$username_exist>0*/) {
echo "<div class='wrong'>
<img src='../img/wrong.png' width='22' height='22' />
<span style='font-size:14px; color:#FFF;'>Este usuario ya fue registrado</span>
</div>";
formRegistro();
}else{
$query = 'INSERT INTO usuarios (id_usuario, usuario, password, nombre, apellido, ci, fecha)
VALUES (\''.$ci.'\',\''.$usuario.'\',\''.$ci.'\',\''.$nombre.'\',\''.$apellido.'\',\''.$ci.'\',\''.date("Y-m-d").'\')';
mysql_query($query) or die(mysql_error());
echo "<span style='font-size:18px; color:#00CC00;'>GRACIAS POR REGISTRARSE.</span>";
echo "<p style='font-size:14px; color:#00CC00;'><a href='../index.php'>»Por Favor, ingrese con su usuario y contraseña. CLICK AQUÍ</a></p>";
}
}
}else{
formRegistro();
}
?>
<?php
}
?>
</div>
</section>
</div>
</body>
</html>
SCRIPT DE LOGIN Código PHP:
<?php
include("../link/connect.php");
require_once("../link/funciones.php");
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>
<body>
<?php
if($_POST){
$name = reem(strtoupper($_POST["username"]));
$clave = $_POST["password"];
//$fecha= date("d-m-y H:i");
//echo getdate();
unset($_POST); //Se destruye el array $_POST
if($name){
//EL ERROR CONCEPTUAL O DE SCRIPT TIENE QUE ESTAR POR AQUI
$sql_login="SELECT * FROM usuarios WHERE usuario LIKE '".$name."'"; //siempre esta en mayusculas el nombre de usuario
$resultado_login=mysql_query($sql_login, $conn)or die("Error query ".mysql_error());
$res=mysql_num_rows($resultado_login);
if($res == 1){
$fila_usuario=mysql_fetch_array($resultado_login);
if($fila_usuario['password']== $clave){
session_start();
$_SESSION["k_username"] = $fila_usuario["nombre"].", ".$fila_usuario["apellido"];
$_SESSION["k_idcliente"] = $fila_usuario["id_usuario"];
echo "<p style='font-size:14px; color:#FF0000;'>CORRECTO</p>";
//header("Location: ../clients/principal-clients.php");
}else{
echo "<p style='font-size:14px; color:#FF0000;'>El password no es valido!!</p>";
}//fin verificacion de correcto logueo a traves del password
}else{
echo "<p>El nombre de usuario ingresado no esta registrado</p>";
}
}else{
echo "<p>Ingrese un nombre de usuario</p>";
}
}else{
header("Location: ../index.php");
}
?>
</body>
</html>