php - 如何在php中同一表单内的另一个提交按钮使用一个提交按钮的变量

标签 php html function variables

在我的PHP代码中,有一个内部有多个提交按钮的表单,第一个表单的变量在单击提交按钮后被分配值,第二个表单的值与$_POST[]类似。这里我想在第二个提交中使用第一个提交的值。

我的代码如下:

<?php
global $name;

          //BLOCK1
    if($_POST['formSubmit'] == "Register Yourself") 
        {
        global $name;           
        $name = $_POST['name'];
        echo $name;
    };
         // BLOCK 2

    if($_POST['formSubmit1'] == "Register Yourself1") 
        {
        global $name;           
        $id = $_POST['id'];
        echo $id;
            echo $name;   // I want to print "$name" here

    };

?>
<html>
<title>form</title>
<body>
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post">
    <b> <label for='name'>Name: </label> </b>
    <input type="text" name="name" maxlength="50" value="<?=$name;?>" />
<input type="submit" name="formSubmit" value="Register Yourself" />
<br/><br/>
<b> <label for='id'> id: </label> </b>
    <input type="text" name="id" maxlength="50" value="<?=$id;?>" />
<input type="submit" name="formSubmit1" value="Register Yourself1" />
</form>
</body>
</html>

我尝试使用给出的概念 here 。 在上面的程序中,我已将变量 $name 声明为内部和外部全局变量,以便在第二个程序中使用。

请尝试找出错误,以便我可以在第二个 block 内打印...

提前致谢

最佳答案

Pitchinnate 解释了正确答案,但如果您是 PHP 新手,您可能无法理解该注释。

您引用的链接询问如何在函数之间共享变量。上面示例中的代码没有使用函数;它使用“if”条件。

如果您的代码不起作用,则与您使用 $_POST 数组更相关。当用户提交表单时,单击哪个按钮并不重要; $_POST 数组将包含该表单中各种输入的所有数据。因此,您可能会通过以下方式获得更大的成功:

// let's set up the empty variables for clarity's sake
$name = '';
$id = '';

// now check if the $_POST array has stuff in it
if(!empty($_POST)) 
{
    if (!empty($_POST['name'])) {
        $name = $_POST['name'];
        echo '<p>' . $name . '</p>';
    }

    if (!empty($_POST['name'])) {
        $id = $_POST['id'];
        echo '<p>' . $id . '</p>';
    }
};

<form action="" method="post">
    <b> <label for='name'>Name: </label> </b>
    <input type="text" name="name" maxlength="50" value="<?=$name;?>" />
    <br/><br/>
    <b><label for='id'> id: </label> </b>
    <input type="text" name="id" maxlength="50" value="<?=$id;?>" />
    <br /><br />
    <input type="submit" name="formSubmit" value="Register Yourself" />
</form>

您实际上只需要一个提交按钮。当用户单击该按钮时,表单将提交到服务器,服务器会将输入字段中的值放入 $_POST 数组中。

此外,如果希望表单提交给自身,您所要做的就是指定action="",服务器将假定您正在重新提交到当前页面。

关于php - 如何在php中同一表单内的另一个提交按钮使用一个提交按钮的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16594049/

相关文章:

php - 直接从 Android 手机将图像存储在服务器中

html - 哪些 CSS 属性控制网页对窗口大小调整的 react ?

java - 如何在 Sitebricks 中生成 HTML 表格?

php - fetch_assoc() 查询问题

php - 如何在 Twig 中对钱进行四舍五入以节省零?

PHP 与 Phpmyadmin

javascript - 应用 border-left 时 Css3 html5 Div 对齐中的意外问题

javascript - 如何创建一个将任何给定字符串与第二个参数连接起来的函数?

jquery - jQuery 语法之间的区别

c# - 扩展还是静态功能?