0

因为 PHP 不能直接在 Spotify 应用程序中使用,所以我只在我的服务器上使用它,但是我在让会话正常工作时遇到问题,甚至可以使用会话吗?

我想用它来查看用户是否在我的数据库中注册,所以我这样做:

session_start();

$query="SELECT * FROM user WHERE facebookID = {$fbid}";
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($result);
$num_results = mysql_num_rows($result);
if ($num_results > 0)
{
echo"THERE IS A USER!";
$row['facebookID'] = $_SESSION[fid];
}
else
{
 echo"THERE IS NO USER!";
}

对服务器的身份验证工作正常,但会话似乎无法正常工作,在使用一些 ajax 代码调用上述代码后,在另一个 PHP 页面上调用了女巫,我只是想试试这个:

session_start();

if(isset($_SESSION['fid']))
{
echo"SESSION EXIST";
}
else
{
echo"NO SESSION";
}

无论如何,在 Spotify 应用程序中是否有特殊的方法可以做到这一点,还是我必须以其他方式做到这一点?

4

1 回答 1

0

你在哪里设置$_SESSION[fid]为 FacebookID?

也许你应该这样做:

session_start();

$query="SELECT * FROM user WHERE facebookID = {$fbid}";
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($result);
if ($row)
{
    echo "THERE IS A USER!";
    $_SESSION['fid'] = $row['facebookID']; // SET THE FACEBOOK ID IN THE SESSION
} else {
    echo"THERE IS NO USER!";
}

顺便说一句,当您在 PHP 中访问数组时,总是在键名周围加上引号,如下所示:$_SESSION['fid']not $_SESSION[fid],否则 PHP 将首先检查名为“fid”的常量,然后转换为字符串 - 它更慢且更重要 - 更丑陋和糟糕的做法。

于 2012-10-08T09:29:08.870 回答