在重定向之前将php函数分配给同一页面中的变量会话的更好方法


Better way of assigning a php function to a variable session within the same page before redirecting

在处理程序页面上,我需要这样的东西来工作:

    $mobile = preg_replace('/^07/','447',$phonenumber);

这将把preg_replace的结果分配给var $mobile,如果输入的电话号码不是手机号码,它将不会分配变量,但是如果它被分配,我需要在自动重定向用户之前将其分配给会话,处理程序页面有(2)个结果。

1)处理程序重定向到不需要SMS消息信息的页面,因为用户没有输入手机号码,而是输入了座机号码。

2)用户被发送到短信相关页面。

$_SESSION['mobauth'] = $mobile;<——需要创建一个会话或一种方法来让页面重定向与$mobile变量信息存储在其他地方在相关页面上调用

重定向将遵循以下行:

 if(isset($_SESSION["mobauth"])){
   header('Location: mobile-sms.php');
  exit; 
 }

为什么不将隐藏的表单输入字段添加到处理程序中,并让javascript函数以提交表单的方式进行重定向呢?

用户将被重定向到表单操作地址被javascript立即调用这样在下一页你可以有$mobile = $_POST['mobauth'];或者更好的是你可以分配POST给会话,像这样:

       if(isset($_POST['mobauth']))
       $_SESSION['mobauth']=$_POST['mobauth'];

这里是javascript表单重定向脚本:

<form id="YourFormID" method="POST" action="nextpage.php">
    <input type="hidden" name="mobauth" value="<?php echo $mobile; ?>"/>
</form>
<script>
document.getElementById("YourFormID").submit();
</script>

首先,在使用会话之前,您必须在页面顶部启动会话:

session_start ();

你会检查在会话中分配一些参数:

$_SESSION["mobauth"] = "mobile";

之后,您可以在其他页面使用它。

应该在文件的顶部初始化会话session_start ();初始化后,您将重定向到您在头函数中给出的页面!