2016-01-14 5 views
-3

Я не понимаю, почему мои данные не вставляются в базу данных. Пожалуйста, помогите мне. Я использую одну страницу, на которой html и php находятся на одной странице. Я пробовал это много раз, но данные не вставляются.почему мои данные не вставляются в базу данных

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <title>Quickstart pack</title> 
    </head> 
    <body> 

    <form action="index.php" method="post"> 
     Name: <input type="text" name="name"/></br> 
     Email: <input type="text" name="email"/></br> 
     Phone: <input type="text" name="phone"/></br> 
     <input type="submit" value="submit"/> 
    </form> 

<?php 
if(isset($_POST['submit'])) { 
    $conn = mysql_connect("localhost", "root", ""); 
    if (!$conn) { 
     die("mysql is not connected" . mysql_error()); 
    } 
    $data = mysql_select_db("customerInfo", $conn); 

    $sql = "INSERT INTO customer (Name, Email_id, Phone) VALUES ('$_POST[name]','$_POST[email]','$_POST[phone]')"; 
    mysql_query($sql, $conn); 

    mysql_close($conn); 
} 
?> 
    </body> 
</html> 
+0

Вы получаете какие-либо ошибки PHP? –

+7

Здесь много чего не так. Пожалуйста, прекратите использовать ** mysql _ ***, поскольку они устарели, начните использовать ** PDO ** или ** mysqli _ ***. Вы также широко открыты для SQL-инъекций, поэтому, пожалуйста, начните использовать ** подготовленные заявления ** – Naruto

+0

@Naruto. Успокойте бутон. Держу пари, что это не для живого сайта. –

ответ

2
<input type="submit" value="submit"/> 

Заменить:

<input type="submit" name="submit" value="submit"/> // missing name attribute. 

Вы проверяете if(isset($_POST['submit'])), но нет какой-либо elemnt с именем представить.

+2

Чтобы быть справедливым, как только OP делает это, есть много других ошибок, которые требуют коррекции. Это единственное изменение не решит проблему. –

1

Использование

if ($_SERVER['REQUEST_METHOD'] == 'POST') { // fired after form post 

вместо:

if(isset($_POST['submit'])) { // fired after submit hit 

Кроме того, вы используете функции mysql_. Они устарели (php 5.x)/удалены (php 7). Вместо этого используйте mysqli_ или PDO.

2

1) Отсутствует Name Атрибут в кнопке отправки.

2) Изменение $_POST[textfieldName] в $_POST['textfieldName']

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <title>Quickstart pack</title> 
    </head> 
    <body> 

    <form action="index.php" method="post"> 
     Name: <input type="text" name="name"/></br> 
     Email: <input type="text" name="email"/></br> 
     Phone: <input type="text" name="phone"/></br> 
     <input type="submit" value="submit" name='submit'/> 
    </form> 

<?php 
if(isset($_POST['submit'])) { 
    $conn = mysql_connect("localhost", "root", ""); 
    if (!$conn) { 
     die("mysql is not connected" . mysql_error()); 
    } 
    $data = mysql_select_db("customerInfo", $conn); 

    $sql = "INSERT INTO customer (Name, Email_id, Phone) VALUES ('".$_POST['name']."','".$_POST['email']."','".$_POST['phone']."')"; 
    mysql_query($sql, $conn); 

    mysql_close($conn); 
} 
?> 
    </body> 
</html> 
Смежные вопросы