Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/04/2013, 13:31
Avatar de loncho_rojas
loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años, 5 meses
Puntos: 175
Registro Exitoso y Login falla a veces - Problema en script php

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">&nbsp;</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.&deg; 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
                
$usuariostrtoupper($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'>&raquo;Por Favor, ingrese con su usuario y contraseña. CLICK AQU&Iacute;</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>
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...