我试图在我的数据库中保存我的信息。我的下面的表单将代码发送到数据库,但如果我更新页面,重新加载它或者只是加载页面,表单中的信息将被发送到我的数据库。
它应该以这种方式工作,当您单击“提交”时,信息将被发送 - 并且仅当您单击提交时。
我认为我错过了某种形式的琐事!
这是我的PHP代码:
<?
include "../config.php";
mysql_query("insert into profiles set name= '".$_POST["name"]."', age= '".$_POST["age"]."', text= '".$_POST["text"]."', country = '".$_POST["country"]."'");
?>
我的表格如下:
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" name="myform" id="myform">
name: <input type="text" name="name"><br />
age: <input type="text" name="age"><br />
text: <input type="text" name="text"><br />
country: <textarea name="country" rows="5" cols="40"></textarea><br />
<input type="submit">
</form>
我的错误是什么?请指教。
答案 0 :(得分:0)
使用isset
如
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" name="myform" id="myform">
name: <input type="text" name="name"><br />
age: <input type="text" name="age"><br />
text: <input type="text" name="text"><br />
country: <textarea name="country" rows="5" cols="40"></textarea><br />
<input type="submit" name="submit_name">
</form>
添加name
属性以提交按钮
<?
include "../config.php";
if(isset($_POST['submit_name']))
{
mysql_query("insert into profiles set name= '".$_POST["name"]."', age= '".$_POST["age"]."', text= '".$_POST["text"]."', country = '".$_POST["country"]."'");
}
?>
现在您的查询仅在单击提交按钮时运行
答案 1 :(得分:0)
您应该使用名称修复按钮:
<input name="formSubmit" type="submit">
然后你可以检查按钮是否真的很容易按下
if(isset($_POST["formSubmit"]) == true) {
mysql_query("insert into profiles set name= '".$_POST["name"]."', age= '".$_POST["age"]."', text= '".$_POST["text"]."', country = '".$_POST["country"]."'");
}
答案 2 :(得分:0)
试试这个简单的代码:
<强> HTML:强>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" name="myform" id="myform">
name: <input type="text" name="name"><br />
age: <input type="text" name="age"><br />
text: <input type="text" name="text"><br />
country: <textarea name="country" rows="5" cols="40"></textarea><br />
<input type="submit" name="send">
</form>
<强> PHP:强>
<?php
include "../config.php";
if (isset($_POST['send'])) {
mysql_query("insert into profiles set name= '".$_POST["name"]."', age= '".$_POST["age"]."', text= '".$_POST["text"]."', country = '".$_POST["country"]."'");
}
?>
答案 3 :(得分:0)
将提交按钮更改为
<input type="submit" name="btn" value="Submit">
和
if(isset($_POST[btn]))
{
//write your query here
}
答案 4 :(得分:-1)
保存到数据库时尝试此代码
<?php
mysql_query("INSERT INTO profiles ('name','age','text') VALUES ('".$_POST[name]."','".$_POST[age]."','".$_POST[text]."')");
在没有htmlspecialchars的情况下修复表单上的action属性
<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>" name="myform" id="myform">