2014-11-05 1 views
0

내가 테스트 목적으로 물건을 주석 도와주세요 아무것도하지만 당신은 definietly 디버깅하는 방법을 배울 필요가드롭 다운에서 기본 키를 캡처하고 다른 테이블의 외래 키로 삽입하는 방법은 무엇입니까?

<?php 
    //retrieve the data sent in the POST request 

     $yourDateOrdered =$_POST["DateOrdered"]; 
     $yourDueDate = $_POST["DueDate"]; 
     if(isset($_POST["CompanyName"])){$yourCompanyName = $_POST["CompanyName"];} 


    //Validate the fields 
     if ($yourDateOrdered=="" || $yourDateOrdered==null){ 
       $err= $err."Please enter the date the purchase order was made<br>"; 
      } 

     if ($yourDueDate=="" || $yourDueDate==null){ 
      $err= $err. "Please enter a date when the item is required<br>"; 
      } 

     //if ($yourCompanyName=="" || $yourCompanyName==null){ 
      //$err= $err."Please enter the customer name<br>"; 
      //}    

    //Connect to the server and select database 
     include("dbConnection.php"); 

    //define sql query to execute on the database 
     $Query1="INSERT INTO orders(CompanyName, DateOrdered, DueDate) 
     VALUES ('$yourCompanyName','$yourDateOrdered', '$yourDueDate')"; 

     //execute query 
     //$result = mysql_query($Query1); 

      //echo("The following order has been added"); 


    //result of the action stored in $Result 
     $Result = mysql_query($Query1); 

     if($Result){ 
      echo 'Order entered'; 
      echo Header ("Location:orderformitem.php"); 

      } 

    //Close the connection 
     mysql_close($con); 

    //Check if query executed successfully and forward the user to an appropriate location 
     //if($queryResult){ 
      //echo "Order save <br>"; 
       //Header ("Location:../PHP/orderformitem.php"); 
       //} 
?> 
+1

댓글을 달았습니다. 댓글을 달았을 때 댓글을 달아 작업 상태로 되돌릴 수 있습니까? 이 질문과 "테스트 목적"사이의 연관성을 이해하지 못합니까? – Fluffeh

+0

내 yourCompanyName이 정의되지 않은 변수임을 계속 알려줍니다. – Gummybear

답변

0
  • 작동하지 않습니다. 먼저 오류를 잡으려고 Header('Location ...'); 행을 주석 처리합니다.

  • 파일 상단에 error_reporting(E_ALL);display_errors(1);을 추가하면 오류를 볼 수 있습니다.

  • 보자. var_dump($_POST)을 보자. 모든 변수가 정확하다.

  • 정확한 날짜를 원하면 날짜 확인을 수행하십시오.

  • 쿼리를 덤프하고 SQL에서 직접 실행 해보십시오.

  • 은 더 이상 사용되지 않으므로 mysql 함수를 사용하십시오. mysqli 또는 PDO를 대신 사용하십시오.

  • SQL 인젝션을 피하려면의 데이터를 탈출하십시오!

관련 문제