1

为什么我的 '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>
4

6 回答 6

4

$_POST是一个超全局数组,包含与表单一起提交的所有表单元素的关联数组。你没有输入name="submit",所以你isset()失败了。

于 2012-08-20T09:51:33.483 回答
3
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" name="trainingen">

不是$PHP_SELF

于 2012-08-20T09:57:07.250 回答
2

您的代码中没有“名称”属性为“提交”的标签。代替:

<input type="submit" value="Verzenden">

和:

<input name="submit" type="submit" value="Verzenden">
于 2012-08-20T09:51:42.190 回答
1

尝试

<input type="submit" name="submit" value="Verzenden">

但是警告-您的代码不安全。在 google 中搜索 SQL 注入。

于 2012-08-20T09:51:20.543 回答
1

在您的提交按钮<input type="submit" value="Verzenden">中。你错过了name="submit"

它应该是

<input type="submit" value="Verzenden" name="submit"> 
于 2012-08-20T09:53:01.513 回答
0

提交按钮不会将任何内容传递给表单。要确认这一点,您可以尝试var_dump($_POST). 该电话的替代品是

if (count($_POST))

但是,您仍然可以收到通知和失败的 mysql 查询,因此您应该这样做

if (isset($_POST['nametrainingen']))
于 2012-08-20T09:51:34.520 回答