[英]session_start() doesn't work online
我在為用戶設置會話時遇到問題。 它在我的本地主機上正常工作,但在網上卻無法正常工作。
我有一個名為“ 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");
?>
當然,我更改了數據以將其連接到主機數據庫
試試吧:
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
$result = mysql_query("SELECT username FROM users WHERE username='$username' LIMIT 1") or die(mysql_error);
while($row = mysql_fetch_assoc($result))
{
if($username == $row['username'])
{
echo '<div class="search_field"><b>you have logged successfully</b></div></ br>';
$_SESSION['username'] = $username;
break;
}
}
}
好的,因為我以為是我的托管網站提供的。
支持人員告訴我“我已經為您的帳戶設置了session.save_path”。 問題就解決了。
非常感謝你們,尤其是Danial :)
祝你好運 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.