【问题标题】:Passing hidden value to a php variable in input tag将隐藏值传递给输入标签中的 php 变量
【发布时间】:2016-09-11 06:57:29
【问题描述】:

我是编码新手,如果我错过了一件愚蠢的事情,请原谅我。我搜索了论坛,没有找到适合我需要的答案。我有 2 个文件:jobs.php 和 jobprocess.php

Jobs.php 为

<?php session_start();
include('dbConnect.php');
$q1="abc";  
$q2="pqr";  
$q3="xyz";  
$opportunity=29;    
echo "Opportunity is". $opportunity;
?>

<html>
<head>
<div align="center">

<form method="post" method="post" action="jobprocess.php">


<input type="text" name="q1" placeholder="<?php echo $q1;?>"><br>
<input type="text" name="q2" placeholder="<?php echo $q2;?>"><br>
<input type="text" name="q3" placeholder="<?php echo $q3;?>"><br>
<input type="hidden" name="opportunity" value="<?php echo $opportunity;?>">


<ul class="actions">
<li><input type="submit" name="submit" value="I would like to join!! "></li>
</ul>                           
</form>                                 
</div>
</head>
<body>
</body>
</html>

jobprocess.php 随代码一起

<?php session_start();
include('dbConnect.php');


$opportunity = $_GET['opportunity'];
echo "opportunity is " . $opportunity;
?>

不幸的是,上面的代码没有为第二页上的机会定义 value="29"。提前致谢

【问题讨论】:

  • 你的 html 无效

标签: php html input get hidden


【解决方案1】:

如果您在 html 标记之前回显任何内容,它实际上会使 html 无效。此外,文档的 head 不得包含演示 html 元素,例如 formsdivs

<?php
    session_start();
    include('dbConnect.php');
    $q1="abc";  
    $q2="pqr";  
    $q3="xyz";  
    $opportunity=29;    

?>

<html>
    <head>
        <title>must have a title</title>
    </head>
    <body>
        <?php
            echo "Opportunity is". $opportunity;
        ?>
        <div align="center">
            <form method="post" method="post" action="jobprocess.php">
                <input type="text" name="q1" placeholder="<?php echo $q1;?>"><br>
                <input type="text" name="q2" placeholder="<?php echo $q2;?>"><br>
                <input type="text" name="q3" placeholder="<?php echo $q3;?>"><br>
                <input type="hidden" name="opportunity" value="<?php echo $opportunity;?>">
                <ul class="actions">
                    <li><input type="submit" name="submit" value="I would like to join!! "></li>
                </ul>                           
            </form>                                 
        </div>
    </body>
</html>

由于表单设置为POST,您可能应该检查并使用 POSTed 变量而不是 GET 变量

<?php
    session_start();
    include('dbConnect.php');


    $opportunity = $_POST['opportunity'];
    echo "opportunity is " . $opportunity;
?>

【讨论】:

    【解决方案2】:

    令人惊讶的是,我建议使用会话变量而不是隐藏表单字段的答案被删除了?!我猜会话变量现在是非法的?

    这个答案甚至被选为最佳答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-03
      • 1970-01-01
      • 1970-01-01
      • 2018-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-19
      相关资源
      最近更新 更多