网址为 something.php?id = 123-10-1
如果我echo
,它只打印 123 ,但我需要它来说 123-10-1 。
我认为解决方案非常简单,但我没有看到它。
答案 0 :(得分:2)
当然,您将把完整的参数存储在GET数组中。你没有做错任何事。错误应该在其他地方。尝试使用:
var_dump($_GET);
$equal = ('123-10-1' == $_GET['id']);
var_dump($equal);
看看有什么问题...... Echo不是最好的打印功能,但是,它也应该打印完整的论点......
更新 - 注意
在我们知道错误之后:
$id = isset($_GET['id']) ? (int)$_GET['id'] : '';
我会建议这样的事情:
// Set part of the code
$id = isset($_GET['id']) ? $_GET['id'] : '';
// Verification part of the code
if (!is_numeric($id) && $id != '') {
throw new Exception('ID must be numeric.');
}
if ($id == '') {
// ID was not set in the url. Maybe there should be another action here?
}
在这种情况下,你完全可以控制这里发生的事情。 Modyfing GET值或POST值"在飞行中"不是好习惯。 我希望它有所帮助。
答案 1 :(得分:2)
答案 2 :(得分:0)
尝试使用<a href="something.php?id=123-10-1">
之类的锚标记,它将回显123-10-1
答案 3 :(得分:0)
您正在搜索函数urlencode,该函数编码要在URL的查询部分中使用的字符串。
答案 4 :(得分:0)
这是我的代码。
$id = $_GET['id']
echo $id; //123
它只打印'123'。
但是
echo $_GET['id']; //123-10-1
打印出来。看起来很怪异,因为它应该首先起作用,但它现在有效。 要检查我的php.ini,看看这是什么。
答案 5 :(得分:0)
我试过你的代码给我正确的答案
- <?php echo $_GET['id']; ?>
输出123-10-1