ユーザーのセッションを設定するのに問題があります。ローカルホストでは機能していますが、オンラインでは機能しません。
's'というユーザー名を持っていて、何が問題なのかを確認するためのページを作成しました
これがコードです。test.php
<?php
session_start();
require 'connect.php';
$username = @$_POST['username'];
?>
<div class="center_body">
<div class="search_field">
<form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<td align="left">username:</td>
<td align="right"><input type="text" name="username" class="search" /></td>
</tr>
</table>
<input type="submit" value="log in" class="search" /></p>
</form>
</tr>
</div>
</div>
<?php
$result = mysql_query("SELECT username FROM users WHERE username='$username'") or die(mysql_error);
while($row = mysql_fetch_assoc($result))
{
$user = $row['username'];
}
if($username == $user)
{
echo '<div class="search_field"><b>you have logged successfully</b></div></ br>';
$_SESSION['username'] = $username;
}
if(isset($_SESSION['username']))
{
echo $_SESSION['username'];
}
?>
上記のコードのように、それは機能し、ユーザー名を印刷することもできます。しかし、test.phpを編集すると
<?php
session_start();
require 'connect.php';
if(isset($_SESSION['username']))
{
echo $_SESSION['username'];
}
?>
これで、セッションが正常に作成されたため、このページにユーザー名が表示されます。しかし、何も印刷されないため、セッションが機能していないようです
何が問題なの?
編集:connect.php
<?php
$connect = @mysql_connect("localhost","root","") or die("error in connection");
$select = @mysql_select_db("abc") or die ("no databse selected");
?>
もちろん、ホストデータベースに接続するようにデータを変更しました