PHP:id号被删除,并且只保留第一个号码

时间:2013-06-05 16:23:37

标签: php

我正在做一个小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的页面内容的表单。)

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

1 个答案:

答案 0 :(得分:5)

错误显然在于:

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

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