2013-08-19 38 views
-2

需要一些简单的PHP代码的帮助。当我尝试访问http://example.com/login.php时,它给了我一个警告“注意:未定义的索引:在第2行输入www.example.com”。但是,当试图访问http://example.com/login.php?type=InvalidLogin,一切工作正常。我的代码有什么问题。未定义索引错误。这有什么不对?

我的代码:

<? 
$type = $_REQUEST["type"]; 
if ($type == 'InvalidLogin') { 
?> 
Your login is invalid. 

<? 
} else { 
?> 
Your login is valid 
<? 
} 
?> 
+1

有1830个结果[注意:未定义指数(http://stackoverflow.com/search?q=Notice%3A+未定义+指数+%5Bphp%5D)除了搜索引擎会给你的成千上万的结果。我没有看到你的问题中有什么可以保证再次问这个问题。请在提问之前进行调查。 – Gordon

回答

2

尝试做如下:

<?php 
    if(isset($_GET["type"])) 
    { 
    $type = $_GET["type"]; 
    if ($type == 'InvalidLogin') { 
     echo "Your login is invalid."; 
    } 
    } 
    else 
    { 
    echo "Your login is valid"; 
    } 

?> 
+0

因为http://stackoverflow.com/questions/2142497/whats-wrong-with-using-request – allen213

+0

它的工作。非常感谢。 –

0

你应该使用isset($ _REQUEST [ “型”])来测试

1
$_REQUEST["type"] 

从URL http://example.com/login.php?type=InvalidLogin请求数据的索引。如果没有类型,它会得到错误,找不到'类型'。

而不使用$ _REQUEST获取数据。用$ _POST或$ _GET

+0

在这个实例中没有使用$ _GET,它来自查询字符串 – allen213

+0

@ allen213 $ _GET可以用于查询字符串。不是吗? – Namal

+0

问题意味着我们有一个查询字符串,$ _GET就是为了这个。 – allen213