2017-02-04 17 views
0

ドロップダウンボックスを正しく動作させるために、部署と場所の値をDBから取得するのに時間を費やしていました。これは正常に機能しており、顧客が特定の期間、場所、部門のレコードを選択できるように、日付フィールドを追加しました。私がdepartmentReport.phpを実行しているフォームを実行すると、以下のように各値をエコーバックしようとしてもページは空白になります。ドロップダウンボックスにdbから選択した値を投稿できません

<form id="departmentReport" action="departmentReport.php" method="get" onsubmit="#"> 
     <fieldset id="departmentReport"> 
      <h3>Department Report</h3> 
      <br> 
      <?php 
      include 'includes/DbCon.php'; 
     $sql = "select department_name from departments"; 

      echo"<select name = 'departments' value=''>Department Name</option>"; 

      foreach ($conn->query($sql) as $row){ 
       echo "<option value=$row[department_name]>$row[department_name]</option>";} 
      echo "</select>"; 

      ?> 
      <br></br> 
    <?php 
      include 'includes/DbCon.php'; 
     $sql = "select `location_name` from `location`"; 

      echo "<select name = 'location' value=''>Location Name</option>"; 

      foreach ($conn->query($sql) as $row){ 
       echo "<option value=$row[location_name]>$row[location_name]</option>";} 
      echo "</select>"; 

      ?> 
      <br></br><br> 
       <label for="date">Date From<br></label> 
       <input id="date1" type="date" name="dateF" 
         autofocus="true"/> 
      <br> 
      <br> 
       <label for="date">Date To<br></label> 
       <input id="date2" type="date" name="date2" 
         autofocus="true"/> 
      <br> 
      <br> 
      <input type="submit" class="button" value="Submit"> 

には、取得するためにポストを調整するとき、私は見る。しかしながらdepartmentReport.phpは、これは以下の結果をもたらします

<?php 


include "../includes/dbCon.php"; //* CONNECTION TO DATABASE 

$department = mysqli_real_escape_string($conn, $_POST['departments']); //* CLEAN DATA, THIS DELETES ANY SPECIAL CHARACTERS THAT CAN BE USED FOR MALICIOUS CODE 
$location = mysqli_real_escape_string($conn, $_POST['location']); //* CLEAN DATA, THIS DELETES ANY SPECIAL CHARACTERS THAT CAN BE USED FOR MALICIOUS CODE 
$date1 = mysqli_real_escape_string($conn, $_POST['date1']); //* CLEAN DATA, THIS DELETES ANY SPECIAL CHARACTERS THAT CAN BE USED FOR MALICIOUS CODE 
$date2 = mysqli_real_escape_string($conn, $_POST['date2']); //* CLEAN DATA, THIS DELETES ANY SPECIAL CHARACTERS THAT CAN BE USED FOR MALICIOUS CODE 

echo "$department"; 
echo "$location"; 
echo "$date1"; 
echo "$date2"; 

をactionedさ

department report form

result on submit

を送信選択した値 http://localhost:8888/departmentReport.php?departments=Marketing&location=London&dateFrom=02%2F01%2F2017

なぜ私はそれらをエコーするときに値を見ることができません!

ご協力いただければ幸いです。 、あなたがPHPでそれらを取得するときに

選択フォームで
<select name = departments value=''>Department Name</option> 

は、名前が「部署」ですが、:POSTデータを取得

答えて

0

あなたの変数は

選択部門htmlコードが間違っていますそれは間違った入力変数名です:

それは次のようになります。

また
$_POST['departments'] 

<select name = 'departments' value=''>Department Name</option> 

に選択名前にも間違って他のすべての変数を引用符マークを入れてください。

フォームの入力名ではなく、データベースの列名を入力したようです。

編集: 私はまた、あなたのPHPコードは、「POST」

+0

を使用している間、あなたのフォームで、フォーム「方法」が「GET」に設定されていることに気づいた私は、これは私が作ったケースだとは思いませんしかし、私が次のページを送信したときの改訂は空白になります。私はしかし、エコー "テスト"を置くことができます。結果は期待通りです。 "$ location"をエコーするとすぐに;たとえば、ページは空白です。 –

+0

それは変です。通常のフォーム送信は機能しますか?おそらく1つまたは2つの入力テキストボックスを使って簡単なフォームを作ってみて、それを提出して値を表示してみてください。 また、mysqli_real_escape_string()を使用せずに$ _POST []を使用すると、それが機能するかどうかを確認することができます –

+0

イルの演奏がありました。ボックス。選択した値を送信してから、値を送信しないようにしようとしています。 –

関連する問題