if(isset($ _ POST [' submit'])){}不在提交按钮上工作

时间:2015-04-13 09:45:45

标签: php html mysql phpmyadmin isset

我有一个问题,即如果我加载页面,即使我没有按下提交,表格也已完成,这是代码 -

<?php
    $db_host = 'localhost';
    $db_name = 'info';enter code here
    $db_user = 'root';
    $db_password = '';

    try {
        $db = new PDO('mysql:host=' . $db_host . ';dbname=' . $db_name, $db_user, $db_password);
        echo "connected<br><br>";
    } catch (PDOException $e) {
        echo "Error: " . $e->getMessage();
        die();
    }

    if(isset($_POST['submit'])){
        $name = $_POST['name'];
        $phone = $_POST['phone'];
        $email = $_POST['email'];
        $info = $_POST['info'];
        $date = $_POST['date'];

        $sql = "INSERT INTO info (name, phone, email, info, date)";
        $sql .= " VALUES (:name, :phone, :email, :info, :date)";
        $query = $db->prepare($sql);
        $query->execute(array(
            ':name' => $name,
            ':phone' => $phone,
            ':email' => $email,
            ':info' => $info,
            ':date' => $date
        ));

        echo "done<br>";
    }
?>

2 个答案:

答案 0 :(得分:0)

添加支票以便检查或张贴某些内容:

if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
  //You code
}

我希望这会有所帮助。

答案 1 :(得分:0)

只需使用一个&&条件和isset

让我们说,如果这是你的提交按钮

<input type="submit" value="SomeValue" name="SomeName">

然后你只需使用它作为if条件来检查实际上是否按下了名为“SomeName”的按钮。

if(isset($_POST['SomeName']) && $_POST['SomeName']=='SomeValue')
{
   //Rest of your code
}

这意味着,在检查其值后,您的提交按钮已被按下。希望能帮助到你。