1

我有一个网站,其中有以下文件:- index.php - 主页

f-login.php - 将用户重定向到 facebook 以请求权限的页面

add.php - 下面给出 - 此页面检查用户是旧用户还是新用户。如果用户是新用户,它将页面重定向到 username-choice.php 或者在设置所需的 cookie 后将用户重定向到主页。

username-choice.php - 此页面供新用户为自己选择用户名。如果设置了 cookie -“tempuid”,它会显示正确的页面,否则会显示“COOKIES 未启用!”的错误页面。

问题是在 username-choice.php 页面中显示了错误消息。我无法理解这个问题。我已经给出了 add.php 页面的代码。请告诉我有什么问题。任何帮助将不胜感激。

以下是我的 add.php 页面:-

<?php
include "config.php"; /* contains mysqli_connect */
require "src/facebook.php"; /* for facebook login php-sdk */
include "app_details.php"; /* app-id and secret */
$user = $facebook->getUser();
if ($user) {
  try {
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    error_log($e);/* ERROR TO BE DISPLAYED */
    $user = null;
  }
}

$uid=$user_profile['id'];
$email=$user_profile['email'];
$fullname = $user_profile['name'];
$birthday = $user_profile['birthday'];

if($uid==null){
echo "Sanp! Something went wrong";
}

$n=0;
$result = mysqli_query($con,"SELECT * FROM Users
WHERE UID='$uid'");
/* TO CHECK IF THE USER IS NEW OR OLD*/
while($row = mysqli_fetch_array($result))
{
$n++;
$username=$row['Username'];
$ppic=$row['Ppic_url'];
  }

if($n>0)
{

  $expire=time()+60*60*24*30;
  setcookie("name"  , "$fullname", $expire);
  setcookie("uid"  , "$uid", $expire);
  setcookie("logintype", "facebook", $expire);
  setcookie("username", "$username", $expire);
  setcookie("ppic", "$ppic", $expire);
header("Location: http://mysite.com");
exit;
}
else if($n==0)
{

  $expire=time()+60*60*24*30*365;
  setcookie("tempname", "$fullname", $expire);
  setcookie("tempuid"  , "$uid", $expire);
  setcookie("tempemail", "$email", $expire);
  setcookie("tempbday", "$birthday", $expire);
  setcookie("tempppic", "$ppic", $expire);

header("Location: http://mysite.com/username-choice");
exit();

mysqli_close($con);
}

?> 
4

1 回答 1

1

这意味着程序将进入最后一个 if 语句。现在,只有当 uid 为空时,您的网页才能显示“COOKIES NOT ENABLED”。所以,根据我的说法,$uid 是空的。

于 2013-07-01T16:24:15.330 回答