我的数据库名称是登录名,并有一个名为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>
答案 0 :(得分:2)
PHP的isset()
返回一个布尔值。因此,您的class MyClass {
build(methods) {
methods.forEach((method) => {
if (this.method) {
this.method();
}
});
}
stuff() {}
moreStuff() {}
}
const a = MyClass();
a.build(['stuff', 'moreStuff']);
和hasOwnProperty
变量将分别设置为$user_name
或$post
,而不是从您的表单中发布的值。
根据true
的值,考虑有条件地设置值
我更喜欢使用ternary operator来包含一些验证:
false
表达式(expr1)? (expr2):( expr3)如果expr1的计算结果为TRUE,则计算结果为expr2;如果expr1计算结果为FALSE,则计算结果为expr3。