【发布时间】:2019-02-07 13:06:30
【问题描述】:
我有一个表单来提交数据,并且我正在使用以下代码作为会话变量
if(!isset($_SESSION))
{
session_start();
}
if (isset($_SESSION['product'])) {
$product = $_SESSION['product'];
if($product == "loan"){$loan='selected="selected"';} else {$loan='';}
if($product == "card"){$card='selected="selected"';} else {$card='';}
if($product == "savings"){$savings='selected="selected"';} else {$savings='';}
if($product == "morgage"){$mortgage='selected="selected"';} else {$mortgage='';}
} else { $loan = $card = $savings = $mortgage = '';}
if (isset($_SESSION['liked'])) {
$liked = stripslashes(htmlspecialchars(($_SESSION['liked'])));
} else {
$liked = '';
}
if (isset($_SESSION['disliked'])) {
$disliked = stripslashes(htmlspecialchars(($_SESSION['disliked'])));
} else {
$disliked = '';
}
表格是这样的
<form id="msform" class="form-horizontal" method="POST" action="">
<label for="product">Select product:</label>
<select name="product" id="product">
<option value="loan" '. $loan .'>Personal Loan</option>
<option value="card" '. $card .'>Credit Card</option>
<option value="savings" '. $savings .'>Savings Account</option>
<option value="mortgage" '. $mortgage .'>Mortgage</option>
</select>
<textarea rows="4" name="liked" placeholder="I really liked...">'. $liked .'</textarea>
<textarea rows="4" name="disliked" placeholder="I did not like...">'. $disliked .'</textarea>
<!-- php if statements here, if logged in show submit button if not show Facebook login button -->
<input type="submit" name="submit" class="submit action-button" value="Submit"/>
提交按钮仅对登录用户显示。如果用户未登录,则会显示 Facebook 登录按钮。当他点击它时,他会被发送到 Facebook,如果他接受应用程序的权限,他会以登录用户的身份重定向回表单。但是随后,所有字段都被清除了。如果尚未调用 GET/POST,如何将数据保存到会话变量并重新填充?
【问题讨论】:
-
用户点击Facebook登录按钮后去了哪里?使 Facebook 登录按钮 成为带有
formaction属性的提交按钮到 PHP 页面,您可以将表单输入保存到$_SESSION,然后将用户重定向到 facebook 到完成登录。
标签: javascript php forms session-variables