我有一个简单的问题。
是否可以做这样的事情?
选项是基于foreach循环动态生成的。我希望循环停止在$ _GET ['t']等于$ k的位置并将其选中。
<option value="http://domain.com/<?php print $k; ?>/" <?php if ($k == $_GET['t']) print 'selected'; ?>><?php print $v; ?></option>
基本上有一种方法可以根据地址栏上提供的$ _GET [t']值选择/突出显示选项..我试过了,我得到了未定义的索引:t错误。
我错过了什么吗?非常感谢。
答案 0 :(得分:2)
您收到未定义的错误,因为“{”不在您的$_GET
请求中。
确保您拨打的是正确的网址(即:example.com/script.php?t=test)
确保使用isset($_GET['t'])
答案 1 :(得分:1)
你几乎得到了 - 实际上选择了xhtml =“选中”
<option value="http://domain.com/<?php print $k; ?>/" <?php if ($k == $_GET['t']) print 'selected="selected"'; ?>><?php print $v; ?></option>
答案 2 :(得分:1)
高于亚当指出的,你是否通过实际传递“t =某事”进行测试?这段代码应该通过测试来消除错误,看看是否先设置了t:
<option value="http://domain.com/<?php print $k; ?>/" <?php if (isset($_GET['t']) && $k == $_GET['t']) print 'selected="selected"'; ?>><?php print $v; ?></option>
答案 3 :(得分:1)
您不应该使用GET来更改页面上的表单值。您应该使用POST:)
这样一来,如果有人抓取您的网页,他们就不会有相同页面的10倍而只更改了选择框:)