2013-04-29 34 views
0

IM当我登录页面验证我这个用户名或密码不正确,

echo "<script languge='javascript'>location.href='index.php?msg=Incorrect UserName OR Password';</script>"; 

,并使用此代码对我的索引IM。 PHP显示味精

echo $msg=$_GET["msg"]; 

但问题是,当我在对的index.php把我的用户名和密码,错误去来代替味精。

Notice: Undefined index: msg in C:\wamp\www\CIT Site\admin\index.php on line 28

好心告诉我,我如何得到默认情况下空msg和我应该如何打印它没有任何错误陈述。

由于提前

+0

当我把错误的用户名或密码,正确打印味精,但是当我访问的index.php第一次提示错误 – 2013-04-29 21:00:17

+0

..at第一有没有这样类似“味精”的事情,但未来一个它! – 2013-04-29 21:04:31

+0

@Shahjahan它说'通知',而不是一个错误..它应该通过很好。如果你想摆脱它,使用'error_reporting(0);'在您的php代码顶部.. – reikyoushin 2013-04-29 21:17:29

回答

3

您需要检查,如果该键的排列第一

if (isset($_GET['msg'])) { 
    echo $_GET['msg']; 
} 

中存在,也可以使用速记三元运算符。

$msg = (isset($_GET['msg'])) ? $_GET['msg'] : null; 
echo $msg; 

正如评论中所述,如果您只是呼应,请执行以下操作。

<?php echo (isset($_GET['msg'])) ? $_GET['msg'] : null; ?> 
+0

它给这个错误“解析错误:语法错误,意想不到的'{'在C:\ wamp \ www \ CIT站点\ admin \ index.php在线28 ” – 2013-04-29 21:04:28

+0

提供的代码中没有语法问题,这是28线吗? – philipobenito 2013-04-29 21:06:11

+0

我使用此代码“<?php \t \t \t \t \t $ msg =(isset($ _ GET [|”msg“]))?$ _GET [“msg”]:null; \t \t \t \t \t echo $ msg; ? \t \t \t \t \t>”给出了这个错误 “解析错误:语法错误,意想不到的 '|',希望在C ']':\ WAMP \ WWW \上线28 CIT网站\ ADMIN \的index.php” – 2013-04-29 21:10:44

2

首先,我认为你应该改变msg get变量的'不正确的用户名或密码'的值。将它改为其他的东西,可能是一些数字或更短的东西。 5或iup(不正确的用户名密码)。

这将是你的网址:index.php的味精= IUP

然后在index.php文件,你需要检查GET变量“味精”设置,如果它等于 IUP,设置错误变量?

<?php 
if (isset($_GET['msg'])) 
{ 
    $messageValue = $_GET['msg']; 

    if ($messageValue == 'iup') 
    { 
    //the incorrect username or password message was sent 
    $error = "Incorrect UserName OR Password"; 
    } 
} 
?> 

上面的代码应该放在HTML声明之上的文档的开头。 我们现在在html文档的主体中打开一个脚本,并在错误变量不为空时回显错误消息,检查它是否为空并且不仅仅是isset很重要,因为在这种情况下,isset将显示一个错误如果错误变量没有被赋值。

<?php 
if (!empty($error)) 
{ 
    echo '<p>' . $error . '</p>'; 
}  
?> 
+0

不错的技术兄弟,它的工作,谢谢。 – 2013-04-29 21:32:43

+0

太棒了:) – 2013-09-15 14:59:28