【问题标题】:Pass a PHP variable value through an HTML form [duplicate]通过 HTML 表单传递 PHP 变量值 [重复]
【发布时间】:2013-08-28 04:56:02
【问题描述】:

在 html 表单中,我有一个变量 $var = "some value";

我想在表单发布后调用这个变量。该表格发布在同一页面上。

我想给这里打电话

if (isset($_POST['save_exit']))
{

    echo $var; 

}

但变量没有打印。我必须在哪里使用代码 GLOBAL ?

【问题讨论】:

  • In a html form I have a variable $var = "some value";. -- 怎么样?你能给我们看看代码吗?
  • 如果在同一个文件中,表单post中是否有变量赋值和输出,以及示例代码不在函数内,需要详细说明。
  • php 和 html 没有任何关系。您使用 php 生成 html,然后使用表单将数据回传到 php。
  • 如果 php 变量为真,我将打印 html 表单。我在阅读时想要的相同价值..

标签: php html forms


【解决方案1】:

试试看

第一名

global $var;
$var = 'value';

第二名

global $var;
if (isset($_POST['save_exit']))
{
    echo $var; 
}

或者如果你想更明确,你可以使用 globals 数组:

$GLOBALS['var'] = 'test';

// after that
echo $GLOBALS['var'];

这是与 PHP 全局无关的第三个选项,这是由于问题中缺乏明确性和信息。因此,如果您有 HTML 格式的表单,并且您想将“变量”/值传递给另一个 PHP 脚本,您必须执行以下操作:

HTML 表单

<form action="script.php" method="post">
    <input type="text" value="<?php echo $var?>" name="var" />
    <input type="submit" value="Send" />
</form>

PHP 脚本(“script.php”)

<?php

$var = $_POST['var'];
echo $var;

?>

【讨论】:

  • 我使用了第一个示例,但在我的情况下它不起作用....我以表格形式存储在 $var 中的函数的 O/P。发布后,我想在阅读时打印它……但它不起作用。
  • ewww global?他只需要一个隐藏的输入。就是这样。
  • 如果 php 变量为真,我将打印 html 表单。我在阅读时想要的相同价值..
  • 我只是不明白为什么人们拒绝投票正确答案!这真是令人沮丧! @itachi 如果您知道他需要什么,则可以发布答案,尽管根据问题上下文,他要做什么还不是很清楚。此外,我已将其添加到答案中,因此根据他想要完成的任务,他可以选择正确的解决方案。
  • 您因滥用global 而被否决。我没有投反对票,只是指出。问题很清楚。只有他通过提及Scope 使事情变得复杂。它与范围无关。他只想在表单提交后传递该变量。
【解决方案2】:

编辑:在你的 cmets 之后,我知道你想通过你的表单传递变量。

您可以使用隐藏字段来做到这一点:

<input type='hidden' name='var' value='<?php echo "$var";?>'/> 

在 PHP 动作文件中:

<?php 
   if(isset($_POST['var'])) $var=$_POST['var'];
?>

或使用会话: 在您的第一页:

 $_SESSION['var']=$var;

start_session(); 应该放在你的 php 页面的开头。

在 PHP 动作文件中:

if(isset($_SESSION['var'])) $var=$_SESSION['var'];

第一个答案:

你也可以使用$GLOBALS

if (isset($_POST['save_exit']))
{

   echo $GLOBALS['var']; 

}

查看此documentation 了解更多信息。

【讨论】:

  • 你为什么投了反对票?请解释一下
  • +1 因为反对票是蹩脚的!
  • 我用第一个隐藏字段得到它...对不起,我问错了问题,因为我不知道这叫什么...现在我知道它叫做通过隐藏字段传递变量..谢谢..
  • 良好的学习和享受网络开发:)
  • 不应该是start_session()吗? session_start() 不适合我。
猜你喜欢
  • 2012-09-08
  • 2015-11-05
  • 1970-01-01
  • 2018-11-05
  • 2015-05-28
  • 2011-05-18
  • 2020-07-14
  • 1970-01-01
  • 2020-07-07
相关资源
最近更新 更多