Boa Tarde! estou com um dificuldades de puxar os dados do usuário logado no site. Atualmente estou conseguindo puxar somente o NOME, quando tento puxar o restante da erro! Abaixo segue o Código.
session_start();
//inicializa variaveis
$id = "accountid";
$name = "";
$email = "";
$errors = array();
//conexão db
$db = mysqli_connect('localhost', 'root', 'senha', 'db') or die("could not connect to database");
//Registrar usuário
if (isset($_POST['reg_user'])) {
// receives all input values from the form
$name = mysqli_real_escape_string($db, $_POST['name']);
$email = mysqli_real_escape_string($db, $_POST['email']);
$password = mysqli_real_escape_string($db, $_POST['password']);
$password2 = mysqli_real_escape_string($db, $_POST['password2']);
//form validação: ensure that the form is correctly filled ...
// by adding (array_push)) corresponding error unto $errors array
if(empty($name)) { array_push($errors, "
");
}
if(empty($email)) { array_push($errors, "
");
}
if(empty($pwd)) { array_push($errors, "
");
}
if($pwd != $pw2) { array_push($errors, "
");
}
// To protect MySQL injection (more detail about MySQL injection)
$name = stripslashes($name);
$password = stripslashes($password);
// first check the databese to make sure
// verifica na db se a usuário existente com o mesmo nome de usuário e email
$user_check_query = "SELECT * FROM t_account WHERE name='$name' or email='$email' LIMIT 1";
$result = mysqli_query($db, $user_check_query);
$user = mysqli_fetch_assoc($result);
if($user) { // if user existente
if ($user['name'] === $name) {
array_push($errors, "
");
}
if ($user['email'] === $email) {
array_push($errors, "
");
}
}
// Registra o usuário se não haver erros
if (count($errors) == 0 ) {
$pwd = md5($pwd);
print $pwd;
$query = "INSERT INTO t_account (name, email, pwd, pw2) VALUES ('$name', '$email', '$password', '$password2')";
mysqli_query($db, $query);
$_SESSION['accountid'] = $id;//
$_SESSION['name'] = $name;
$_SESSION['success'] = 'Você está logado em';
echo "
";
//header('location: index.php');
}
}
//LOGIN USER
if (isset($_POST['login_user'])) {
$name = mysqli_real_escape_string($db, $_POST['name']);
$password = mysqli_real_escape_string($db, $_POST['password']);
if (empty($name)) {
array_push($errors, "
");
}
if (empty($password)) {
array_push($errors, "
");
}
if (count($errors) == 0 ) {
$pwd = md5($pwd);
$query = "SELECT 'email' FROM t_account WHERE name='$name' AND password='$password'";
$results = mysqli_query($db, $query);
if (mysqli_num_rows($results)) {
$_SESSION['accountid'] = $id;//
$_SESSION['name'] = $name;
$_SESSION['success'] = 'Você está logado em';
echo "
";
//header('location: index.php');
}else{
array_push($errors, "
");
}
}
}
Com a variável abaixo, é exibido o nome de quem esta logado.
$_SESSION["name"]
Já com os demais, não e exibido o resultado é apresentado uma msg de erro.
$_SESSION["email"]
Notice: Undefined index: email in
Passei em todos os post que tem sobre o assunto, mas infelizmente em meu código não deu certo.
Sou novo em PHP!
Preciso puxar todos os dados cadastrado do usuário.