現在のスクリプトに問題があります。変数 $_SESSION['name'] をエコーしたいので、結果に名前が表示されるはずです。代わりに、名前の代わりに数字のゼロを表示するだけです。私のデータベースは複数のユーザーとユーザー名でいっぱいですが、名前の表示を拒否しています。
<?php
ob_start();
$host="127.0.0.1"; // Host name
$username="admin"; // Mysql username
$password=""; // 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['id'];
$password=$_POST['password'];
$mypassword=md5($password);
$myname = mysql_query("SELECT username FROM $tbl_name WHERE id = $myusername");
if (!$myname) {
echo 'Could not run query: ' . mysql_error();
exit;
}
// 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 id='$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 "plaza.php"
session_start();
$_SESSION['username'] = $myusername;
$_SESSION['password'] = $mypassword;
$_SESSION['name'] = $myname;
header("location:plaza.php");
}
else {
echo "Wrong Username or Password, <a href='index.php'>click here</a> return";
}
ob_end_flush();
?>
///
<?php
session_start();
if(!isset($_SESSION['name'])){
header("location:index.php");
}
?>
<html>
<head>
<title>test</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<div id="header">
</div>
<div id="main_container">
<div id="module_0">
<h1>Welkom <?php
echo $_SESSION['name'];
?>
<form action="logout.php">
<input type="submit" value="Uitloggen"/>
</form>
</div>
<div id="module_1">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque id lacus nec tortor euismod ultrices vehicula vitae tellus. Aliquam consectetur risus suscipit auctor placerat. Nunc nec imperdiet odio. Integer eu dui ut nisi dictum varius in vitae erat. Duis porta, lorem nec volutpat vulputate, nulla elit pretium tellus, vel iaculis purus lacus et lectus. Ut porttitor odio vel tempor varius. Nam id eros sed risus tincidunt pharetra. Ut ligula diam, elementum et facilisis ut, lobortis sit amet leo.
</div>
<div id="module_2">
</div>
<div id="module_3">
</div>
<div id="module_4">
</div>
<div id="module_5">
</div>
</div>
</body>
</html>
スクリプトの何が問題なのか、名前の代わりに数字の 0 が表示される理由を知っている人はいますか?