[英]Values are not inserting in MySQL form from php form even after successful submission
我是PHP和MySQL的新手。 我創建了一個php表單來將一些數據保存到databse表中。 提交表格后,
“添加了1條記錄”
如php插入字符串中所指定。 但是在phpmyadmin中打開表后,它顯示添加了新行,但其中沒有數據。
php形式為:
<h2>Register Yourself</h2>
<form method="post" action="get-member.php">
<div>
<span><p>First Name:</p></span>
<span><input type="text" class="form-control" id="FirstName"></span>
</div>
<div>
<span>Last Name:</span>
<span><input type="text" class="form-control" id="LastName"></span>
</div>
<div>
<span>Father's Name: </span>
<span><input type="text" class="form-control" id="FatherName"></span>
</div>
<div>
<span>Mother's Name: </span>
<span><input type="text" class="form-control" id="MotherName"></span>
</div>
<div>
<span>Date of Birth: </span>
<span><input type="date" class="form-control" id="DOB"></span>
</div>
<div>
<span>Address: </span>
<span><input type="text" class="form-control" id="Address"></span>
</div>
<div>
<span>City: </span>
<span><input type="text" class="form-control" id="City"></span>
</div>
<div>
<span>District: </span>
<span><input type="text" class="form-control" id="District"></span>
</div>
<div>
<span>Postal Code: </span>
<span><input type="text" class="form-control" id="PostalCode"></span>
</div>
<div>
<span>Personal Mobile #:</span>
<span><input type="number" class="form-control" id="Pmobile"></span>
</div>
<div>
<span>Father's Contact #:</span>
<span><input type="number" class="form-control" id="Fmobile"></span>
</div>
<div>
<span>Mother's Contct #:</span>
<span><input type="number" class="form-control" id="Mmobile"></span>
</div>
<div>
<span>Home contact #:</span>
<span><input type="number" class="form-control" id="Hmobile"></span>
</div>
<div>
<span><input type="submit" value="Register"></span>
</div>
</form>
而get-member.php文件是:
<?php
//stablising connection
include("../database/connection.php");
//escape variables for security
$FirstName = mysqli_real_escape_string($con, $_POST['FirstName']);
$LastName = mysqli_real_escape_string($con, $_POST['LastName']);
$FatherName = mysqli_real_escape_string($con, $_POST['FatherName']);
$MotherName = mysqli_real_escape_string($con, $_POST['MotherName']);
$DOB = mysqli_real_escape_string($con, $_POST['DOB']);
$Address = mysqli_real_escape_string($con, $_POST['Address']);
$City = mysqli_real_escape_string($con, $_POST['City']);
$District = mysqli_real_escape_string($con, $_POST['District']);
$PostalCode = mysqli_real_escape_string($con, $_POST['PostalCode']);
$Pmobile = mysqli_real_escape_string($con, $_POST['Pmobile']);
$Fmobile = mysqli_real_escape_string($con, $_POST['Fmobile']);
$Mmobile = mysqli_real_escape_string($con, $_POST['Mmobile']);
$Hmobile = mysqli_real_escape_string($con, $_POST['Hmobile']);
$sql="INSERT INTO RUPmembers (FirstName, LastName, FatherName, MotherName, DOB, Address, City, District, PostalCode, Pmobile, Fmobile, Mmobile, Hmobile)
VALUES ('$FirstName','$LastName','$FatherName','$MotherName','$DOB','$Address','$City','$District','$PostalCode','$Pmobile','$Fmobile','$Mmobile','$Hmobile')";
if (!mysqli_query($con,$sql))
{
die ('Error:' . mysqli_error($con));
}
echo "1 Record addedd";
//closing connection
include("../database/close-connection.php");
?>
插入3個數據后的phpmyadmin表:
[ 對不起,它要求獲得10個回購才能添加圖像,但這是截圖的鏈接http://oi60.tinypic.com/n6rtyu.jpg ]
您正在使用id =“ FirstName”
您需要為每個字段設置屬性name
。 例如:
name="FirstName"
要調試它,您應該使用var_dump($_POST)
查看$_POST
變量,以顯示正在從表單傳遞的內容。
注意:應該保護查詢免受從用戶收到的任何數據的影響,以防止sql注入。 請參閱這篇文章,以了解如何避免這種情況。
更改
輸入type =“ text” class =“ form-control” id =“ LastName”>
至
輸入type =“ text” class =“ form-control” name =“ LastName”>
這應該可以解決您的問題,但是請不要將用戶未處理的信息插入查詢中。
要通過php從html表單捕獲數據,應在$ _post ['']方法內指定名稱,而不是id。 使用name="FirstName" name="LastName" name="DOB"
等。
它將解決問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.