[英]php form data not being submitted in database correctly
我的數據庫名稱是login,並且有一個名為users的表,該字段分為三列:name,id和post。 當我按下“提交”按鈕時,id會增加,並會創建新記錄,但在這些字段中不會創建任何實際數據。 請幫忙
<?php
$servername="localhost";
$username="root";
$password="";
$dbname="login";
$conn=new mysqli($servername,$username,$password,$dbname);
if($conn->connect_error){
die("connection error:".$conn->connect_error);
}else{
echo 'connected successfully';
}
#defining varriables
$user_name = isset($_POST['user_name']);
$post = isset($_POST['post']);
#connect this to login details and pick the userrname
$sql="INSERT INTO posts(user_name,post)
VALUES('$user_name','$post')";
if($conn->query($sql)===TRUE){
echo "your post was published";
}?>
表格數據
<form action="" method="post">
<input type="text" name="user_name"/>
<input type="text" name="post"/>
<input type="submit" name="post to cdrone"/>
</form>
PHP的isset()
返回一個布爾值。 因此,您的$user_name
和$post
變量都將被設置為true
或false
,而不是從表單中發布的值。
考慮根據isset()
的值有條件地設置值。
我更喜歡使用三元運算符來包含一些驗證:
if (!empty($_POST)) {
$user_name = !empty(trim($_POST['user_name'])) ? trim($_POST['user_name']) : false;
$post = !empty(trim($_POST['post'])) ? trim($_POST['post']) : false;
if (!$user_name) {
echo "User Name is required.";
} elseif (!$post) {
echo "Post is required.";
} else {
// insert into database
}
}
表達式(expr1)? (expr2):(expr3)如果expr1計算為TRUE,則計算為expr2,如果expr1計算為FALSE,則為expr3。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.