Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problemas Login con Dreamweaver CS5.5

Estas en el tema de Problemas Login con Dreamweaver CS5.5 en el foro de PHP en Foros del Web. Ante todo un saludo. Estoy con un siatema de login con Dreamweaber CS5.5 (No es la primera vez que lo hago, he hecho como unos ...
  #1 (permalink)  
Antiguo 25/11/2013, 02:01
Avatar de manyblue  
Fecha de Ingreso: marzo-2008
Mensajes: 329
Antigüedad: 16 años
Puntos: 10
Problemas Login con Dreamweaver CS5.5

Ante todo un saludo.


Estoy con un siatema de login con Dreamweaber CS5.5 (No es la primera vez que lo hago, he hecho como unos 20 y nunca con problemas).


Mi problema es que el login me tira siempre a error_login.php y no hay manera de logearse.


Archivos: login.php, error_login.php y index_admin.php


Los archivos error_login.php no tiene ninguna ciencia, el index_admin.php tampoco y ademas este último tiene restringido acceso por email, password y nivel de usuario, en este caso (1) que corresponde a los administradors.


Todos los archivos con respecto al user furulan a la maravill (add, edit,list, details y los dos buscadores por email y por nik de usuario), en el usuarios_add.php el password está encriptado con (md5).


Ademas necesito meter en una variable de sesión el id_usuario pues lo necesito en el index_admin.php.


login.php

Código PHP:


<?php require_once('../Connections/conex_db_teldetv.php'); ?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
  
session_start();
}
$loginFormAction $_SERVER['PHP_SELF'];
if (isset(
$_GET['accesscheck'])) {
  
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}
if (isset(
$_POST['email'])) {
  
$loginUsername=$_POST['email'];
  
$password=md5($_POST['password']);
  
$MM_fldUserAuthorization "nivel";
  
$MM_redirectLoginSuccess "index_admin.php";
  
$MM_redirectLoginFailed "error_login.php";
  
$MM_redirecttoReferrer false;
  
mysql_select_db($database_conex_db_teldetv$conex_db_teldetv);
   
  
$LoginRS__query=sprintf("SELECT id_usuario, email, password, nivel FROM tbl_usuarios WHERE email=%s AND password=%s",
  
GetSQLValueString($loginUsername"text"), GetSQLValueString($password"text")); 
 
$LoginRS mysql_query($LoginRS__query$conex_db_teldetv) or die(mysql_error());
  
$row_LoginRS mysql_fetch_assoc($LoginRS); 
  
$loginFoundUser mysql_num_rows($LoginRS);
  if (
$loginFoundUser) {
    
    
$loginStrGroup  mysql_result($LoginRS,0,'nivel');
    
 if (
PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
    
//declare two session variables and assign them
    
$_SESSION['MM_Username'] = $loginUsername;
    
$_SESSION['MM_UserGroup'] = $loginStrGroup
 
$_SESSION['MM_IDUsuario'] = $row_LoginRS["id_usuario"];        
 
    if (isset(
$_SESSION['PrevUrl']) && false) {
      
$MM_redirectLoginSuccess $_SESSION['PrevUrl']; 
    }
    
header("Location: " $MM_redirectLoginSuccess );
  }
  else {
    
header("Location: "$MM_redirectLoginFailed );
  }
}
?>
Como vereís, para sacar el id_usuario hago esto:


Código PHP:


$row_LoginRS 
mysql_fetch_assoc($LoginRS); 
$_SESSION['MM_IDUsuario'] = $row_LoginRS["id_usuario"]; 
Pero nada, no hay manera de acceder al index_admin.php, me tira siempre a error_login.php.


Como os dije al principio, he hecho esto mogollon de veces sin problemas y os lo puedo mostrar si quereís.


Ya no se que es lo que está pasando, problema del server local, no, las otras webs que tengo como dije furulan perfecto y el siatema de login como este, problema mio, no lo se pero creo que no, problema de Dreamweaver, tampoco lo se, he probado hasta descomentar la cache pero nada.


En un primer momento pensé que el form no estava enviando los datos correcto, así que lo que hice es hacer un eco a la consulta para ver que valores estava pasanso y comentar los header() de esta manera:


Código PHP:


<?php require_once('../Connections/conex_db_teldetv.php'); ?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
  
session_start();
}
$loginFormAction $_SERVER['PHP_SELF'];
if (isset(
$_GET['accesscheck'])) {
  
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}
if (isset(
$_POST['email'])) {
  
$loginUsername=md5($_POST['email']);
  
$password=md5($_POST['password']);
  
$MM_fldUserAuthorization "nivel";
  
$MM_redirectLoginSuccess "index_admin.php";
  
$MM_redirectLoginFailed "error_login.php";
  
$MM_redirecttoReferrer false;
  
mysql_select_db($database_conex_db_teldetv$conex_db_teldetv);
   
  
$LoginRS__query=sprintf("SELECT id_usuario, email, password, nivel FROM tbl_usuarios WHERE email=%s AND password=%s",
  
GetSQLValueString($loginUsername"text"), GetSQLValueString($password"text")); 
  echo 
$LoginRS__query;
 
$LoginRS mysql_query($LoginRS__query$conex_db_teldetv) or die(mysql_error());
  
$row_LoginRS mysql_fetch_assoc($LoginRS); 
  
$loginFoundUser mysql_num_rows($LoginRS);
  if (
$loginFoundUser) {
    
    
$loginStrGroup  mysql_result($LoginRS,0,'nivel');
    
 if (
PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
    
//declare two session variables and assign them
    
$_SESSION['MM_Username'] = $loginUsername;
    
$_SESSION['MM_UserGroup'] = $loginStrGroup
 
$_SESSION['MM_IDUsuario'] = $row_LoginRS["id_usuario"];        
 
    if (isset(
$_SESSION['PrevUrl']) && false) {
      
$MM_redirectLoginSuccess $_SESSION['PrevUrl']; 
    }
   
// header("Location: " . $MM_redirectLoginSuccess );
  
}
  else {
   
// header("Location: ". $MM_redirectLoginFailed );
  
}
}
?>
El password en la base de datos es: e10adc3949ba59abbe56e057f20f883e
Mi email es: [email protected]
El resultado de echo es:
SELECT email, password, nivel FROM tbl_usuarios WHERE email='[email protected]' AND password='e10adc3949ba59abbe56e057f20f883e'



Por lo que veo el form si que envia los datos correctamente pero no se si coge el nivel, no lo se.


Ya lo único que creo que deberia hacer es meter los datos en el navicat a ver que sale, pero como lo hago. El navicat lo controlo solo en lo que necesito para las consultas múltiple a varias tablas.


Cinceramente ya no se lo que hacer.


Alguna sugerencia ??


Como siempre, un afectuoso saludo a todos: Manyblue


``

Última edición por manyblue; 25/11/2013 a las 02:34
  #2 (permalink)  
Antiguo 25/11/2013, 03:08
Avatar de manyblue  
Fecha de Ingreso: marzo-2008
Mensajes: 329
Antigüedad: 16 años
Puntos: 10
Respuesta: Problemas Login con Dreamweaver CS5.5

Bueno, los datos de la consulta con navicat:


Código PHP:


[SQLSELECT
tbl_usuarios
.id_usuario,
tbl_usuarios.email,
tbl_usuarios.`password`,
 
tbl_usuarios.nivel
FROM
tbl_usuarios
WHERE
tbl_usuarios
.email miemail.com AND
tbl_usuarios.`password` = e10adc3949ba59abbe56e057f20f883e
[Err1064 You have an error in your SQL syntaxcheck the manual that corresponds to your MySQL server version for the right syntax to use near '@yahoo.com AND
 tbl_usuarios.`password` = e10adc3949ba59abbe56e057f20f883e' 
at line 9 
haciendo la consulta de esta manera no me tira errores navicat, lo probaré os digo.


Código PHP:


$LoginRS__query
=sprintf("SELECT tbl_usuarios.id_usuario, tbl_usuarios.email, tbl_usuarios.`password`, tbl_usuarios.nivel FROM tbl_usuarios WHERE tbl_usuarios.email = %s AND tbl_usuarios. password` = %s"GetSQLValueString($loginUsername"text"), GetSQLValueString($password"text")); 
Un saludo: Manyblue
  #3 (permalink)  
Antiguo 25/11/2013, 05:20
Avatar de manyblue  
Fecha de Ingreso: marzo-2008
Mensajes: 329
Antigüedad: 16 años
Puntos: 10
Respuesta: Problemas Login con Dreamweaver CS5.5

Pues nada, problema solucionado, me ha costado la pérdida de Sábado, Domingo y hoy Lunes pero al final lo conseguí, así quedó:


Código PHP:



<?php require_once('../Connections/conex_db_teldetv.php'); ?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
   
session_start();
}
$loginFormAction $_SERVER['PHP_SELF'];
if (isset(
$_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
 }



  if (isset(
$_POST['email'])) {
  
$loginUsername=$_POST['email'];
  
$password=md5($_POST['password']);
  
$MM_fldUserAuthorization "nivel";
  
$MM_redirectLoginSuccess "index_admin.php";
  
$MM_redirectLoginFailed "error_login.php";
  
$MM_redirecttoReferrer false;

  
mysql_select_db($database_conex_db_teldetv$conex_db_teldetv);   
  
$LoginRS__query=sprintf("SELECT email, password, id_usuario, nivel FROM tbl_usuarios WHERE email=%s AND password=%s",
  
GetSQLValueString($loginUsername"text"), GetSQLValueString($password"text")); 

  
$LoginRS mysql_query($LoginRS__query$conex_db_teldetv) or die(mysql_error());
   
$row_LoginRS mysql_fetch_assoc($LoginRS); 
   
$loginFoundUser mysql_num_rows($LoginRS);
   if (
$loginFoundUser) {

   
$loginStrGroup  mysql_result($LoginRS,0,'nivel');
     
   if (
PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
    
//declare two session variables and assign them
    
$_SESSION['MM_Username'] = $loginUsername;
    
$_SESSION['MM_UserGroup'] = $loginStrGroup
    
$_SESSION['MM_IDUsuario'] = $row_LoginRS["id_usuario"];        
 
    if (isset(
$_SESSION['PrevUrl']) && false) {
      
$MM_redirectLoginSuccess $_SESSION['PrevUrl']; 
     }

    
header("Location: " $MM_redirectLoginSuccess );
  }
  else {

    
header("Location: "$MM_redirectLoginFailed );
  }
}
?>
Esto:


Código PHP:


$row_LoginRS 
mysql_fetch_assoc($LoginRS); 
$_SESSION['MM_IDUsuario'] = $row_LoginRS["id_usuario"]; 
Es añadido por mi para poder sacar el id_usuario aprovechando la consulta del login, así ya lo tengo también pues lo necesito en la parte de administración nada más entrar.


Como siempre muchas gracias por todo y que tengaís un buen día.


Un saludo: Manyblue

Etiquetas: dreamweaver, login, mysql, 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 10:05.