0
我在這裏做錯了什麼?PHP查詢字符串與陣列
firstpage.php
<html>
<body>
<?php
if (!isset($_GET['error']))
$error=array();
else
$error = $_GET['error'];
?>
<script>
function clearText(field){
if (field.defaultValue == field.value) field.value = '';
else if (field.value == '') field.value = field.defaultValue;
}
</script>
<?php
foreach($error as $key => $value){
if ($value != '')
echo '<p style="color:red;">', $value, '</p>';
}
?>
<form method="GET" action="validar.php">
First Name: <input type="text" name="firstname" value="first name here" onFocus="clearText(this)" onBlur="clearText(this)"> <br>
Last Name: <input type="text" name="lastname" value="last name here" onFocus="clearText(this)" onBlur="clearText(this)"> <br><br>
<input type="submit" value="SEND">
</form>
</body>
</html>
secondPage.php
<?php
# confirmation.php
$firstname = $_GET['firstname'];
$latname = $_GET['lastname'];
?>
<html>
<body>
<h3>Congratulations <?php echo $firstname; $lastname; ?>, you have been successfully registered</h3>
</body>
</html>
validar.php
<?php
$firstname = $_GET['firstname'];
$lastname = $_GET['lastname'];
$error['firstname'] = '';
$error['lastname'] = '';
$firstPage = "firstPage.php";
$secondPage = "secondPage.php";
$server_dir = $_SERVER['HTTP_HOST'] . rtrim(dirname($_SERVER['PHP_SELF']), '/\\') . '/';
if($firstname == "first name here"){
$firstname == "";
$error['firstname'] = 'Please introduce firstname <br>';
}
if($lastname == "last name here"){
$lastname == "";
$error['lastname'] = 'Please introduce last <br>';
}
if($error == ''){
$query_string = '?firstname=' . $firstname;
header('Location: http://' . $server_dir . $secondPage . $query_string);
}
else {
$query_string = http_build_query($error);
header('Location: http://' . $server_dir . $firstPage . $query_string);
}
?>
錯誤消息:訪問被拒絕!我是PHP的新手,所以我不知道如何構建一個多字段錯誤的查詢字符串。我正在做一個關鍵字爲「字段值」的數組,因爲我認爲它更容易。但我不是這是最好的方法,即使是這樣,我不確定我是否做得很好。任何幫助,將不勝感激, 約翰
您是否從Web服務器獲取訪問被拒絕(403)?回顯傳遞給你的'header()'調用''Location:http://'的字符串的結果。 $ server_dir。 $ firstPage。 $ query_string'確保它是一個有效的URL,並且在你期望的位置 –
「拒絕訪問」是什麼時候?用戶執行什麼操作,以及您在哪裏看到「訪問被拒絕」?這不太可能與查詢字符串有關。 –
輸出:位置:http://localhost/php_teste1/treino/firstPage.phpfirstname=Please+introduce+firstname+%3Cbr%3E&lastname=Please+introduce+last+%3Cbr%3E – portoale