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 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突