Buenas
El código completo este :
Código PHP:
Ver originalclass DB_Functions {
private $conn;
// constructor
function __construct() {
require_once 'DB_Connect.php';
// connecting to database
$db = new Db_Connect();
$this->conn = $db->connect();
}
// destructor
function __destruct() {
}
ns user details
*/
public function storeUser($name, $email, $password, $phone, $adress) {
$hash = $this->hashSSHA($password);
$encrypted_password = $hash["encrypted"]; // encrypted password
$salt = $hash["salt"]; // salt
$stmt = $this->conn->prepare("INSERT INTO users(unique_id, name, email, encrypted_password, salt, created_at, phone, adress) VALUES(?, ?, ?, ?, ?, NOW(),?,?)");
$stmt->bind_param("sssssss", $uuid, $name, $email, $encrypted_password, $salt, $phone, $adress);
$result = $stmt->execute();
$stmt->close();
// check for successful store
if ($result) {
$stmt = $this->conn->prepare("SELECT * FROM users WHERE email = ?");
$stmt->bind_param("s", $email);
$stmt->execute();
$user = $stmt->get_result()->fetch_assoc();
$stmt->close();
return $user;
} else {
return false;
}
}
/**
* Get user by email and password
*/
public function getUserByEmailAndPassword($email, $password) {
$stmt = $this->conn->prepare("SELECT * FROM users WHERE email = ?");
$stmt->bind_param("s", $email);
if ($stmt->execute()) {
$user = $stmt->get_result()->fetch_assoc();
$stmt->close();
return $user;
} else {
return NULL;
}
}
}
?>
Pero de todo el codigo yo estoy usando la funcion publicada anteriormente "getUserByEmailAndPassword" ; el otro scrip tiene el siguiente codigo :
Código PHP:
Ver original<?php
require_once 'include/DB_Functions.php';
$db = new DB_Functions();
// json response array
//$user = array();
if (isset($_POST['email']) && isset($_POST['password'])) {
// receiving the post params
$email = $_POST['email'];
$password = $_POST['password'];
// get the user by email and password
$user = $db->getUserByEmailAndPassword($email, $password);
if ($user != false) {
$_SESSION['dev'] = $email;
$_SESSION['userid'] = $user;
header("Location: perfil.php");
} else {
header("Location: index.php"); }
} else {
}
?>
Y esta es una parte del codigo html donde quiero mostrar el email y id del usuario
Código PHP:
Ver original-->
<div class="container">
<div class="starter-template">
<h1>Perfil</h1>
<p class="lead">
<?php
$usuario = $_SESSION['dev']; //obteniendo el usuario
$id = $_SESSION['userid'];
echo $usuario;
?>
</p>
</div>
</div><!-- /.container -->
Yo se que lo que estoy imprimiendo en el echo esta tomando el valor de un array ya que no puedo pasar el id que necesito
y al tratar de imprimirlo me manda el error "PHP Notice: Array to string conversion in "echo $id;"
trato de capturar el valor que esta retornando en esta parte
Código PHP:
Ver originalif ($user != false) {
$_SESSION['dev'] = $email;
$_SESSION['userid'] = $user; // necesito capturar el valor que tiene "id"
Pero no se exactamente que colocar en la variable "$user" para que extraiga del array devuelto del metodo "getUserByEmailAndPassword" el id que necesito.
Si realizo un "echo print_r($id,true);" me muestra esto :
Código PHP:
Ver originalArray ( [id
] => 16 [unique_id
] => 56d4afbce978f2
.31054501
[name
] => Name
[email
] => ja
@ja
.com
[encrypted_password
] => xcycksEXAwYS2kUS8rTtXPzbWlE3Mzc1NzJkMDM1
[salt
] => 737572d035
[created_at
] => 2016-02-29 15:53:16 [updated_at
] => [phone
] => 2222 [adress
] => ddddddd
)
Lo que necesito es extraer el valor de "id" para guardarlo en una variable y poder mostrarlo tambien; trate colocando
$_SESSION['userid'] = $user[id];
$_SESSION['userid'] = $user['id'];
$_SESSION['userid'] = $user[0];
Pero no me funciona , espero que quede mas claro lo que necesito
Saludos Cordinales