2

ログイン スクリプトを作成しようとしていますが、このエラーが発生しました Undefined variable: _session ページの下を参照してください

//checklogin.php

<?php

ob_start();
$host="localhost"; // Host name 
$username="xxxxx"; // Mysql username 
$password="xxxx"; // Mysql password 
$db_name="test"; // Database name 
$tbl_name="members"; // Table name 

// Connect to server and select databse.

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

// Define $myusername and $mypassword 

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

// To protect MySQL injection (more detail about MySQL injection) 

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

// Mysql_num_row is counting table row

$count=mysql_num_rows($result);

// If result matched $myusername and $mypassword, table row must be 1 row

if($count==1){

// Register $myusername, $mypassword and redirect to file "login_success.php"

$_session['name']= myusername;
$_session['pass']= mypassword; 
header("location:login_success.php");
}
 else {
echo "Wrong Username or Password";
}
ob_end_flush();
?>

//login_success.php

// Check if session is not registered, redirect back to main page. 
// Put this code in first line of web page. 
<?php
session_start();
if(!$_session['name']= myusername){
header("location:main_login.php");
}
?>

<html>
<body>
Login Successful
</body>
</html>
4

2 に答える 2

3

ページの上部にも追加する必要はあり$_SESSIONません$_sessionsession_start()

PHPドキュメントから

PHP の変数は、ドル記号の後に変数名が続く形で表されます。変数名は大文字と小文字が区別されます。

于 2012-09-26T15:11:31.870 に答える
2

$_SESSIONは大文字で書かれます。あなたのコードでは、すべて小文字です:

if(!$_session['name']= myusername){

に変更します ( $myusername にも を追加します):

if(!$_SESSION['name']= $myusername){
于 2012-09-26T15:12:10.557 に答える