2015-04-13 2 views
-2

У меня проблема, когда когда я загружаю свою страницу, она говорит, что форма выполняется, даже если я не нажимаю submit здесь это код -

<?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>"; 
    } 
?> 
+0

Пожалуйста, разместите свою форму HTML – PKeidel

+0

, какие ошибки вы получаете? –

+0

- это имя кнопки отправки формы 'submit' ?? пожалуйста, повторите проверку –

ответ

0

Добавить чек поэтому он проверяет или что-то опубликовано:

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

Я надеюсь, что это поможет.

0

Просто используйте один && условие вместе с isset

Давайте просто скажем, если это кнопки ваш отправить

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

Тогда вы просто использовать это как ваш, если условие, чтобы проверить, если ваша кнопка с именем «SomeName» на самом деле нажата.

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

Это означает, что кнопка отправки нажата после проверки ее значения. Надеюсь, поможет.

+0

Пожалуйста, объясните, почему мой ответ был ниспровергнут? – arkumar

Смежные вопросы