私は Facebook でアプリを作成しました。データベースに正しい情報を挿入しようとしています。情報が挿入されますが、コードのセッションで問題が発生しました (ユーザーの facebook セッションではありません)。2 つの異なるマシンが iframe アプリに入った場合、1 つのセッションのみが作成され、製品の修正が保存されないようです。
ここ: (最初のページ) - product-check.php セッションを開始します。
session_start();
次に (2 ページ目) - form.php :
require 'facebook.php';
session_start();
if (isset($_REQUEST['product']) == NULL)
{
header ("location: product-check.php");
}
else
{
$product = $_REQUEST['product'];
//let's start the session
//Posted Values stored in session
$_SESSION['product'] = $product;
次に、3 ページ目に、製品チェックとフォームの両方のページの値を挿入します。
session_start();
$link = mysql_connect('With the right credentials') or die(mysql_error());
mysql_set_charset('utf8',$link);
$db_selected = mysql_select_db('application', $link);
$product = mysql_real_escape_string($_SESSION['product']);
if (isset($_POST['name'])){$name = mysql_real_escape_string($_POST['name']);}
if (isset($_POST['surname'])){$surname = mysql_real_escape_string($_POST['surname']);}
if (isset($_POST['email'])){$email = mysql_real_escape_string($_POST['email']);}
if (isset($_POST['term'])){$accept_terms = mysql_real_escape_string("N");}else{$accept_terms = mysql_real_escape_string("Y");}
if (isset($_POST['contact'])){$accept_newsletter = mysql_real_escape_string("Y");}else{$accept_newsletter = mysql_real_escape_string("N");}
$query_insert = "INSERT INTO app(database fields)
VALUES(the above values i have declared)";
$result = mysql_query($query_insert);
mysql_close($link);
session_destroy();
それだけです。しかし、product-check.php のすべての製品がデータベースに表示されるわけではありません。