1

我正在制作一个小 CMS。我目前正在编辑页面。它可以正常工作,但前提是页面的“id”小于 10(只有 1 个数字)

这是发送到 edit_page 的链接,其中预先填充了适当的内容:

<a href="edit_page.php?nav_id_trough_link=<?php echo urlencode($selected_nav['id']); ?>">Edit this page</a> </p>

(对不起nav_id_trough_link这个笨拙的名字,只是我在学习)

当我刚刚访问该页面时,在地址栏中有这样的:

http://localhost:8080/test1again/backend.php?navv=39

但是当我点击编辑链接时,将我带到edit_page.php,地址栏中会出现:

http://localhost:8080/test1again/edit_page.php?nav_id_trough_link=3

不知何故,它削减了 9 如果页面的 id 为 40,则会发生同样的情况,然后将变为 4(并使用具有 id 4 的页面的内容预先填充表单......)

有人请知道为什么会发生这种情况?

4

1 回答 1

5

错误显然在于:

<?php echo urlencode($selected_nav['id']); ?>

你确定$selected_nav是数组吗?它看起来像$selected_nav一个字符串,您像访问数组一样访问它,并且由于字符串可以作为数组访问但仅使用数字索引,'id'因此被转换为 int ( 0) 并返回第一个字符。

于 2013-06-05T16:29:49.103 回答