0

我在为用户设置会话时遇到问题。它在我的本地主机上工作,但在网上它不起作用。

我有一个名为“s”的用户名,我创建了一个页面来查看问题所在

这是代码。测试.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");

?>

当然,我将数据更改为连接到我的主机数据库

4

2 回答 2

0

试试看:

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;

        }

    }    
}
于 2012-10-07T00:31:58.497 回答
-1

好吧,伙计们,因为我认为它来自我的主机站点。

支持人员告诉我“我已经为您的帐户设置了 session.save_path。” 问题就解决了。

非常感谢你们,尤其是丹尼尔:)

祝你好运 :)

于 2012-10-08T03:09:39.787 回答