2016-03-11 30 views
0

當用戶登錄時,我想回顯那裏的ID(它是由於phpMyAdmin中的auto_increment創建的),從帳戶,這是我的登錄名.PHP:獲取PHP數據庫中的特定用戶的ID

<?php 

$conn = mysqli_connect("xxxxxx", "xxxxx", "xxxx", "BuyerAccounts"); 

$Email = $_POST["Email"]; 
$Password = $_POST["Password"]; 


$sql_query = "select Buyer_Email from user_info where Buyer_Email like '$Email' and Buyer_Password like '$Password';"; 

$result = mysqli_query($conn, $sql_query); 

if(mysqli_num_rows($result) > 0){ 

$row = mysqli_fetch_assoc($result); 
$name = $row["Buyer_Email"]; 
echo "Welcome: Buyer"; 

}else{ 
$int = 1; 
//echo "Buyer login failed..."; 
} 
}else{ 
echo "Login failed..."; 
} 
} 


mysqli_stmt_close($statement); 

mysqli_close($conn); 


?> 
+1

'SELECT ID,BUYER_EMAIL FROM ...'(與你的id字段名稱替換'ID') – fusion3k

+0

ID是在我的數據庫字段的名稱,做後,我剛回顯ID,因爲我不不想選擇它,我想抓住它時,在用戶登錄,並把數量可變的,所以我可以附和它選擇後回 –

+1

你可以把它放在一個變量,以及爲電子郵件 – fusion3k

回答

2

添加列名ID在SQL query.let說爲你的id列名是ID

$sql_query = "select ID,Buyer_Email from user_info where Buyer_Email like '$Email' and Buyer_Password like '$Password';"; 
$result = mysqli_query($conn, $sql_query); 

if(mysqli_num_rows($result) > 0){ 

$row = mysqli_fetch_assoc($result); 
$name = $row["Buyer_Email"]; 
$user_id = $row['ID']; 
echo $user_id; 
echo "Welcome: Buyer"; 

} 

由於PHP的決策登錄其不錯的選擇使用$_SESSION。 您需要做的只是在需要使用會話的任何php腳本的頂部添加一個session_start();

<?php 
session_start(); 
$conn = mysqli_connect("xxxxxx", "xxxxx", "xxxx", "BuyerAccounts"); 

$Email = $_POST["Email"]; 
$Password = $_POST["Password"]; 
$sql_query = "select ID,Buyer_Email from user_info where Buyer_Email like '$Email' and Buyer_Password like '$Password';"; 

    $result = mysqli_query($conn, $sql_query); 

    if(mysqli_num_rows($result) > 0){ 

    $row = mysqli_fetch_assoc($result); 
    $name = $row["Buyer_Email"]; 
    $user_id = $row['ID']; 

    //using session 
    $_SESSION["user_id"] = $user_id; 

    echo $user_id; 
    echo "Welcome: Buyer"; 

    } 

現在,您可以使用$_SESSION變量訪問php腳本中的任何位置。

echo $_SESSION["user_id"] ; 
+1

幹得好,你應得的...... –

+0

@ProgrammingTree謝謝。你的回答也很好,爲什麼我也投了票。 :d –

0

讓我們從頭開始。您創建一個登錄表單,您存儲基於價值會話:

的login.php

session_start(); 
$_SESSION["username"] = $username; 

main.page

$username = $_SESSION["username"]; 
echo "Hi $username"; 

EDIT 2

好的,所以你想檢查用戶名是否存在,然後回覆他們的ID。無論如何,幾乎所有的登錄系統都有會話。

登錄後,假設您有$_SESSIONID

PHP

session_start(); 
$id = $_SESSION["id"]; 

$db = mysqli_connect("xxxxxx", "xxxxx", "xxxx", "BuyerAccounts"); 
$check = $db->query("SELECT * FROM users WHERE id='$id'"); 
$num_check = $check->num_rows; 
$fetch_check = $check->fetch_object(); 
$id2 = $fetch_check->id; 

if($num_check) { 
// User Exists 
echo $id2; 
} else { 
echo "You don't exist." 
} 

請注意,通常情況下,我只想回應$id。然而,OP請求從數據庫回顯ID,所以我回應$id2

+1

OP希望從數據庫中「回顯那裏的ID」。登錄是基於電子郵件和密碼。用戶名不存在(在OP問題中,可能在db中存在)。 – fusion3k

+1

在我的代碼我檢查用戶是否存在,然後我想到那裏ID –

+0

@ user6042879請參閱更新的代碼。這回答了你的問題了嗎?如果不是,我可以添加什麼? –

相關問題