2017-08-05 69 views
0

我有下面的代碼..我試圖找出爲什麼wEx1值沒有被傳遞到PHP代碼,但wDate是。我有名稱='wEx1'屬性,並且我已經嘗試了直接向前$ _POST []來獲取它,並且也是轉義字符串,即使它不是來自用戶的輸入字段。無論哪種方式,我無法讓它顯示在PHP端的回聲聲明。任何想法和幫助表示讚賞!傳遞值與POST不工作 - PHP

<form class='navbar-form' method='post' action='enterWorkoutPlan.php' onsubmit='return validateWorkoutPlan()' name='workoutPlanForm'> 
    <div class='form-group'> 

    ...other stuff here.. 

     <b>Exercise 1: </b> 

     <select class='form-control' name='wEx1'> 
      <!-- Have default be Select Exercise for how many exercises are chosen check --> 
      <option value='Select exercise' selected>Select exercise</option> 
      <?php 
       $sql2 = "SELECT exName FROM exercises"; 
       $result2 = mysqli_query($db, $sql2); 
       if ($result2){ 
        while($row2 = mysqli_fetch_assoc($result2)) { 
         echo " 
          <option value='".$row2['exID']."'>".$row2['exName']."</option>"; 
        } 
       } else { 
        echo "<script>confirm('Error pulling exercises list');</script>"; 
       } 
      ?>             
     </select><br> 
    ...other stuff here.. 

    </div> 

    <br><br> 
    <input type='submit' value='Save Workout' class='btn btn-primary'> 
</form> 

接受的價值觀我的PHP頁面看起來像這樣..

<?php 
include("config.php"); 
include("userInfo.php"); 
session_start(); 

ini_set('display_startup_errors', 1); 
ini_set('display_errors', 1); 
error_reporting(-1); 

$wUserID = mysqli_real_escape_string($db,$_POST["wUserID"]); 
$wDate = mysqli_real_escape_string($db,$_POST["wDate"]); 
$wEx1 = $_POST["wEx1"]; 
$wEx2 = mysqli_real_escape_string($db,$_POST["wEx2"]); 
$wEx3 = mysqli_real_escape_string($db,$_POST["wEx3"]); 
$wEx4 = mysqli_real_escape_string($db,$_POST["wEx4"]); 
$wEx5 = mysqli_real_escape_string($db,$_POST["wEx5"]); 
$wEx6 = mysqli_real_escape_string($db,$_POST["wEx6"]); 
$wEx7 = mysqli_real_escape_string($db,$_POST["wEx7"]); 
$wEx8 = mysqli_real_escape_string($db,$_POST["wEx8"]); 
$wEx9 = mysqli_real_escape_string($db,$_POST["wEx9"]); 
$wEx10 = mysqli_real_escape_string($db,$_POST["wEx10"]); 
.... etc.. 
+1

在您接收的PHP文件(我認爲是enterWorkoutPlan.php文件?)中,您可以添加var_dump($ _ POST);查看POST數組中的內容?我沒有在發佈的HTML中看到wDate,所以我認爲它在某處。另外,我還有一件小事:在HTML屬性值中應該有雙引號而不是單引號。另外,在你查詢練習列表的地方,你只能得到名字,而不是ID,所以每個條目的'值'可能是一個空字符串,var_dump()應該顯示。另一種檢查選擇選項的方法是在頁面加載後查看瀏覽器頁面源。 –

+0

謝謝@PaulT。 (12){[「wUserID」] => string(1)「2」[「wDate」] => string(10)「2017/09/01」[「wEx1」] =>字符串(0)「」[「wEx2」] =>字符串(15)「選擇練習」..所以我沒有看到wEx1的任何內容。仍在研究它..也嘗試了雙引號。 – Retro

+0

是的,空字符串。我知道我以前的評論很長,但請參閱我所說的關於填充選擇選項的查詢。 '[「wEx1」] => string(0)'表示一個空的(0長度)字符串,因此進行了選擇。請注意,'wExt2'有'選擇練習'的默認'selected'選項。 –

回答

-1

此外,如果您查詢的練習列表,你只能得到名稱,而不是ID,所以「值'到每個條目可能是一個空字符串,var_dump()應該顯示。另一種檢查選擇選項的方法是在頁面加載後查看瀏覽器頁面源。 - Paul T. 23分鐘前

+3

你是否真的複製了評論的一部分lmao – Derek

+0

復古只是想要業力。 –