2017-02-04 1 views
0

DB에서 채울 부서 및 위치의 값을 가져 와서 드롭 다운 상자를 제대로 작동 시키려고 시간을 보냈습니다. 이것은 정상적으로 작동하며 고객이 특정 기간, 위치 및 부서에 대한 레코드를 선택할 수 있도록 날짜 필드를 추가했습니다. departmentReport.php를 실행하는 양식을 실행하면 아래 표시된 것처럼 각 값을 반향하려고 할 때도 페이지가 공백으로 반환됩니다. 에가 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"> 

이 게시물을 조정할 때 그러나 내가 볼 얻을 ..

department report form

result on submit

<?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"; 

이 아래의 결과를 불러옵니다 조치가 취해있다 내가 선택한 값 http://localhost:8888/departmentReport.php?departments=Marketing&location=London&dateFrom=02%2F01%2F2017

왜 내가 그 값을 표시 할 때 값을 볼 수 없는지 확실하지 않습니다!

도움을 주시면 감사하겠습니다. , 당신은 PHP에서 그들을 검색 할 때

선택 형태에서
<select name = departments value=''>Department Name</option> 

는, 이름이 "부서"하지만 : 포스트 데이터를 검색

답변

0

귀하의 변수는

선택 부서 html 코드 잘못 그것은 :

잘못된 입력 변수 이름입니다. 그것은해야한다 :

또한
$_POST['departments'] 

, 따옴표 선택 이름

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

다른 모든 변수도 잘못에 표시를 넣어주십시오.

양식 입력 이름이 아닌 데이터베이스 열 이름을 입력 한 것처럼 보입니다.

편집 : 나는 또한 양식에서 양식 "방법은"당신의 PHP 코드가 "POST"를 사용하는 동안 나는이 내가 만든 경우라고 생각하지 않습니다

+0

를 "GET"으로 설정되어있는 것으로 나타났습니다 그러나 다음 페이지를 제출할 때 개정 사항은 공백이됩니다. 그러나 나는 echo "test"를 넣을 수있다; 결과는 예상대로입니다. 내가 "$ 위치"를 되풀이하자마자. 예를 들어 페이지가 비어 있습니다. –

+0

이상 하네. 정상적인 양식 제출 작품입니까? 어쩌면 1 또는 2 입력 텍스트 상자를 사용하여 간단한 양식으로 만들어보고 제출하고 값을 표시하십시오. 또한 mysqli_real_escape_string()을 사용하지 않고 $ _POST []를 사용해보십시오. 작동하는지 확인하십시오. –

+0

Il이 지금 플레이를 해 주셔서 감사합니다. 문제가있는 것 같습니다. 드롭 다운을 위해 db에서 값을 선택하고 있습니다. 상자. 내가 선택한 값을 앞으로 제출하려고 할 때 어떤 값도 전송하지 않습니다. –

관련 문제