【问题标题】:How to Passing and show form variables from 1st page to 3rd page without session如何在没有会话的情况下从第一页到第三页传递和显示表单变量
【发布时间】:2015-09-08 20:36:50
【问题描述】:

我需要从第一页到第三页传递和显示变量,我该怎么做? 我的意思是我有 3 页(sign_up.php、personal.php、full_detail.php)。 例如:

  1. 在 sign_up.php 页面中,我有用户名、电子邮件等,..
  2. personal.php 页面我有地址、城市、州等......
  3. 最后我想在 full_detail.php 中显示第一页值和第二页值。

注意: - 我做了一页到下一页。 - 如何将变量从第一页传递到第二页并将相同的值传递到第三页。

感谢您的提前

【问题讨论】:

    标签: php variables


    【解决方案1】:

    使用 POST/GET

    这样做 - 如果您不想使用会话来这样做。

    获取

    在第一页sign_up.php上使用锚标记<a>写这个-

    <a href="personal.php?var1=value1&var2=value2">Personal Page</a>
    

    使用 header 函数简单地将 php 页面重定向到像这样的另一个页面-

    header("Location: personal.php?var1=value1&var2=value2");
    

    发布

    你也可以像这样使用 HTML 标签将数据从一个页面发送到另一个页面-

    <form action="personal.php" method="post">
      <input type="hidden" name="var1" value="value1"/>
      <input type="hidden" name="var2" value="value2"/>
      <input type="submit" value="Personal Page">
    </form>
    

    现在在第二页,即你的个人.php。

    像这样捕获这些值-

    如果是 GET 方法:

    $variable1 = $_GET['var1'];
    $variable2 = $_GET['var2'];
    

    如果是 POST 方法:

    $variable1 = $_POST['var1'];
    $variable2 = $_POST['var2'];
    

    【讨论】:

    • 是的,我这样做了,如何将此值传递到第三页?
    • 使用相同的方法将值传递到第三页或在此处发布您的代码,以便我们检查您的代码中是否有任何错误...
    【解决方案2】:

    您可以在每一步向服务器发送POST 请求,然后将数据保存在会话变量中,如下所示:

    <?php
    session_start();
    $_SESSION['my_field'] = $_POST['my_field'];
    ?>
    

    或者,我建议您使用 javascript 或 jQuery 之类的框架来隐藏和显示表单的某些部分。这意味着您在一个 PHP 页面上拥有所有 3 个部分,并且您只向服务器发布一次。

    【讨论】:

      【解决方案3】:

      通过 POST 或 GET

      您可以从一个到下一个提交表单

      • 从第一页提交第一个表单到第二页

      • 将所有表单数据保留在第二页的隐藏字段中,并将第二个表单提交给第三个。包含第一页和第二页的所有值

      • 在第三页使用第一页和第二页的所有表单数据

      这是你不需要session

      【讨论】:

      • 确保您的所有表单标签都有正确的操作链接和方法,如getpost
      • 我用post方法两种形式
      • 如果您的表单在第二页提交,请输入&lt;?php print_r($_POST); ?&gt; 以检查您是否收到任何帖子数据
      • $user = $_POST['username']; 我检查它是否有效
      • 但是如何通过第三页
      【解决方案4】:

      您可以使用隐藏的输入框。例如,您使用 POST 请求发送第一页的值,您可以将这样的值(在您的 &lt;form&gt; 中)添加到您的第二页:

      <?php
      foreach ($_POST as $key => $value)
         echo '<input type="hidden" name="'.htmlentities($key).'" value="'.htmlentities($value).'">';
      ?>
      

      因此,所有值都会添加到第二页的表单中而不显示它们。

      注意:如果您将密码从第 1 页发送到第 2 页,则不应这样做。在这种情况下,我们会严格推荐一个会话。

      【讨论】:

      • 不客气。 (如果您使用 GET,即参数显示在您的 URL 中,则必须将 $_POST 替换为 $_GET。)
      • 是的,安德烈,我知道 GET 和 POST 的不同,谢谢
      【解决方案5】:

      如果您想要表单验证,请执行 POST 方法并将您的变量发送到所需的页面。但是,如果您想将变量从发布它们的页面发送到另一个页面,那么我知道那是什么 cookie..

      【讨论】:

        【解决方案6】:

        在两个页面上都这样做: signup.php

        <form action='full_detail.php' method='POST'>
        <input type='text' name='username'>
        <input type='email' name='email'>
        <input type='password' name='password'>
        <input type='submit' name='submit' value='Sign up'>
        </form>
        

        在personal.php上

            <form action='full_detail.php' method='POST'>
            <input type='text' name='address'>
            <input type='text' name='city'>
            <input type='text' name='state'>
            <input type='submit' name='submit1' value='Send'>
            </form>
        

        现在你可以在第三页收到你的变量了……把它们回显出来……

        关于 full_detail.php

        <?php
        if(isset($_POST['submit'] || isset($_POST['submit1']))
        {
        echo all of your variables the simplest way.. You can pass them through url too
        
        }
        

        【讨论】:

          猜你喜欢
          • 2015-09-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-03-23
          相关资源
          最近更新 更多