[英]PHP Login form doesn't redirect to another page
驗證過程運行良好,但不會重定向到新的“ profile.php”頁面。 請讓我知道我要去哪里了。
這是html表單。
<form name = "fomu_kuingia" action = "<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method = "POST">
<br><br> Barua pepe: <input type="text" name="baruapepe" />
<span class = "error" style = "color: #DC143C;"> <?php echo $tatizo; ?></span>
<br><br> Neno la siri: <input type="password" name="nenosiri" />
<span class = "error" style = "color: #DC143C;"> <?php echo $tatizo1; ?></span>
<br><br><input type="button" value="Nimesahau" name="nimesahau" /><input type="submit" value="Ingia " name="ingia " />
<span class = "error" style = "color: #DC143C;"> <?php //echo $jinaErr; ?></span>
</form>
這是獲取數據的php函數(電子郵件/已通過)
<?php
//$pepe = " ";
// $siri = " ";
function take_data()
{ $pepe = "";
$siri = "";
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
if (empty ($_POST["baruapepe"])||empty ($_POST["nenosiri"]))
{ echo "<font color = '#DC143C' > TATIZO: Tafadhali ingiza barua pepe au neno siri </font>" ; }
else { $pepe = verify($_POST["baruapepe"]);
$siri = verify($_POST["nenosiri"]);
kuingia ($pepe, $siri); }
}
}
?>
這里是否有驗證數據的功能; php功能;
<?php
//$pepe = " ";
// $siri = " ";
function verify ($data)
{
$data = trim ($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
最后,該功能將檢查日志(電子郵件,密碼)詳細信息並重新定向到新頁面。
<?php
//$pepe = " ";
// $siri = " ";
function kuingia ($pp, $sr)
{
$con = mysql_connect('localhost', 'root', 'root');
if (!$con)
{ echo "Connection was not possible ";}
else
{
mysql_select_db('DalaliOnline', mysql_connect('localhost', 'root', 'root'));
$result = mysql_query("select jina1, jina2 from watumiaji where barua_pepe = '$pp' and neno_siri = '$sr' ");
if (!$result)
{ echo "Tatizo la mysql"; }
else if (mysql_num_rows($result)== 0)
{ echo "<font color = '#DC143C' > TATIZO: Barua pepe au neno siri vimekosewa </font>" ; }
else
{ header ("Location:profile.php");
echo "umefanikiwa kuingia"; }
}
}
?>
您的header()
調用正在發送Location
標頭的相對路徑。
根據PHP文檔header()
,HTTP / 1.1規范需要一個絕對URL:
HTTP / 1.1需要絕對URI作為»位置的參數:包括方案,主機名和絕對路徑,但是某些客戶端接受相對URI。 通常,您可以使用$ _SERVER ['HTTP_HOST'],$ _ SERVER ['PHP_SELF']和dirname()從您自己的親戚那里創建絕對URI
它看起來像你還缺少冒號之間的空間( :
)和頭的內容。
另一個常見的陷阱(盡管我在上面的代碼中沒有看到它)是,如果您已經將任何輸出發送到瀏覽器,則無法調用header()
。
標頭位置應該是絕對網址,並且Location:
和網址之間應該有一個空格 ,即;
header ("Location: http://yoursite.com/profile.php");
另外,在發送該標頭之前,請確保沒有任何內容輸出到瀏覽器。
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.