2016-05-24 5 views
0

Я создаю сайт как активность, и я не уверен, как действовать дальше. У меня есть файл базы данных (.db) с информацией о клиенте (имя, фамилия, адрес, телефон), и я хочу создать форму для ввода большего количества данных в эти поля.PHP Создание формы для вставки данных в базу данных

Я дал функцию в отдельном файле с именем queryDb.php:

function addCustomer($fname, $lname, $address, $phone) { 

     $db = new MyDB(); 
     if(!$db){ 
     echo '<script type="text/javascript">alert("'.$db->lastErrorMsg().'");</script>'; 
     } else { 
     //echo "Opened database successfully\n"; 
     } 

     $sql ='INSERT INTO CUSTOMERS (FIRSTNAME, LASTNAME, ADDRESS, PHONE) VALUES ("'.$fname.'", "'.$lname.'", "'.$address.'", "'.$phone.'");'; 
     $db->query($sql); 
    } 

В моем главном файле PHP У меня есть это до верхней:

<?php 
     require_once "queryDb.php"; 
     $firstname = $_POST["firstname"]; 
     $lastname = $_POST["lastname"]; 
     $address = $_POST["address"]; 
     $phone = $_POST["phone"]; 

     ?> 

и форму, Я только создал его для двух входов, адрес и телефон, чтобы проверить:

<form action="reviewsubmit.php" method="post"> 
    Test Address 
    <input type="text" id="address" name="address" placeholder="test"> /> 
    Test phone 
    <input type="text" id="phone" name="phone" placeholder="test"> /> 
    <input type="submit" name="Submit" value="Submit" /> 
</form> 

Я не знаю, как я могу вызвать функцию из другой файл для использования в этом файле. Как я могу это сделать?

ответ

0

Все вроде нормально, вызовите функцию после этого:

<?php 
    require_once "queryDb.php"; 
    $firstname = $_POST["firstname"]; 
    $lastname = $_POST["lastname"]; 
    $address = $_POST["address"]; 
    $phone = $_POST["phone"]; 

    addCustomer($firstname, $lastname, $address, $phone); 
+0

Спасибо, не понял, что все было так просто. Однако есть только одна проблема. Когда я отправляю информацию в базу данных с помощью формы, она отправляет пустые значения для всего, когда я нажимаю кнопку «Отправить» в первый раз. Затем, когда я снова нажимаю submit, он отправляет фактические значения: https://i.gyazo.com/9cfbafbc573151c10dc6969ed22caebc.png – EbonyDoe

0

В основном файле PHP, вы должны написать следующее:

if($_POST) 
{ 
    require_once "queryDb.php"; 
    $firstname = $_POST["firstname"]; 
    $lastname = $_POST["lastname"]; 
    $address = $_POST["address"]; 
    $phone = $_POST["phone"]; 
    $result = addCustomer($firstname, $lastname, $address, $phone); 
    //Some redirect here based on the result 
} 

Конечно, вы должны убедиться, что действие вашей формы (reviewsubmit.php) правильно (ваш главный файл PHP должен быть reviewsubmit. php, иначе измените действие как желаемый файл).

Также вы должны добавить ПгвЬЫате и LastName входов в форму, как следующее:

Firstname 
<input type="text" id="firstname" name="firstname" placeholder="Enter Firstname"> /> 
Lastname 
<input type="text" id="firstname" name="firstname" placeholder="Enter Firstname"> /> 
0

вы sould использовать два отдельные файл, один с вашей формой, другой с функцией rour. И сделайте ajax-вызов вашей функции.