[英]Google Charts Not working on Desktop Browsers, but fine on Mobile Browsers
[英]mobile browsers bypassing elseif statements but working fine on desktop and local host
在確認密碼/用戶名正確之后,我有一組非常簡單的elseif語句來使用標題重定向用戶。 如預期的那樣,它在localhost和所有桌面瀏覽器上均能完美運行。 (如果toms密碼正確,則tom進入管理頁面/其他正確的密碼進入其分配的頁面)
但是,在移動設備上運行時,它會跳到else語句。 (如果toms密碼正確,則tom進入主頁(錯誤頁面)/其他正確的密碼進入主頁,而不是分配給他們的頁面)
我嘗試將所有語句更改為if而不是elseif(如另一個堆棧溢出問題中所述)
警告:我意識到這是不安全的,並且為了安全起見打算包含准備好的語句/密碼哈希。 但是,在繼續之前,我需要弄清楚這一點。
我花了幾個小時試圖找出原因,並嘗試了許多變體。 我希望這只是我看不到的簡單事物。
我是使用PHP的新手,所以如果這真的很明顯,請保持柔和。 我已經花了很多時間試圖通過本網站和其他網站弄清楚這一點,並且我也嘗試着盡可能多地學習。
提前致謝.....
<?php
session_start();
if (isset($_POST['submit'])) {
include_once 'dbh.inc.php';
$name = mysqli_real_escape_string($conn, $_POST['name']);
$pwd = mysqli_real_escape_string($conn, $_POST['pwd']);
//error handlers
//check for empty fields
if (empty($name) || empty($pwd) ){
header("Location: ../index.php?entry=empty");
exit();
} else {
// check if input characters are valid
if (!preg_match("/^[a-zA-Z]*$/", $name) || !preg_match("/^[a-zA-Z]*$/", $pwd)) {
header("Location: ../index.php?entry=invalid-entry");
exit();
} else {
$sql = "SELECT * FROM users WHERE user_name='$name' AND user_pwd='$pwd'";
$result = mysqli_query($conn, $sql);
$resultCheck = mysqli_num_rows($result);
if ($resultCheck < 1) {
header("Location: ../index.php?login=error");
exit();
} else {
if ($row = mysqli_fetch_assoc($result)) {
$_SESSION['u_name'] = $row['user_name'];
$_SESSION['u_pwd'] = $row['user_pwd'];
if ($name == 'tom') {
header("Location: ../admin.php?login=success");
exit;
} elseif ($name == 'dick') {
header("Location: ../page_one.php?login=success");
exit;
} elseif ($name == 'harry') {
header("Location: ../page_two.php?login=success");
exit;
} elseif ($name == 'joe') {
header("Location: ../page_three.php?login=success");
exit;
} elseif ($name == 'bloggs') {
header("Location: ../page_four.php?login=success");
exit;
} else {
header("Location: ../HOME.php?login=success");
exit;
}
}
}
}
}
} else {
header("Location: ../index.php");
exit();
}
我認為這與移動瀏覽器無關,因為PHP腳本是在服務器上執行的。
另一方面,當您在大多數移動設備上鍵入內容時,默認情況下首字母為大寫字母,並且支票區分大小寫。 您確定在手機上寫“ tom”而不是“ Tom”嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.