为什么我的'if if(isset($ _ POST ['submit']))不与mysql交互'
请告诉我,我哪里出错,我已经过了一千次并检查了互联网......这是很多代码,但我想我已经监督了一些事情。我为自己发了言,所以我不会忘记一些愚蠢的“;”。
提前致谢
http://appsolute.vacau.com/cms
<html>
<head>
<title>Milan CMS</title>
</head>
<body>
<?php
mysql_connect("mysql15.000webhost.com", "a96443****tjiran", "ev****89") or die(mysql_error()); //opening database
mysql_select_db("a9644326_app") or die(mysql_error());
$result = mysql_query("select * from milan") or die(mysql_error()); //get msql database into $result
$content = mysql_fetch_array ($result); // make $content represent current entry
?>
<form action="<?php echo $PHP_SELF;?>" method="post" name="trainingen">
<h3>Trainingen:</h3><p><textarea name="nametrainingen" rows="10" cols="60"><?php echo $content['value']; ?></textarea></p>
<input type="submit" value="Verzenden"><input type="reset" value="Veld leeg maken">
</form>
<?php
if (isset($_POST['submit']))
{ //test if submit button is clicked
mysql_query("DELETE FROM milan WHERE tag='trainingen'") or die(mysql_error()); //delete old entry
$input = $_POST['nametrainingen']; //set $input as current entry
mysql_query("INSERT INTO milan (tag, value) VALUES ('trainingen', '$input')") or die(mysql_error()); //set tag, value as trainingen and $input(current entry)
$result = mysql_query("select * from milan") or die(mysql_error()); //reset $result to new database
$content = mysql_fetch_array ($result); //make $content represent new entry
$myFile = "trainingen.json";
$fh = fopen($myFile, 'w') or die("can't open file");
fwrite($fh, json_encode($content));
fclose($fh);
}
?>
<p>
</body>
</html>
答案 0 :(得分:4)
$_POST
是一个超全局数组,它包含随表单提交的所有表单元素的关联数组。您没有name="submit"
的输入,因此isset()
失败。
答案 1 :(得分:3)
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" name="trainingen">
不是$PHP_SELF
答案 2 :(得分:2)
您的代码中没有“name”属性为“submit”的标记。 替换:
<input type="submit" value="Verzenden">
使用:
<input name="submit" type="submit" value="Verzenden">
答案 3 :(得分:1)
尝试
<input type="submit" name="submit" value="Verzenden">
但是警告 - 你的代码是不安全的。在谷歌搜索SQL注入。
答案 4 :(得分:1)
在提交按钮<input type="submit" value="Verzenden">
中。您错过了name="submit"
。
应该是
<input type="submit" value="Verzenden" name="submit">
答案 5 :(得分:0)
提交按钮不会将任何内容传递给表单。要确认这一点,您可以尝试var_dump($_POST)
。该呼叫的替代品将是
if (count($_POST))
但是,你仍然可以获得通知和失败的mysql查询,所以你应该做
if (isset($_POST['nametrainingen']))