如何从登录用户中提取数据库中的数据?

时间:2018-05-29 03:31:00

标签: php mysqli

我会尽量保持这篇文章尽可能简单,同时包含尽可能多的信息,以帮助您帮助我。正如预警一样,我对PHP / Mysqli非常陌生,并且在上周的过程中为我们公司整合了一个内部数据站点,以使我们的工作更轻松。

我已完成用户登录过程,似乎运行良好。如果用户未登录,则无法查看站点的PHP页面并进行相应的重定向。现在我有这部分工作了。我正在尝试合并一个显示其名字和姓氏的网站标识符以及它们的照片。占位符已经设置好,但我还没有非常成功地使用它。但是,我确实添加了一个"欢迎"电子邮件"通过拉取会话数据来获取消息。

我将在下面列出我目前使用的代码:

登录页面:

<?php
require('../inc/db.inc.php');
session_start();
// If form submitted, insert values into the database.
if (isset($_POST['user_email'])){

    $email = stripslashes($_REQUEST['user_email']); // removes backslashes
    $email = mysqli_real_escape_string($con,$email); //escapes special characters in a string
    $password = stripslashes($_REQUEST['user_pwd']);
    $password = mysqli_real_escape_string($con,$password);

//Checking is user existing in the database or not
    $query = "SELECT * FROM `users` WHERE user_email='$email' and user_pwd='".md5($password)."'";
    $result = mysqli_query($con,$query) or die(mysql_error());
    $rows = mysqli_num_rows($result);
    if($rows==1){
        $_SESSION['user_email'] = $email;
        header("Location: ../index.php"); // Redirect user to index.php
        }else{
            echo "<div class='form'><h3>Username/password is incorrect.</h3><br/>Click here to <a href='login.php'>Login</a></div>";
            }
}else{
?>

DB PAGE:

<?php

$con = mysqli_connect("localhost","root","","dbadmin");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
?>

每页安全:

<?php
include("pages/auth.php"); //include auth.php file on all secure pages
?>

AUTH PAGE:

<?php
session_start();
if(!isset($_SESSION["user_email"])){
header("Location: login.php");
exit(); }
?>

用于显示电子邮件的代码:(只有我可以使用的代码)

<p>Welcome <?php echo $_SESSION['user_email']; ?> 

我希望你们其中一个Guru类型能够看到并确切知道如何获得我想要的东西,或者至少指出我正确的方向。我一直在寻找互联网,看起来好像读了我能找到的所有教程,但是我还没能成功地做任何事情。我找到了以下代码,但每次尝试将其添加到我的代码时,它都会破坏网站。

$row = mysql_fetch_array($result);

如果你能,请提供帮助。提前致谢。

2 个答案:

答案 0 :(得分:0)

转到您的登录页面,检查行是否等于1,执行此操作,更改此

$_SESSION['user_email'] = $email;

到此

$_SESSION['user'] = $result->fetch_assoc();

然后这样做

<p>Welcome <?php echo  $_SESSION['user']['firstname']; ?></p>

答案 1 :(得分:0)

不是你的问题的直接答案,但如果是php的新手,我会建议你使用已经提供你正在寻找的东西的流行的php框架之一,以及更安全的,安全的库。

例如laravel或symfony。

这些都有很好的文档记录,你将学到更多的东西来检查他们的文档和教程,而不是试图在这里重新发明轮子。

相关问题