Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] login

Estas en el tema de login en el foro de PHP en Foros del Web. Buenas a todos, soy nuevo por aqui jeje. Necesito ayuda con el login de mi web que estoy creando, al querer meter un usuario y ...
  #1 (permalink)  
Antiguo 28/06/2014, 05:06
 
Fecha de Ingreso: junio-2014
Mensajes: 3
Antigüedad: 5 años, 6 meses
Puntos: 0
login

Buenas a todos, soy nuevo por aqui jeje. Necesito ayuda con el login de mi web que estoy creando, al querer meter un usuario y pass ya metidos en mi BD me salta error. Os copio mi codigo de logueo por si me podeis hechar un cable.

<?php
require_once ("../gestionBD/gestionBD.php");
require_once ("../gestionBD/gestionClientes.php");
session_start();
$_SESSION["login"] = "";
$login = array();
$errores = array();
$conexion = CrearConexionBD();

function loguear($login) {
global $conexion;

if ($conexion == NULL) {
$errores[] = "Se ha producido un error al conectarse a la base de datos. Vuelva a intentarlo en unos minutos";
} else {

$login["usuario"] = $_POST["usuario"];
$login["pass"] = $_POST["pass"];
$_SESSION["login"] = $login;


if (!(isset($login["usuario"]) && strlen($login["usuario"]) > 0)) {
$errores[] = "Introduzca el usuario";
}
if (!(isset($login["pass"]) && strlen($login["pass"]) > 0)) {
$errores[] = "Introduzca la contraseña";
}
if (!existeUsuario($login["usuario"], $conexion)) {
$errores[] = "El usuario introducido no existe. Si no está registrado, hágalo ahora.";
} else {
if (validarUsuario($login["usuario"], $login["pass"], $conexion) == 0) {
$errores[] = "La contraseña no es correcta";
}
}
}
return $errores;
}

$errores = loguear($login);
if (count($errores) > 0) {
$_SESSION["errores"] = $errores;
header("Location: errorLogin.php");
} else {
header("Location: exitoLogin.php");
}

CerrarConexionBD($conexion);

?>


Cuando logueo me salta este error: El usuario introducido no existe. Si no está registrado, hágalo ahora. Y nose porque se queda ahi... a ver si alguno puede ayudarme. Gracias de antemano

Un saludo
  #2 (permalink)  
Antiguo 28/06/2014, 07:29
 
Fecha de Ingreso: junio-2014
Ubicación: Sevilla
Mensajes: 22
Antigüedad: 5 años, 6 meses
Puntos: 0
Respuesta: login

Te has complicado una barbaridad. Mira te dejo un script fácil de login a partir de aqui ya lo complicas como quieras.

Código PHP:
<?php
session_start
();
$con mysql_conect("Host""Usuario""Contraseña");
if(isset(
$_POST["usuario"]) && isset($_POST["passw"]) && !empty($_POST["usuario"]) && !empty($_POST["passw"])){
  
$select mysql_query("SELECT passw FROM cuentas WHERE usuario='".mysql_real_escape_string($_POST["usuario"])."'",$con);
  
$pass mysql_fetch_object($select);
  if(
$_POST["passw"] == $pass->passw){
     
#Inicias la sesión.
  
}else{
     
#No has puesto bien tus datos.
  
}
}
?>
Solo con eso ya tienes un login. Luego dentro de la sesión creas tus SESSION que eso ya veo que sabes bien y ya lo tienes completo.

¿Eso te soluciona el problema?
  #3 (permalink)  
Antiguo 28/06/2014, 09:59
 
Fecha de Ingreso: junio-2014
Mensajes: 3
Antigüedad: 5 años, 6 meses
Puntos: 0
Respuesta: login

Gracias por la respuesta!!! Lo de que me habia complicao me lo imaginaba pero bueno es la primera vez que hago esto jeje. Me ha quedao claro pero tengo un pequeño problema, no puedo usar mysql ya que la BD la tengo con oracle, cambiaria mucho ese codigo con oracle?

Un saludo
  #4 (permalink)  
Antiguo 28/06/2014, 16:32
 
Fecha de Ingreso: junio-2014
Ubicación: Sevilla
Mensajes: 22
Antigüedad: 5 años, 6 meses
Puntos: 0
Respuesta: login

Es igual pero cambian un poco las funciones de conexion. Serian algo como oci_conect(), oci_fetch_object(), oci_real_string_escape(). Pero lo que es la forma del codigo es igual en todas las plataformas y lenguajes.
El orden: conexion, comprobar que existen los datos (isset y !empty), comparar el nombre del usuario con la contraseña y si todo es correcto dar conexion.
  #5 (permalink)  
Antiguo 28/06/2014, 17:38
 
Fecha de Ingreso: junio-2014
Mensajes: 3
Antigüedad: 5 años, 6 meses
Puntos: 0
Respuesta: login

goldwar muchisimas gracias por todo, la verdad es que asi es mucho mas sencillo y hasta lo entiendo mejor jejeje

un saludo
  #6 (permalink)  
Antiguo 28/06/2014, 19:24
 
Fecha de Ingreso: junio-2014
Ubicación: Sevilla
Mensajes: 22
Antigüedad: 5 años, 6 meses
Puntos: 0
Respuesta: login

Cita:
Iniciado por suko89 Ver Mensaje
goldwar muchisimas gracias por todo, la verdad es que asi es mucho mas sencillo y hasta lo entiendo mejor jejeje

un saludo
Jeje, muchísimas denadas. Encantado de haberte podido ayudar.

Etiquetas: login
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 02:54.