我是数据库开发的新手,并且真的在格式化方面苦苦挣扎。对于我的生活,我似乎无法消除错误。我有一个简单的html表单,我传递给我的php文件提交给我的本地主机。无论出于何种原因,我似乎无法在值中添加$ _POST。我确定我错过了一些东西,也许这里有人可以提供帮助。
提前致谢!
<form method="post" action="demo.php">
<input type="text" id="fname">
<input type="text" id="lname">
<input type="text" id="email">
<input type="submit" value="Go!">
</form>
我的demo.php是:
<html>
<body>
<?php
$servername = "localhost";
$username = "myuser";
$password = "";
$dbname = "my_db";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql =
'INSERT INTO
test_tb (firstname, lastname, email)
VALUES
(
"echo $_POST['fname']",
"echo $_POST['lname']",
"echo $_POST['email']"
)';
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
;
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
</body>
</html>
答案 0 :(得分:0)
首先改变你的形式..
看看你的输入;以此为例:
<input type="tel" id="tel" pattern=".{10}" maxlength="10" required />
<input type="button" id="btn-1" value="Viber" onClick="javascript: window.open('viber://chat?number=%2B38' + document.getElementById('tel').value, '_self');" />
这缺少<input type="text" id="fname">
属性,因此在提交表单时将无法正确设置;它一定是这样的:
name
其次,如果要连接字符串,则不使用<input type="text" id="fname" name="fname">
,echo
用于输出文本。要在PHP中将字符串附加在一起,您应该阅读string operators
第三,也是最重要的;
使用prepare输入您的数据。永远不要将$ _POST直接传递给您的查询。
echo