PHP:将表单数据传递到第三个文件,而无需在第二个文件中进行更改

时间:2019-02-28 13:29:05

标签: php html forms

我想将form1数据从file1.php传递到file3.php,然后转到具有新form2的file2.php,然后将数据从form2传递到file3.php。但是,到目前为止,我在file3中仅具有来自form2的数据,但我不知道如何传递或从form1(file1.php)获取数据。

file1.php和我的form1数据

<form method="post" name="cartForm" action="file2.php?act=form">
    <div class="card-group">
        <div class="card">
            <img class="card-img-top" src="./images/10-11017B.jpg" alt="Card image cap">
            <div class="card-body">
                <h5 class="card-title">Basic Black Polo</h5>
                <p class="card-text">Word on the street is that 'black is the new black.'</p>
            </div>
            <div class="card-footer text-muted">
                <label class="card-text">Amount</label>
                <input type="number" step="1" value="1" class="form-control amount-input" name="amountProd1">
                <label class="card-text">Price</label>
                <input type="number" step="1" value="30" class="form-control amount-input" name="priceProd1">
            </div>
        </div>
    </div>
    <div class="checkout-button">
        <input type="submit" name="submit" class="btn btn-secondary" value="Checkout" />
    </div>
</form>

带有form2数据的file2.php(这里有来自表单1的数据-amountProd1)

<?php

    print_r($_POST['amountProd1']); //  1 is printed here
?>
<!-- end php code -->
<div class="container">
    <div>
        <form method="post" name="addressForm" action="file3.php?act=form">
            <div class="form-group">
                <label for="firstname">Firstname</label>
                <input type="text" class="form-control" name="firstname" id="firstname">
            </div>
            <div class="checkout-button">
                <input type="submit" name="submit" class="btn btn-secondary" value="Continue" />
            </div>
        </form>
    </div>
</div>

file3.php,其中我具有来自file2.php的form2数据,但不再具有来自file1.php的来自form 1的数据:

<?php

    print_r($_POST['amountProd1']); // nothing is printed here
?>
<!-- end php code -->
<div class="container">
    <div>
        <form method="post" name="paymentForm" action="file4.php?act=form">
            <div class="form-group">
                <label for="payment">Payment</label>
                <input type="text" class="form-control" name="payment" id="payment">
            </div>
            <div class="checkout-button">
                <input type="submit" name="submit" class="btn btn-secondary" value="Continue" />
            </div>
        </form>
    </div>
</div>

谁能告诉我如何在file2中传递form1数据,以便我可以在file3中访问它们?

4 个答案:

答案 0 :(得分:2)

您可以将以第一种形式捕获的详细信息保存在SESSIONS变量中,或使用隐藏的输入将数据保留在第二页上,然后将其转发到第三页。

然后请记住,您所有页面的顶部都应该有一个session_start();

<?php 
session_start();

此调用使每个脚本都可以访问SESSION及其中保存的内容

答案 1 :(得分:1)

您可以使用PHP $ _SESSION在表单之间保留变量

file2.php中的示例:

<?php
session_start();
$_SESSION['amountProd1'] = $_POST['amountProd1'];

在file3.php中:

<?php
session_start();
print_r($_SESSION['amountProd1']);

答案 2 :(得分:1)

您可以使用隐藏的输入

在data2中附加表单:

<input type="hidden" value="<?php echo $_POST['amountProd1']; ?>">

对data3进行相同操作,最后所有数据将发送到您的file4.php

答案 3 :(得分:0)

file2.php

    <div class="container">
    <div>
        <form method="post" name="addressForm" action="file3.php?act=form">
<input type="hidden" value="<?php echo $_POST['amountProd1']; ?>" name="amountProd1">
<input type="hidden" value="<?php echo $_POST['priceProd1']; ?>" name="priceProd1">
            <div class="form-group">
                <label for="firstname">Firstname</label>
                <input type="text" class="form-control" name="firstname" id="firstname">
            </div>
            <div class="checkout-button">
                <input type="submit" name="submit" class="btn btn-secondary" value="Continue" />
            </div>
        </form>
    </div>
</div>