2015-09-01 75 views
-1

我有以下代碼,我試圖讓'Finalize Draft Order'提交按鈕僅在'Create Draft Order'按鈕被按下/設置時出現。現在,按下Create Create Order按鈕後,按鈕不會顯示出來。它只有當我把它拿出來,如果(isset功能的顯示如果isset語句沒有調出輸入字段

我在做什麼錯

<form method="POST" name="form"> 
<input type="submit" value="Create Draft Order" name="shuffle"> 
</form> 

    Shuffled results: <br> 
    <div class="main-bag">  
    <div class="shuffle_results" id="results"></div> 
    <form method="post"> 
<?php 
$count = 0; 
    foreach ($array as $result) : 
    $count++; 
    $shuffle_count = $count; 
     $shuffle_firstname = htmlentities($result['firstname']); 
     $shuffle_lastname = htmlentities($result['lastname']); 
     $shuffle_id = htmlentities($result['id']); 
     $shuffle_username = htmlentities($result['username']); 
     $shuffle_email = htmlentities($result['email']); 
?> 
    <input type="hidden" name="count[]" value="<?php echo $shuffle_count; ?>"> 
     <input type="hidden" name="firstname[]" value="<?php echo $shuffle_firstname; ?>"> 
     <input type="hidden" name="lastname[]" value="<?php echo $shuffle_lastname; ?>"> 
     <input type="hidden" name="id[]" value="<?php echo $shuffle_id; ?>"> 
     <input type="hidden" name="username[]" value="<?php echo $shuffle_username; ?>"> 
     <input type="hidden" name="email[]" value="<?php echo $shuffle_email; ?>"> 

<?php 

    endforeach; 
    // only show this button if we have done a shuffle 
    if (isset($_POST['shuffle'])) : 
     echo '<input type="submit" value="Finalize Draft Order" name="insert">'; 
    endif; 

?> 

更新:?

$array = array(); 

while ($row = mysqli_fetch_assoc($query)) { 
$array[] = array( 
'id' => $row['id'], 
'firstname' => $row['firstname'], 
'lastname' => $row['lastname'], 
'username' => $row['username'], 
'email' => $row['email'] 
); 

if (isset($_POST['shuffle'])) { 

    } 
} 
shuffle($array); 
    echo json_encode($array); 
+0

你實際上沒有發佈shuffle作爲var。將它添加到您的輸入隱藏而不是按鈕的名稱 – ScottMcGready

+0

我不確定您的意思。 – Becky

+0

您的輸入提交按鈕被命名爲「shuffle」,但您發佈的數據不包含「shuffle」作爲後期變量/參數。 – ScottMcGready

回答

0

我不認爲$ _ POST [」洗牌']設置,而不是使用提交按鈕,它改變你的代碼:

<form method="POST" name="form"> 
<input type="hidden" name="shuffle" value="true"> 
<input type="submit" value="Create Draft Order"> 
</form> 

我敢肯定,提交的名稱不COUN t表示POST值。

0

這是你的問題。您的輸入按鈕被命名爲shuffle,在提交時不會傳遞。如果您添加一個名爲「shuffle」的新隱藏輸入元素,它將傳遞它。

編輯:

你已經在你的問題其創建草案按下按鈕後說。因此,按您的例子:

<form method="POST" name="form"> 
<input type="submit" value="Create Draft Order" name="form"> 
<input type="hidden" name="shuffle" value="1"> 
</form> 

    Shuffled results: <br> 
    <div class="main-bag">  
    <div class="shuffle_results" id="results"></div> 
    <form method="post"> 
<?php 
$count = 0; 
    foreach ($array as $result) : 
    $count++; 
    $shuffle_count = $count; 
     $shuffle_firstname = htmlentities($result['firstname']); 
     $shuffle_lastname = htmlentities($result['lastname']); 
     $shuffle_id = htmlentities($result['id']); 
     $shuffle_username = htmlentities($result['username']); 
     $shuffle_email = htmlentities($result['email']); 
?> 
    <input type="hidden" name="count[]" value="<?php echo $shuffle_count; ?>"> 
<input type="hidden" name="firstname[]" value="<?php echo $shuffle_firstname; ?>"> 
     <input type="hidden" name="lastname[]" value="<?php echo $shuffle_lastname; ?>"> 
     <input type="hidden" name="id[]" value="<?php echo $shuffle_id; ?>"> 
     <input type="hidden" name="username[]" value="<?php echo $shuffle_username; ?>"> 
     <input type="hidden" name="email[]" value="<?php echo $shuffle_email; ?>"> 

<?php 

    endforeach; 
    // only show this button if we have done a shuffle 
    if (isset($_POST['shuffle'])) : 
     echo '<input type="submit" value="Finalize Draft Order" name="insert">'; 
endif; 
?> 
+0

我試過這樣做,除了我改名爲shuffleButton,然後改變了'$ _POST ['shuffleButton']',我沒有讓它出現。 – Becky

+0

你不是在聽我說的話。看看我的代碼。有一個名稱與您的isset檢查相匹配的輸入字段 – ScottMcGready

+0

請看下面這行: ScottMcGready

0

我不知道用的是什麼版本的PHP meame69和ScottyMcGready的,但你很可以檢查,看看是否按鈕被點擊通過爲isset檢查($ _ POST [ 「submit」])是真實的。

http://www.learningaboutelectronics.com/Articles/How-to-check-if-the-submit-button-is-clicked-in-PHP.php

我不能發表評論,但我會編輯此一次,我找出什麼是錯貝基的代碼。

+0

按鈕被按下,因爲按鈕確實有效。 – Becky

+0

我在一個在線的php編譯器上運行你的代碼,當它被按下時,按鈕就會顯示出來。 嘗試在你的代碼中做一個print_r($ _ POST),讓我知道你給了什麼。 –

+0

ScottmcGready讓我這樣做。我得到這個數組(0){} – Becky