Foros del Web » Programando para Internet » PHP »

PHP OO Coger ID de un Usuario en concreto PHP y MySql

Estas en el tema de Coger ID de un Usuario en concreto PHP y MySql en el foro de PHP en Foros del Web. Hola buenas, tengo una duda y llevo días sin poder resolverla, un usuario se loguea con Usuario y Contraseña, con PHP y MySql miro si ...
  #1 (permalink)  
Antiguo 09/10/2013, 15:15
 
Fecha de Ingreso: octubre-2013
Mensajes: 42
Antigüedad: 10 años, 6 meses
Puntos: 0
Exclamación Coger ID de un Usuario en concreto PHP y MySql

Hola buenas,

tengo una duda y llevo días sin poder resolverla, un usuario se loguea con Usuario y Contraseña, con PHP y MySql miro si el User y el Pw coinciden y lo envío a sesion.php, allí quiero coger la Id que tengo en la base de datos (Autoincremental) pero de ese usuario, al pasar a sesion.php, solo tengo el nombre en la variable de sesión de POST, es decir que tengo el nombre de usuario pero no su Id, como puedo coger la Id de ese nombre de usuario en la Base de Datos?

Muchas Gracias!
  #2 (permalink)  
Antiguo 09/10/2013, 15:22
 
Fecha de Ingreso: junio-2010
Ubicación: Charlotte, NC
Mensajes: 611
Antigüedad: 13 años, 10 meses
Puntos: 95
Respuesta: Coger ID de un Usuario en concreto PHP y MySql

Con lo que escribes no es suficiente para saber porque no tienes el ID del usuario.

(por cierto tu aplicacion parece ser vulnerable a ataques de elevacion de privilegios y hijack de sesiones).

POST no tiene nada que ver con las sesiones.

Si no tienes el ID del usuario en la variable $_SESSION, es porque no lo pusiste cuando creaste la sesion.

Si no tienes el ID del usuario en el array que almacena los resultados de tu consulta a la base de datos, es porque no lo seleccionaste en tu consulta SQL.

Si no tienes el ID del usuario en la variable $_POST es porque no la pasaste en un formulario o llamada CURL.
  #3 (permalink)  
Antiguo 09/10/2013, 15:27
 
Fecha de Ingreso: octubre-2013
Mensajes: 42
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Coger ID de un Usuario en concreto PHP y MySql

Cita:
Iniciado por AlanChavez Ver Mensaje
Con lo que escribes no es suficiente para saber porque no tienes el ID del usuario.

(por cierto tu aplicacion parece ser vulnerable a ataques de elevacion de privilegios y hijack de sesiones).

POST no tiene nada que ver con las sesiones.

Si no tienes el ID del usuario en la variable $_SESSION, es porque no lo pusiste cuando creaste la sesion.

Si no tienes el ID del usuario en el array que almacena los resultados de tu consulta a la base de datos, es porque no lo seleccionaste en tu consulta SQL.

Si no tienes el ID del usuario en la variable $_POST es porque no la pasaste en un formulario o llamada CURL.
Ya se que es vulnerable y que el código es una basura ya que lo he echo con dreamweaver solo son pruebas, te paso el código:

Código PHP:
<?php require_once('Connections/Miguel.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
  if (
PHP_VERSION 6) {
    
$theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  
$theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch (
$theType) {
    case 
"text":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;    
    case 
"long":
    case 
"int":
      
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case 
"double":
      
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case 
"date":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;
    case 
"defined":
      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
      break;
  }
  return 
$theValue;
}
}
?>
<?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['usuario'])) {
  
$loginUsername=$_POST['usuario'];
  
$password=$_POST['pw'];
  
$MM_fldUserAuthorization "";
  
$MM_redirectLoginSuccess "sesion.php";
  
$MM_redirectLoginFailed "index.php";
  
$MM_redirecttoReferrer false;
  
mysql_select_db($database_Miguel$Miguel);
  
$LoginRS__query=sprintf("SELECT Id Usuario, Contrasena FROM usuarios WHERE Usuario=%s AND Contrasena=%s",
    
GetSQLValueString($loginUsername"text"), GetSQLValueString($password"text")); 
    
    
   
  
$LoginRS mysql_query($LoginRS__query$Miguel) or die(mysql_error());
  
$loginFoundUser mysql_num_rows($LoginRS);
  if (
$loginFoundUser) {
     
$loginStrGroup "";
    
    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;      
    
    
    
//YO
    
    
    
    
    
    //END YO

    
if (isset($_SESSION['PrevUrl']) && false) {
      
$MM_redirectLoginSuccess $_SESSION['PrevUrl'];    
    }
    
header("Location: " $MM_redirectLoginSuccess );
  }
  else {
    
header("Location: "$MM_redirectLoginFailed );
  }
}
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8" />
<title>Iniciar Sesión</title>
    <style>
        a {
            text-decoration:none;
            color: blue;        
        }
        a:hover {
            text-decoration: underline;    
        }


    </style>
</head>

<body>

<center><div style="margin-top:13%;">
    <form action="<?php echo $loginFormAction?>" id="form-login" method="POST">
      <table width="">
        <tr>
        <th width="50%" scope="row"><p>Usuario:&nbsp;</th>
        <td width="50%"><input type="text" name="usuario" id="usuario" value=""  /></p></td>
      </tr>
      <tr>
        <th scope="row"><p>Contraseña:&nbsp;</th>
        <td> <input type="password" id="pw" name="pw"/></p></td>
      </tr>
      <tr>
        <th scope="row"><p>Recuérdame</th>
        <td><input id="remember" type="checkbox" name="remember" value="yes"/></td>
      </tr>
       <tr>
        <th scope="row"></p></th>
        <td><a href="registro">Registrate!</a></td>
      </tr>
      <tr>
        <th scope="row"></p></th>
        <td><a href="">¿Contraseña olvidada?</a></td>
      </tr><tr>
        <th scope="row"></p></th>
        <td> <input type="submit" name="submit" id="submit" value="Iniciar Sesión" /></td>
      </tr>
  </table>

    
    </form>
</div></center>
</body>
</html>
  #4 (permalink)  
Antiguo 09/10/2013, 15:37
 
Fecha de Ingreso: junio-2010
Ubicación: Charlotte, NC
Mensajes: 611
Antigüedad: 13 años, 10 meses
Puntos: 95
Respuesta: Coger ID de un Usuario en concreto PHP y MySql

Código PHP:
Ver original
  1. $_SESSION['MM_Username'] = $loginUsername;
  2.     $_SESSION['MM_UserGroup'] = $loginStrGroup;

No tienes acceso al ID del usuario en la variable $_SESSION porque no estas asignandolo
  #5 (permalink)  
Antiguo 09/10/2013, 15:39
 
Fecha de Ingreso: enero-2012
Ubicación: en Ecatepec
Mensajes: 102
Antigüedad: 12 años, 3 meses
Puntos: 3
Respuesta: Coger ID de un Usuario en concreto PHP y MySql

para saberla tienes que crear una consulta a la bd con la sesion de usuario que esta iniciada de otra forma no podras saberlo
__________________
mi motor de busqueda no es google, sino la necesidad del Amor de Dios

www.CreacionDePaginasdeInternet.com
  #6 (permalink)  
Antiguo 09/10/2013, 15:41
 
Fecha de Ingreso: octubre-2013
Mensajes: 42
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Coger ID de un Usuario en concreto PHP y MySql

Cita:
Iniciado por AlanChavez Ver Mensaje
Código PHP:
Ver original
  1. $_SESSION['MM_Username'] = $loginUsername;
  2.     $_SESSION['MM_UserGroup'] = $loginStrGroup;

No tienes acceso al ID del usuario en la variable $_SESSION porque no estas asignandolo
Tengo guardado solo el nombre de usuario, dime como se hace.
  #7 (permalink)  
Antiguo 10/10/2013, 06:14
 
Fecha de Ingreso: octubre-2013
Mensajes: 42
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Coger ID de un Usuario en concreto PHP y MySql

Alguien me puede ayudar?
  #8 (permalink)  
Antiguo 10/10/2013, 10:14
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: Coger ID de un Usuario en concreto PHP y MySql

Ya estas recogiendo el id en la consulta, solo tienes que asignarlo a la session de la misma fot
A que lo haces con el nombre.de usuario
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #9 (permalink)  
Antiguo 12/10/2013, 02:53
 
Fecha de Ingreso: octubre-2013
Mensajes: 42
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Coger ID de un Usuario en concreto PHP y MySql

Cita:
Iniciado por SkAr88 Ver Mensaje
Ya estas recogiendo el id en la consulta, solo tienes que asignarlo a la session de la misma fot
A que lo haces con el nombre.de usuario
Sería
Código PHP:
$RowRecordset1['Id'
pero me sale la ultima id que esta insertada no la del usuario que quiero.
  #10 (permalink)  
Antiguo 14/10/2013, 02:27
 
Fecha de Ingreso: octubre-2013
Mensajes: 42
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Coger ID de un Usuario en concreto PHP y MySql

Me coje el último! Sería así, pero no me lo coje:

Código SQL:
Ver original
  1. SELECT Id FROM `usuarios` WHERE `Usuario` = '".$_SESSION['MM_Username']."'

Última edición por MyProductionsG; 14/10/2013 a las 02:59

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 22:44.