为什么我的'if(isset)不与mysql交互'

时间:2012-08-20 09:48:15

标签: php mysql json isset

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

6 个答案:

答案 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']))