dongliao3450 2016-06-16 15:43
浏览 22
已采纳

从行中获取MySQL数据库的另一个值

I have made a simple login and registration system (http://dak.esy.es/login/), and would like to retrieve other information from the same row in the MySQL database. Currently, only the username is saved (as $_SESSION['username']), and this is what is entered on the login page. On the database, the data I want to be saved is id, fullname and email - preferably in the same format as the username ($_SESSION['(name here)']). I already have a file to connect to the database called db.php. If anyone could provide the code I would be greatly pleased. The code on my login.php page is:

  <?php
require('db.php');
session_start();
// If form submitted, insert values into the database.
if (isset($_POST['username'])){
    $username = $_POST['username'];
    $password = $_POST['password'];
    $username = stripslashes($username);
    $username = mysql_real_escape_string($username);
    $password = stripslashes($password);
    $password = mysql_real_escape_string($password);
//Checking is user existing in the database or not
    $query = "SELECT * FROM `users` WHERE username='$username' and password='".md5($password)."'";
    $result = mysql_query($query) or die(mysql_error());
    $rows = mysql_num_rows($result);

    if($rows==1){
        $_SESSION['username'] = $username;
        header("Location: ./index.php"); // Redirect user to index.php
    }
        else{
            echo "<div class='form'><br/><h3>Username or password incorrect.</h3><br/>Click here to <a href='login.php'>try again</a></div>";
        }
}
?>

Many thanks.

  • 写回答

1条回答 默认 最新

  • dougan6402 2016-06-16 16:17
    关注

    It is not clear what the requirement is: but i hope, you want every value from db row as session.. hope you have session: `$_SESSION['username'] after login;

        $conn = mysqli_connect($servername, $username, $password);
    
        // Check connection
        if (!$conn) {
            die("Connection failed: " . mysqli_connect_error());
        }
    
        $query = "SELECT * FROM `tbl_login` WHERE `username` = ".$_SESSION['username'];
    $result = mysqli_query($conn, $sql);
    $row = mysqli_fetch_assoc($result);
    $_SESSION['id'] = $row["id"];
    $_SESSION['name'] = $row["fullname"];
    $_SESSION['email'] = $row["email"];
    mysqli_close($conn);
    

    or for setting session along with login validation:

    $conn = mysqli_connect($servername, $username, $password);
    
    // Check connection
    if (!$conn) {
        die("Connection failed: " . mysqli_connect_error());
    }
    
    $query = "SELECT * FROM `tbl_login` WHERE `username` = ".$_POST['username']." AND `password`= ".$POST['password'];
    
    $result = mysqli_query($conn, $query);
    $row = mysqli_fetch_assoc($result);
    if(isset($row)){
        $_SESSION['id'] = $row["id"];
        $_SESSION['username'] = $row["username"];
        $_SESSION['name'] = $row["fullname"];
        $_SESSION['email'] = $row["email"];
    } else {
        redirect('login.php');   //reload login page on failure
    }
    mysqli_close($conn);
    

    this is the basic code and you can split this code to MVC.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab