【发布时间】:2014-12-12 13:46:00
【问题描述】:
我正在尝试将用户输入表单中的数据获取到我的 wamp 服务器中。我尝试过加载不同的方法和编码,但没有一个可以工作并提交数据。你能帮我吗?我只做了一周的网页设计和数据库。
<?php
$username = "root";
$password = "";
$hostname = "localhost";
$database = "project";
//connection to the server
$dbhandle = mysqli_connect($hostname, $username, $password)
or die ("Unable to connect to server<br>");
echo "Connected to server<br>";
//connection to the database
$select_db = mysqli_select_db($dbhandle, $database)
or die ("Could not select Project database");
echo "connected to database";
//Getting the Values from the form
$Firstname = $_POST["Firstname"];
$Lastname = $_POST["Lastname"];
$DOB = $_POST["DOB"];
$Address = $_POST["Address"];
$Telephone_No = $_POST["Telephone_No"];
$NOK = $_POST["NOK"];
$NOK_Address = $_POST["NOK_Address"];
$vetting_date = $_POST["vetting_date"];
$Clearance_Expiry = $_POST["Clearance_Expiry"];
$Current_Employer = $_POST["Current_Employer"];
$Resubmission = $_POST["Resubmission"];
$Number_of_Attempts = isset($_POST["Number_of_Attempts"]) ? $_POST["Number_of_Attempts"] : 1;
$Qualification1 = $_POST["Qual_1"];
$date_completed_1= $_POST["date_completed_1"];
$Expiry_date_1 = $_POST["Run_out_date_1"];
$Qualification2 = $_POST["Qual_2"];
$date_completed_2 = $_POST["date_completed_2"];
$Expiry_date_2 = $_POST["Run_out_date_2"];
$Qualification3 = $_POST["Qual_3"];
$date_completed_3 = $_POST["date_completed_3"];
$Expiry_date_3 = $_POST["Run_out_date_3"];
$Qualification4 = $_POST["Qual_4"];
$date_completed_4 = $_POST["date_completed_4"];
$Expiry_date_4 = $_POST["Run_out_date_4"];
$Qualification5 = $_POST["Qual_5"];
$date_completed_5 = $_POST["date_completed_5"];
$Expiry_date_5 = $_POST["Run_out_date_5"];
$Qualification6 = $_POST["Qual_6"];
$date_completed_6 = $_POST["date_completed_6"];
$Expiry_date_6 = $_POST["Run_out_date_6"];
$Qualification7 = $_POST["Qual_7"];
$date_completed_7 = $_POST["date_completed_7"];
$Expiry_date_7 = $_POST["Run_out_date_7"];
$Qualification8 = $_POST["Qual_8"];
$date_completed_8 = $_POST["date_completed_8"];
$Expiry_date_8 = $_POST["Run_out_date_8"];
$Qualification9 = $_POST["Qual_9"];
$date_completed_9 = $_POST["date_completed_9"];
$Expiry_date_9 = $_POST["Run_out_date_9"];
$Qualification10 = $_POST["Qual_10"];
$date_completed_10 = $_POST["date_completed_10"];
$Expiry_date_10 = $_POST["Run_out_date_10"];
$why = $_POST["why"];
//inserting to the database
$query = "INSERT INTO `applicant` (`Firstname`, `Lastname`, `DOB`, `Address`, `Telephone_No`, `NOK`, `NOK_Address`, `vetting_date`, `Clearance_Expiry`, `Current_Employer`, `Resubmission`, `Number_of_Attempts`, `Why`)
VALUES (`$_POST[Firstname]`,`$_POST[Lastname]`,`$_POST[DOB]`,`$_POST[Address]`,`$_POST[Telephone_No]`,`$NOK`,`$NOK_Address`,`$vetting_date`,`$Clearance_Expiry`,`$Current_Employer`,`$Resubmission`,`$Number_of_Attempts`,`$why`)";
//$sql = "INSERT INTO qualification_link (date_completed) VALUES (`$date_completed_1`), (Run_out_Date) VALUES (`$Expiry_date_1`), (date_completed) VALUES (`$date_completed_2`), (Run_out_Date) VALUES (`$Expiry_date_2`), (date_completed) VALUES (`$date_completed_3`), (Run_out_Date) VALUES (`$Expiry_date_3`), (date_completed) VALUES (`$date_completed_4`), (Run_out_Date) VALUES (`$Expiry_date_4`), (date_completed) VALUES (`$date_completed_5`), (Run_out_Date) VALUES (`$Expiry_date_5`), (date_completed) VALUES (`$date_completed_6`), (Run_out_Date) VALUES (`$Expiry_date_6`), (date_completed) VALUES (`$date_completed_7`), (Run_out_Date) VALUES (`$Expiry_date_7`), (date_completed) VALUES (`$date_completed_8`), (Run_out_Date) VALUES (`$Expiry_date_8`), (date_completed) VALUES (`$date_completed_9`), (Run_out_Date) VALUES (`$Expiry_date_9`), (date_completed) VALUES (`$date_completed_10`), (Run_out_Date) VALUES (`$Expiry_date_10`)";
// $sql = "INSERT INTO qualification (Qual_1) VALUES (`$Qualification1`), (Qual_2) VALUES (`$Qualification2`), (Qual_3) VALUES (`$Qualification3`), (Qual_4) VALUES (`$Qualification4`), (Qual_5) VALUES (`$Qualification5`), (Qual_6) VALUES (`$Qualification6`), (Qual_7) VALUES (`$Qualification7`), (Qual_8) VALUES (`$Qualification8`), (Qual_9) VALUES (`$Qualification9`), (Qual_10) VALUES (`$Qualification10`)";
// successfully insert data into database, displays message "Successful".
if($query){
echo "Successful";
echo "<BR>";
echo "<a href=index.php>Back to Home page</a>";
}
else {
echo "Data not Submitted";
}
//closing the connection
mysqli_close($dbhandle)
?>
【问题讨论】:
-
首先,你不是在查询。然后,您在 VALUES 中使用了反引号,这些不是正确的标识符。在打开
<?php标记error_reporting(E_ALL); ini_set('display_errors', 1);后立即将错误报告添加到文件顶部,看看它是否产生任何东西以及or die(mysqli_error($dbhandle))到mysqli_query()。您也对大规模 SQL 注入持开放态度。 -
我们几乎需要一个带有错误内容的便签。早安@Fred-ii- ;)
-
@JayBlanchard 是的,粘性将是一个奖励。早安杰 ;)
-
做了error_reporting,仍然没有错误
-
您已经定义了变量,那么为什么要在查询中使用
$_POST['var']?只需使用变量。