【问题标题】:How can this work? [closed]这怎么行? [关闭]
【发布时间】:2017-08-07 19:21:14
【问题描述】:

我知道这段代码不起作用。我想将 $var1、$var2 和 name 传递给 next.php。我该怎么做?

<?php
    $var1="test1";
    $var2="test2";
?>

<form method="get">
    <input type="text" name="name">
    <a <?php echo "href='next.php?test1=".$var1."&test2=".$var2."'"?> >next</a>
</form>

在 next.php 中

$var1=$_GET['name'];
$var2=$_GET['test1'];
$var3=$_GET['test2'];

【问题讨论】:

  • 当你已经为变量分配了一些东西时,表单的意义何在?
  • 这在什么方面“不起作用”?生成的 HTML 是什么?当您单击该链接时会发生什么?你期望发生什么?
  • 这不是您创建表单提交的方式。
  • 标题确实需要改进
  • 很确定一个关于 PHP 和表单的简单教程会显示正确的方法。

标签: php html


【解决方案1】:

您可以将值作为隐藏输入传递,以便表单中的其他值仍会随它一起传递。

<form action="next.php">
    <input type="text" name="name">
    <input type="hidden" name="test1" value="<?php echo $var1; ?>">
    <input type="hidden" name="test2" value="<?php echo $var2; ?>">
    <button type="submit">Submit</button>
</form>

然后在您的next.php 中,您将收到$_GET 中的所有内容。

例如,如果用户填写Foo作为名称并单击提交,那么您将在next.php中收到以下内容:

var_dump($_GET)

array(3) {
    ["name"]=> string(3) "Foo"
    ["test1"]=> string(5) "test1"
    ["test2"]=> string(5) "test2"
}

【讨论】:

    【解决方案2】:

    改成:

    <form method='GET' action='next.php'>
       <input type='text' name='name' />
       <input type='hidden' name='test1' value="<?php echo $var1;?>" />
       <input type='hidden' name='test2' value="<?php echo $var2;?>" />
    </form>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-19
      • 1970-01-01
      • 2014-02-21
      • 1970-01-01
      • 2021-12-28
      • 1970-01-01
      • 2013-03-29
      • 1970-01-01
      相关资源
      最近更新 更多