简体   繁体   中英

Get another value from MySQL database on row

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.

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM