1

私は次のファイルがあるウェブサイトを持っています:- index.php - ホームページ

f-login.php - ユーザーを Facebook にリダイレクトして許可を求めるページ

add.php - 以下に示します - このページは、ユーザーが古いか新しいかをチェックします。ユーザーが新規の場合、ページを username-choice.php にリダイレクトするか、必要な Cookie を設定した後にユーザーをメイン ページにリダイレクトします。

username-choice.php - このページは、新規ユーザーが自分のユーザー名を選択するためのものです。Cookie - 「tempuid」が設定されている場合、正しいページが表示されます。設定されていない場合は、「COOKIES ARE NOT ENABLED!」というエラー ページが表示されます。

問題は、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