如何解决为什么这个 get 函数不接收变量 car?
*quick_searches.php
此代码项类似于在上一页上进行的搜索。然后应该将列出的特定品牌保存到汽车中。
<?php
include 'header.php';
?>
<h1>Search Page</h1>
<p>Could change to OR for broadness</p>
<div class="article-container">
<?php
if (isset($_POST['submit-search'])){
$time = mysqli_real_escape_string($conn,$_POST['time']);
$brand = mysqli_real_escape_string($conn,$_POST['brand']);
$cars = mysqli_real_escape_string($conn,$_POST['cars']);
$location = mysqli_real_escape_string($conn,$_POST['location']);
$sql = "SELECT * FROM classic_cars WHERE time LIKE'%$time%' AND brand LIKE '%$brand%' AND
cars LIKE '%$cars%'AND location LIKE '%$location%'";
$result = mysqli_query($conn,$sql);
$queryResult = mysqli_num_rows($result);
echo "There are ".$queryResult." results!";
if ($queryResult > 0) {
while ($row = mysqli_fetch_assoc($result)){
echo '<a href="test.php?car = '.$row['brand'].'">
<h3>'.$row['brand'].'</h3></a>
<p>'.$row['time'].'</p>
<p>'.$row['brand'].'</p>
<p>'.$row['cars'].'</p>
<p>'.$row['location'].'</p>
';
}
} else {
echo "There are no results matching your search!";
}
}
?>
</div>
test.php
这部分代码应该得到 car = '.$row['brand'].'来自 quick_searches.php 并显示它。
<?php
echo $_GET['car'];
?>
解决方法
因此您的网址在参数值周围有空格 - 这些已被网址编码为 %20。
如果您url_decode()
看到网址:
localhost:8080/classiccars/test.php?car = Ford
如果您可以更新 URL 以消除那些空格,那将是更可取的。
或者,尝试请求 $_GET['car ']
而不是 $_GET['car']
并确保 trim()
您返回的值从一开始就占用空间。
如果您不需要空格并且可以控制更改内容,通常最好不要在 URL 中包含空格。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。