2013-01-11 67 views
1

遇到问题以下代码。在出现的两个错误消息是登录问题 - 没有任何数据的登录成功

Notice: Use of undefined constant myusername - assumed 'myusername' in C:\Program Files\wamp\www\login_success.php on line 3 

Deprecated: Function session_is_registered() is deprecated in C:\Program Files\wamp\www\login_success.php on line 3 
Login Successful 

但仍显示登录那样成功,即使没有最初输入的信息。

你在任何地方的帮助将不胜感激。

HTML

会员登录 用户名 : 密码 :    

CSS

<?php 

$host="localhost"; 
$username="root"; 
$password=""; 
$db_name="Hockey Club"; 
$tbl_name="members"; 


mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 


$myusername=$_POST['username']; 
$mypassword=$_POST['password']; 


$myusername = stripslashes($myusername); 
$mypassword = stripslashes($mypassword); 
$myusername = mysql_real_escape_string($myusername); 
$mypassword = mysql_real_escape_string($mypassword); 

$sql="SELECT * FROM members WHERE username='$myusername' and password='$mypassword'"; 
$result=mysql_query($sql); 


$count=mysql_num_rows($result); 



if($count==1){ 


session_register("myusername"); 
session_register("mypassword"); 
header("location:login_success.php"); 
} 
else { 
echo "Wrong Username or Password"; 
} 
?> 

和 - login_success.php

<?php 
session_start(); 
if(!session_is_registered(myusername)){ 
header("location:main_login.php"); 
} 
?> 

<html> 
<body> 
Login Successful 
</body> 
</html> 
+0

您使用许多deprecat编辑功能。'session_register'和'session_is_registered'不赞成使用'$ _SESSION [$ name] = $ value;'和'isset($ _ SESSION [$ name])'。 –

回答

3
if(!session_is_registered(myusername)){ 

你忘了使用引号。 请对您的代码进行基本的调试。

所以:

if (!session_is_registered('myusername')) { 

而且,作为警告指示,session_is_registered在你的PHP版本过时,事实上在新版本中删除请阅读文档。

相反:

if (!isset($_SESSION['myusername'])) { 
+0

[编辑 - 我在车轮上睡着了] – glomad

+1

不,我的社交生活是一个可笑的玩笑。 – glomad

0

你应该使用session_is_registered()

变化

session_register("myusername"); 
session_register("mypassword"); 

$_SESSION['myusername'] = $username; 
$_SESSION['mypassword'] = $password; 

if(!session_is_registered(myusername)){ 

if(!isset($_SESSION['myusername'])) { 
+0

感谢您的帮助 [link] $ _ SESSION ['username'] = $ myusername]; $ _SESSION ['password'] = $ mypassword]; 但是,这显示为解析错误 – Richard

+1

@Richard:修复了Gurrewe的错字。 –

+0

此更改奏效,谢谢,但它仍然提交零数据登录成功。 – Richard