【问题标题】:passing parameters from one php to multiple php将参数从一个 php 传递到多个 php
【发布时间】:2011-07-11 09:25:06
【问题描述】:

.我有三个php页面:

page1.php page2.php page3.php

在 page1.php 我有这个代码:

<form id="try" method="post" action="page2.php">
Batch: <input id="batch" name="batch" type="text"/><br />
Dept: <input id="dept" name="dept" type="text"><br />
<input type="submit" />
</form>

在 page2.php 上,我可以使用在 page1.php 中插入的值,只需使用 $_POST['batch']; and $_POST['dept']; 调用它们即可

但我接下来要做的是将batch 和dept 的值从page2.php 传递到page3.php。或者可能从 page1.php 到 page2.php,因为我认为它是一样的。

.请帮忙!感谢您的建议

@kjy112 - 我很困惑,因为我正在使用

<form method="post"> 

我是否应该使用以下命令在 page2.php 上开始我的会话:

session_start();
$_SESSION['batch'] = $_POST['batch'];
$_SESSION['dept'] = $_POST['dept'];

然后使用

session_start();
$batch = $_SESSION['batch'];

在 page3.php 上使用它?

【问题讨论】:

  • 如果你在会话中设置它应该可以工作。只要你确定你session_start()
  • .好吧另一个问题,在向浏览器输出任何内容之前必须调用 session_start() 是什么意思?如果我的目的是在 SQL 查询中使用批处理和部门,这也可以吗?
  • 我不熟悉在 SQL 查询中使用带批处理和部门的会话(你说部门是什么意思?)。至于 session_start,To use cookie-based sessions, session_start() must be called before outputing anything to the browser. 基本上确保在使用 session 之前调用它并确保它位于页面顶部。

标签: php


【解决方案1】:

只是在 cmets 中回答问题

你的意思是 session_start() 必须在输出之前调用 浏览器有什么?

意味着最好将 session_start() 直接放在&lt;?php 之后 像&lt;?php session_start(); 一样,并确保php 起始标签不在&lt;html&gt; 标签之后。

如果我的目的是在 SQL 上使用批处理和部门,这也可以吗 查询?

是的,当然,只需在 $_SESSION[''] 变量中设置所有参数(sql、dept)即可。

【讨论】:

    【解决方案2】:

    Per @Crayon Violent:要使用基于 cookie 的会话,必须在向浏览器输出任何内容之前调用 session_start()。

    您需要使用PHP SESSION,您可以像这样获取/设置:

    // page1.php
    
    session_start();
    $_SESSION['myvar'] = 'test';
    
    //page2.php
    
    session_start();
    $myvar = $_SESSION['myvar'];
    echo $myvar; //should be test;
    
    //page3.php
    session_start();
    echo $_SESSION['myvar']; //should give u test still
    

    【讨论】:

    • 需要注意的一点是 session_start() 必须出现在任何输出之前,甚至是你想要使用它的所有页面上的空白(除非你想使用输出缓冲,无论如何你都不应该这样做)
    • 能否请您再次查看我的问题,我有以下问题。 tnx!
    【解决方案3】:

    将值从一个脚本移动到另一个脚本的一种方法是使用session,而不用担心以什么顺序访问哪个脚本。

    当您的脚本启动时,您将打开会话。这使您可以访问 $_SESSION 超全局,例如 $_POST。您可以在一个脚本中写入 $_SESSION 数组并在另一个脚本中读出。这一切都在服务器上处理,因此您可以将所需的任何数据存储到会话中,而不必担心用户会看到这些数据。它非常有用,通常与多部分表单、带有登录名的网站一起使用,并在用户访问的页面上跟踪用户的选择。

    【讨论】:

      【解决方案4】:

      您可以将 $_POST 值保存到 $_SESSION 变量中:

      $_SESSION['POST'] = $_POST;
      

      【讨论】:

      • 。这是否意味着我可以使用类似 session_start(); $_SESSION['batch'] = $_POST['batch']; $_SESSION['dept'] = $_POST['dept'];
      【解决方案5】:

      利用会话变量。

      【讨论】:

        猜你喜欢
        • 2012-02-12
        • 1970-01-01
        • 1970-01-01
        • 2017-01-23
        • 1970-01-01
        • 2013-11-10
        • 1970-01-01
        • 1970-01-01
        • 2021-12-17
        相关资源
        最近更新 更多