【发布时间】:2014-10-16 05:23:29
【问题描述】:
我是 php 编程新手,所以请耐心等待。我有一些代码可以从 0 到 9 进行 while 循环,它提供了一个页面链接,并向 url 添加了一些代码,作为第 2 页上 url 的获取数据。
<?php $link_name = "Page 2"; ?>
<?php $company = "Super & Sprunklers"; ?>
<?php $id = 0;
while ($id <=10) {
if ($id < 10) {
echo "<a href=\"page2.php?id={$id}&company={$company}\">{$link_name}?id={$id}&company={$company}</a>";
echo "<br />";
} else {
echo "<a href=\"page2.php\">{$link_name}</a>";
}
$id++;
}
?>
这确实有效并为页面生成以下链接:
Page 2?id=0&company=Super & Sprunklers
Page 2?id=1&company=Super & Sprunklers
Page 2?id=2&company=Super & Sprunklers
Page 2?id=3&company=Super & Sprunklers etc... to id=9
Page 2
但是,当我查看第 2 页并看到我分配给 $id 和 $company 的两个变量的 get 数组时,因为“&”我需要进行 urlencode。这是我的第 2 页代码,当页面加载时没有变量时我收到警告,所以我在第 2 页给了它们空值。
<pre>
<?php
//print_r ($_GET);
//print_r ($GLOBALS);
$id = "";
$company = "";
if (isset($_GET['id'])) {$id = $_GET['id'];}
if (isset($_GET['company'])) {$company = $_GET['company']; }
echo $id." ".$company;
?>
</pre>
但是页面返回 0 Super
“&”之后的所有内容都丢失了。
我的问题是如果 {$company} 已经在 echo 语句中,我该如何添加 urlencode 函数。我已经编写了这段代码以使其工作:
$companyencoded = urlencode($company);
并补充
echo "<a href=\"page2.php?id={$id}&company={$company}
与
echo "<a href=\"page2.php?id={$id}&company={$companyencoded}
但这涉及到创建一个新变量,当我查看第 2 页上的 $_GET 数组时,变量 $companyencoded 不存在?
你能解释一下我做错了什么吗?
非常感谢阿萨
【问题讨论】:
-
{urlencode($company)}
-
echo "<a href...&company=".urlencode($company)."\">...</a>";怎么样? -
您不要在第二页中更改
$companyencoded。company作为获取请求的参数传递,可以使用$_GET['company']访问,就像您在第二页中编写的代码一样。 -
感谢大家的帮助。 Linial 我已经尝试过这种方法,并且第 2 页上的数组拆分使喷水器没有价值。
-
Birdspider 我也试过你的方法,但是这给了我在第 2 页上的 get 数组的类似结果,所以谢谢,但没有雪茄。