簡體   English   中英

同一頁面中的PHP Multiple表單

[英]PHP Multiple form in same page

我在用PHP做表格,但是有一些問題。 首先,我將在同一頁面中使用3種不同的形式。 我想要的只是出現一種形式,然后用答案出現另一種形式,依此類推。 表格的答案將顯示在同一頁面上。 現在,我的第一個表格工作並獲得答案后轉到第二個表格,但是我想提交第二個表格,問題出現了。 它會刪除我的第一個表格的答案,並且不會做任何事情(一切都會像我在第一個表格中一樣)。 我試圖找到問題,但對如何解決卻一無所知。

這是我的代碼:

<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">  
    Q1?
    <input type="number" name="nbtemplate" min="1" max="30">
    <input type="submit" name="submitbutton1" value="Confirm!">
</form>

<?php 
if(!isset($submitbutton1)) {  
    if (!empty($_POST['nbtemplate']) != "") { 
        echo "<b>{$_POST['nbtemplate']}</b> !\n";
        echo "<br />";
        $Nnbtemplate = $_POST['nbtemplate'];
        $result = mysql_query("UPDATE tb SET day='$Nnbtemplate'") or die(mysql_error()); 
?>  

<form action='<?php echo $_SERVER['PHP_SELF'];?>' method='post'>   
Q2? <br>            
<?php 
    for ($i = 1; $i <= $Nnbtemplate; $i++) { // start loop 
        echo "Template ";
        echo $i;
?>      

<input type="number" name="nbtime" min="1" max="96"> 

<?php 
}   
    echo '<input type="submit" name="submitbutton2" value="Confirm!">';
    echo '</form>';

    if(isset($submitbutton1) && !isset($submitbutton2)) {
    if (!empty($_POST['nbtime']) != "") {
    echo "<b>{$_POST['nbtime']}</b> !\n";
    echo "<br />";
    $nbtime = $_POST['nbtime'];

    for ($j = 1; $j <= $nbtime; $j++) {
    echo "Time";
    echo $j;
?>
    Q3:
    <input type="time" name="starttime"> To <input type="time" name="endtime"> 

<?php
    }
    echo '<input type="submit">';
    echo '</form>';
        }

    }       
    }
} 
?>  

兄弟,那是您到達那里的一些粗糙代碼。 當使用一些javascript處理時,這是一個非常簡單的任務。 然后,您可以將單個帖子發布到您的php。 我喜歡使用jQuery框架,所以我很快找到了幾個鏈接: 這個這個

響應於有關動態構建表單元素的注釋的示例代碼:

<html>
<head>
    <!-- load jquery library -->
    <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
</head>
<body>

<form action="toyourpage.php">

    How Many?:
    <input type="text" name="number" id="number">
    <div id="add"></div>

</form>

<!-- javascript go -->
<script type="text/javascript">

$(document).ready(function()
{
    $('input#number').keyup(function()
    {   
        var num = $(this).val(); // get num

        if(!isNaN(num)) // check if number
        {
            $('div#add').html(''); // empty
            for(i = 1; i <= num; i++) // add
            {
                $('div#add').append('New Field ' + i + ': <input type="text" name="next_' + i + '" id="next' + i + '"><br>');
                }
        }
        else
        {
            alert('Valid number required');
        }

    });
});

</script>

</body>
</html>

我對您的代碼做了一些更改,並進行了測試,它可以工作。

你有你的任何錯誤{}括號, if條件。 就像我評論的那樣,我添加了extract($_POST)

<?php
extract ( $_POST );
if (! isset ( $submitbutton1 ) && !isset($submitbutton2)) {
    ?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
    Q1? <input type="number" name="nbtemplate" min="1" max="30"> <input
        type="submit" name="submitbutton1" value="Confirm!">
</form>
<?php ;
}
if (isset ( $submitbutton1 )) {
    if (! empty ( $_POST ['nbtemplate'] ) != "") {
        echo "<b>{$_POST['nbtemplate']}</b> !\n";
        echo "<br />";
        $Nnbtemplate = $_POST ['nbtemplate'];
        $result = mysql_query("UPDATE tb SET day='$Nnbtemplate'") or
        die(mysql_error());
        ?>
<form action='<?php echo $_SERVER['PHP_SELF'];?>' method='post'>
    Q2? <br>            
<?php
        for($i = 1; $i <= $Nnbtemplate; $i ++) { // start loop
            echo "Template ";
            echo $i;
            ?>      
<input type="number" name="nbtime" min="1" max="96"> 
<?php
        }
        echo '<input type="submit" name="submitbutton2" value="Confirm!">';
        echo '</form>';
    }   
}   
        if ( isset ( $submitbutton2 )) {
            if (! empty ( $_POST ['nbtime'] ) != "") {
                echo "<b>{$_POST['nbtime']}</b> !\n";
                echo "<br />";
                $nbtime = $_POST ['nbtime'];
                for($j = 1; $j <= $nbtime; $j ++) {
                    echo "Time";
                    echo $j;
                    ?>
    Q3:
    <input type="time" name="starttime"> To <input type="time"
        name="endtime"> 

<?php
                }
                echo '<input type="submit">';
                echo '</form>';
            }

        }
?>  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM