2016-03-11 31 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请参阅更新的代码。这回答了你的问题了吗?如果不是,我可以添加什么? –

相关问题