我有一个页面,用户可以在该页面上进行选择,当进行选择时,用户将被转移到一个页面 upload.php,在该页面上处理选择并将其上传到数据库。
当用户未登录时,他仍然可以在 Make_selections.php 页面上进行选择,但是当定向到 upload_selections.php 时,脚本将停止并显示一个 javascript modabox 要求用户登录在记录选择之前
//USER IS NOT LOGGED DISPLAY LOGIN MODAL
if (!isset($_SESSION['name']) && !isset($_SESSION['FBID'])) {
?>
<script type="text/javascript">
jQuery(document).ready(function() {
$.fancybox(
'<form id="register_form" method="post" action="myLoginScript.php"><label for="login_name">Email:</label><br /><input type="text" id="login_name" name="email" size="30" /><br /><label for="login_pass">Password: </label><br /><input type="password" id="login_pass" name="password" size="30" /><br /><input type="submit" name="login" value="login" /></p></form>',
);
});
</script>
</div>
<?
我的问题
当用户登录到模态框时,用户会登录,但他从 Make_Selections.php 中的选择会丢失。
让用户登录但仍然保留他所做的选择以便用户不必再次完成选择过程的最佳选择是什么
最佳答案
我会在 Upload_selection.php 中执行如下操作:
//USER IS NOT LOGGED DISPLAY LOGIN MODAL
if (!isset($_SESSION['name']) && !isset($_SESSION['FBID'])) {
$_SESSION['selections'] = $_POST; // <-------NEW LINE
?>
<script type="text/javascript">
jQuery(document).ready(function() {
$.fancybox(
'<form id="register_form" method="post" action="myLoginScript.php"><label for="login_name">Email:</label><br /><input type="text" id="login_name" name="email" size="30" /><br /><label for="login_pass">Password: </label><br /><input type="password" id="login_pass" name="password" size="30" /><br /><input type="submit" name="login" value="login" /></p></form>',
);
});
</script>
</div>
用户登录后,您可以简单地从 session 中调用选择:
$_SESSION['selections']['YOUR INPUT NAME HERE']
关于javascript - php - 临时存储用户选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32239858/