Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/08/2015, 14:14
jesus_spanishteacher
 
Fecha de Ingreso: septiembre-2013
Mensajes: 76
Antigüedad: 11 años, 2 meses
Puntos: 0
Insertar consulta en login para traer un dato a la vez que realiza login y propagar

Hola, he desarrollado este sistema de login:

Código PHP:
<?php

ob_start
();
$host "localhost"// Host name 
$username "root"// Mysql username 
$password ""// Mysql password 
$db_name "platform"// Database name 
$tbl_name "datos_usuarios"// Table name 

// Connect to server and select databse.
mysql_connect("$host""$username""$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

// Define $myusername and $mypassword 
$nombreusuario=$_POST['nombreusuario']; 
$contrasena=$_POST['contrasena']; 

// To protect MySQL injection (more detail about MySQL injection)
$nombreusuario stripslashes($nombreusuario);
$contrasena stripslashes($contrasena);
$nombreusuario mysql_real_escape_string($nombreusuario);
$contrasena mysql_real_escape_string($contrasena);
$sql="SELECT * FROM datos_usuarios WHERE nombreusuario='$nombreusuario'and contrasena='$contrasena'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count mysql_num_rows ($result);

// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){

// Register $myusername, $mypassword and redirect to file "login_success.php"
$nombreusuario $_SESSION["nombreusuario"];
$contraseña $_SESSION["contrasena"];
header("location:login_success.php");
}
else {
echo 
"Wrong Username or Password";
}
ob_end_flush();
?>
El caso es que para páginas posteriores necesito traer un dato, que es el id_usario; entonces quiero saber si es posible traerlo al comparar el nombreusuario y la contrasena de usuario, o si por el contrario podría hacer una consulta estándar, tras el código del login, para obtenerlo y propagarlo con el nombre usuario y la contrasena; como esta:

Código PHP:

<?php

//consulta para traer id del usuario.

$connect mysql_connect("localhost""root""") ; 

if (!
$connect) {
die (
"Can not connect: " mysql_error () ) ; 
}


//conectar a la base de datos


mysql_select_db("nombredb"$connect) ; 

$sql="SELECT id_usuario FROM datos_usuarios 
WHERE nombreusuario='$nombreusuario'and contrasena='$contrasena'"
;
$num_resultados=mysqli_num_rows($id_usuario)

$id_usuario $_SESSION["Id_usuario"];

?>
Por otro lado, tengo dudas para propagar la sesión de tal forma que el usuario no tenga que estar continuamente haciendo logs; el código que tengo es ese a ver si me pueden asesorar:


Código PHP:
session_start();

$id   ' ';
$user '';
$pass sha1('');

$_SESSION = array(
    
'id_usuario'   => $id_usuario,
    
'nombreusuario' => $nombreusuario,
    
'contrasena' => $contrasena,
);