2014-11-05 57 views
0

請幫我評論了一些東西,出於測試目的,但沒有工作如何從下拉捕獲主鍵並插入另一個表的外鍵?

<?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 2014-11-05 10:54:53

+0

它一直告訴我我的yourCompanyName是一個未定義的變量 – Gummybear 2014-11-05 20:47:26

回答

0
  • 您definietly需要學習如何調試。首先,註釋掉Header('Location ...');行,以便發現錯誤。

  • 在您的文件頂部添加error_reporting(E_ALL);display_errors(1);以查看任何錯誤。

  • 我們來看看var_dump($_POST),就是所有的變量都是正確的。

  • 做一個日期驗證,如果你想要正確的日期。

  • 轉儲您的查詢,並嘗試直接在sql中運行它。

  • 不要使用mysql函數是因爲它們已被棄用。改用mysqli或PDO。

  • 轉義您的數據,避免sql注入!