![](/img/trans.png)
[英]How to make an IF ELSE condition in PHP and MySQL query with user LOGIN info
[英]Login php if else condition for 2 database table
大家好,我認為這對每個人都是一個好問題。
我試圖做一個登錄頁面。 但是我有一個問題。 我的數據庫中有2個用戶表 。 第一用戶表用於普通用戶 , 第二用戶表用於vip用戶 。
下代碼為普通用戶使用。 我想確定電子郵件和密碼是否用於VIP用戶,然后打開vip_user_profile.php,如果不是電子郵件和密碼是VIP用戶,則檢查普通用戶表中是否有電子郵件和密碼,然后打開normal_user_profile.php ,我該怎么做。 有人可以幫助我嗎?
我可以在我的登錄php代碼中添加代碼嗎?
我的代碼是這個。
<?php
include("includes/connect.php");
if(isset($_POST['login'])){
$email = $_POST['email'];
$password = $_POST['pass'];
$check_user = "SELECT * FROM users WHERE password='$password' AND email='$email'";
$run = mysql_query($check_user);
if(mysql_num_rows($run)>0) {
echo"<script>window.open('normal_user_profile.php','_self')</script>";
}
else {
echo"<script>alert('email or password is incorrect!')";
}
}
?>
如果您堅持將信息存儲在兩個表中,則仍然可以使用一個查詢來獲取數據。 有很多方法可以做到這一點,但是您可能會發現以下一種有趣的方法:
select
sum(usertype) as usercheck
from
( select nu.username, nu.password, 1 as usertype
from NormalUser nu
union all
select vu.username, vu.password, 2
from VipUser vu
) u
where
u.username = '$username' and
u.password = '$password'
此查詢將返回單個整數字段,該字段可以具有以下兩個值之一:
請注意,在1和2的情況下,仍然可能存在相同的用戶名,但密碼不同。
現在,要解決此問題,您可以將所有用戶放在一個表中並為他們提供用戶類型。 您可以創建許多額外的列,可以將其留空。 如果您確實希望將該信息存儲在單獨的表中(並且有很好的參數),則仍可以使用基本用戶信息(例如,用戶名和密碼)創建一個表。 然后,在VipUsers表中,您不存儲用戶名和密碼,而僅存儲用戶的ID和其他信息。 此用戶ID應該是兩個Users
表的主鍵,也就是VipUsers
表。 另外,它應該是VipUsers中的外鍵,引用用戶,這樣,如果沒有基本的用戶信息,就無法擁有孤立的VipUser記錄。
但是,我會選擇具有類型和可為空字段的單個表。 而且,我覺得這種感覺也更適合您當前的技能水平。
嗨,我認為這可以幫助您。 我已經閱讀了您所有的問題。 您有兩種類型的用戶。 但是, 用戶在中的情況有所不同 。 真實商家名稱。 您需要集中精力。 *如果用戶登錄到您的網站時使用此名稱,則其配置文件會自動打開vip_user_profile.php。當然,您必須在代碼中使用它。*
這對您來說很容易使用。 為您的VIP用戶header("vip_user_profile.php");
或header("normal_user_profile.php");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.