我對這個網站不熟悉,請原諒我,如果我做錯了什麼。我一直在尋找互聯網上的解決方案,而且我沒有發現任何可以解決我的問題的解決方案。禁用拖放HTML元素時,PHP表單提交無法正常工作
我來這裏有一個有趣的問題。這是事情。
我有一個與MySQL一起工作的登錄「系統」。現在,登錄表單的HTML部分看起來是這樣的:
<form id="loginForm" method="POST" action="login.php">
<table>
<tr>
<td>Username:</td>
<td><input type="text" name="username" class="textInput" placeholder="Type here your username"></td>
</tr>
<tr>
<td>Password:</td>
<td><input type="password" name="password" class="textInput" placeholder="Type here your password"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="submit" class="Login" value="Log in"></td>
</tr>
<tr>
<td></td>
<td><a ondragstart="return false;" href='register.php'>Don't have an account? Create one!</a></td>
</tr>
</table>
</form>
我在的「a」標籤禁用拖動鏈接,因爲我不希望用戶能夠拖放在他們的鏈接瀏覽器,可以通過瀏覽器訪問應用程序,因爲這是一個CEF應用程序。 。
現在,當我使用該代碼上述禁用拖着我將無法登錄 這裏的PHP代碼:
<?php
$username = mysqli_real_escape_string($conn, $_POST['username']);
$password = mysqli_real_escape_string($conn, $_POST['password']);
if(isset($_POST['submit']))
{
if(empty(trim($_POST['username'])) || empty(trim($_POST['password'])))
{
echo "<script type='text/javascript'>Alert.render('You must provide a valid username and password to log in.', 'Login Process');</script>";
}else{
$sqlCode = "SELECT * FROM members WHERE username='$username'";
$result = $conn->query($sqlCode);
$logincount = mysqli_num_rows($result);
if($logincount > 0)
{
while($row = mysqli_fetch_assoc($result))
{
if($row['isBanned'] == 1)
{
echo "<script type='text/javascript'>Alert.render('This user is banned, thus you cannot log in.', 'Login Process');</script>";
}else{
if($username == $row['username'] && $password == $row['password'])
{
if($row['isAdmin'] == 1)
{
$isAdmin = true;
@$_SESSION['isAdmin'] = $isAdmin;
}
@$_SESSION['username'] = $username;
$userid = $row['user_id'];
@$_SESSION['userid'] = $userid;
header('location:news.php');
}else{
echo "<script type='text/javascript'>Alert.render('Your username or password is incorrect.', 'Login Process');</script>";
}
}
}
}else{
echo "<script type='text/javascript'>Alert.render('We are sorry, but the user does not exist.', 'Login Process');</script>";
}
}
}
mysqli_close($conn);
?>
如果我輸入不正確的憑據或不輸入任何內容所有,它會顯示彈出窗口。一切正常,直到我提供正確的憑據。在這種情況下,它不會讓我進來,只是將重新加載頁面。我做錯了什麼?我一直在試圖解決這個問題,但它不會工作。在光明的一面,禁用拖動工作的腳本,但它會使登錄系統不能。
我是PHP編程的初學者,我希望我不會很害羞。 :)
感謝您提前給出答案! :)
編輯:我不認爲它是@ $ _ SESSION而不是$ _SESSION,因爲當'a'標籤中沒有該事件時,兩者都可以正常工作。
對我來說,你輸入的是'''@ $ _ SESSION''',它應該是'''__SESSION''' – Wanjia
@是我500年前一直使用的東西,它如果未定義,則不會發出警告。當你有警告時。而且,IIRC當然。 – deg