我不知道如何解释这个,但我会尽力解释它。
我正在用php开发我的网站。所以我在Search文件夹
中创建了一个index.php文件因此,如果我必须搜索任何像'good'这样的词,那么它的地址就是
http://127.0.0.1/Website/search/?search=dh
现在,如果我尝试访问
http://127.0.0.1/Website/search/
我的网页上出现错误
Undefined index: search
因为它无法找到我用来获取输入类型值的$ _GET [“search”]变量。
我有什么方法可以制作这个网址
http://127.0.0.1/Website/search/something
被解释为
http://127.0.0.1/Website/search/?search=something
答案 0 :(得分:2)
Undefined index: search
"因为它无法找到我的$ _GET ["搜索"]" :然后检查变量是否存在:
if (isset($_GET['search'])) {
// use $_GET['search'];
}
对于第二个问题,您可以使用" mysite.com/Website/search/something"使用htaccess进行URL重写。 在SO或Google上搜索这些术语,你会发现很多很好的教程。
答案 1 :(得分:2)
对于第一个问题:使用isset()
检查在使用之前是否已定义$_GET['search']
。
对于第二个问题:使用带有规则
的.htaccess
文件
RewriteRule ^/search/(.+)$ /search/?search=$1 [L,R]
答案 2 :(得分:1)
你得到了:
Undefined index: search
错误,因为您没有检查变量是否存在。
要做到这一点,你可以在下面做一个简单的if语句:
if(isset($_GET['search'])) {
// search index exists
}
要更改您的网址,您需要使用网址重写,这里有一篇很好的文章:http://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/
答案 3 :(得分:0)
您应该在apache中使用重写规则:http://httpd.apache.org/docs/2.0/misc/rewriteguide.html 在你的脚本中删除部分代码阅读"搜索" param并阅读$ _SERVER [' REQUEST_URI'],解析它以通过" seach"部分在URL中,然后阅读它。