[英]PHP can't find variable
因此,Im從ASP到PHP相對較新。 在將大量ASP代碼轉換為PHP之后,我遇到了一個問題,即我的PHP代碼似乎找不到我設置的隱藏變量。 它在ASP中運行良好,只是想知道解決此問題的最佳方法。
表格開始:
<form name="LogIn" action="login.php" method="post">
<td bgColor=#ffffff>
<table align="center" cellSpacing="2" cellPadding="2" border="0">
<tr>
<td> </td>
<td align="right"><font color="#4d71a1">User name:</font> </td>
<td><input name="UserName" size="25" type="Text" autocomplete="OFF"></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td align="right"><font color="#4d71a1">Password:</font> </td>
<td><input name="Password" size="25" type="Password" autocomplete="OFF"></td>
<td> </td>
</tr>
PHP腳本:
<?
if ($_POST["BtnPress"]=="Pressed")
{
if ($_POST["Username"]=="*****" && $_POST["password"]=="*********")
{
$_SESSION['AdminID']="1";
header("Location: "."index.php");
}
else
{
print "<font color=#ff0000>Sorry you cannot access this part of the site.</font>";
}
}
?>
然后剩下的表格:
<tr>
<td align="center" colspan="4">
<input type="hidden" name="BtnPress" value="Pressed">
<input type="Submit" value="Log In" class="mybutton" onclick="return CheckForm();">
</td>
</tr>
</table>
</td>
</form>
PHP似乎無法找到變量BtnPress,這在我將ASP轉換為PHP腳本的整個過程中都是類似的問題。 抱歉,如果這是一個簡單的解決方案,但是誰能告訴我我要去哪里錯了?
您有name="Password"
和$_POST["password"]
Password
!= password
小心點
<form name="LogIn" action="login.php" method="post">
<td bgColor=#ffffff>
那是無效的HTML。 <td>
元素不能是<form>
的子元素。 瀏覽器很可能會以破壞HTML的方式來恢復錯誤(例如,通過將表格而不是表格的內容移到表外)。 請使用驗證器 。
可能不是問題原因的東西,而可能是其他問題的原因。
不要使用隱藏的輸入來測試是否提交了表單。
采用:
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// processing of $_POST
}
提交按鈕的名稱應為“ BtnPressed”,而不是隱藏字段。 我要做的是將表單操作設置為?id = submit或類似的內容,然后檢查“如果$ _GET ['id'] ==” submit”,然后處理數據。
<form action="login.php?do=submit">
.... <input .....
</form>
<?php
if($_GET['do'] == "submit"){
//process data
} ?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.