Miten lähettää lomakevastaukset MySQL-tietokantaan PHP:llä

29. tammikuuta 2026

Ensin käymme läpi miten lomakevastausten tiedot voi lähettää Kiitos-sivulle. Tutustu tarkemmin oppaaseen täällä.

Oletamme että olet asettanut lomakkeen lähettämään lomakevastaukset johonkin URL-osoitteeseen, joten sinun tulee lisätä PHP/MySQL -koodi lomakevastausten lähettämiseksi MySQL-tietokantaan.

Jotformin lähettämä data on taulukkomuodossa, joten taulukon avainten ja arvojen löytämiseksi käytä alla olevaa koodia:

print_r($_POST);

Seuraavaksi lähetä testivastaus lomakkeella. Kun lähetät lomakkeen, lomakkeen tulisi uudelleenohjata sinut määrittämääsi URL-osoitteeseen, jolle myös post-data lähetetään. Tässä esimerkki datasta.
Lomake: https://www.jotform.com/form/11814245193

Array (
  [submission_id] => 186725738203177939
  [formID] => 11814245193
  [ip] => 203.177.93.98
  [name] => sample name test data
  [email] => email@example.com
  [phonenumber13] => Array (
    [0] => 3343
    [1] => 4234
  )
  [subject7] => Technical Support assistance
  [message6] => test
)

Voit myös testata PHP-skriptiä Postman -työkalulla. Lataa Postman täältä.

Testaa PHP-skripti nähdäksesi lähetetäänkö data oikein. Alla esimerkki POST-pyynnön lähetyksestä PHP-skriptinä Postmanin avulla.

Voit ladata esimerkin PHP-skriptistä täällä. Voit myös lähettää lomakevastauksen tälle lomakkeelle nähdäksesi tulokset itse.

Nyt voit hyödyntää lomakedataa ja luoda omia kenttiä tietokannassa.

PHP-skriptin luominen

Nyt kun olet luonut tietokannan, voit aloittaa PHP-skriptin luomisen.

Vaihe 1: Vähentääksesi mahdollisia SQL-injektiouhkia, käytä PHP:n addslash() funktiota jokaiselle arvolle. Koska $_POST on taulukko, alla oleva koodi luo loopin joka käy läpi jokaisen muuttujan:

// Funktio käy läpi jokaisen taulukon, mukaanlukien moniulotteiset taulukot
function ExtendedAddslash(&$params) {
  foreach($params as &$var) {
    // Tarkistaa onko $var taulukko. Jos on, funktio aloittaa uuden ExtendedAddslash() loopin.
    is_array($var) ? ExtendedAddslash($var) : $var=addslashes($var);
  }
}
// Luo ExtendedAddslash() funktion jokaiselle $_POST arvolle
ExtendedAddslash($_POST);

Vaihe 2: Alla olemme määrittäneet jokaisen POST-arvon. Huomaa myös, että alla olevassa esimerkissä on yhdistetty kaksi puhelinnumeroa yhteen esimerkin vuoksi:

$submission_id = $_POST['submission_id'];
$formID = $_POST['formID'];
$ip = $_POST['ip'];
$name = $_POST['name'];
$email = $_POST['email'];
$phonenumber = $_POST['phonenumber13'][0] . "-" . $_POST['phonenumber13'][1];
$subject = $_POST['subject7'];
$message = $_POST['message6'];

Vaihe 3: Nyt alustamme yhteydentietokantaan:

$db_host = 'db hostname here';
$db_username = 'db username here';
$db_password = 'db password here';
$db_name = 'name of your database';
mysql_connect($db_host, $db_username, $db_password) or die(mysql_error());
mysql_select_db($db_name) or die(mysql_error());

Vaihe 4: Tarkastaaksesi tarvitsetko insert-tai update-lauseita, alusta haku varmistaaksesi onko lomakevastauksen ID olemassa, ja aseta sitten ehto, että lomakevastauksen data päivitetään, jos lomakevastaus löytyy. Jos lomakevastausta ei löydy, lisätään uusi tietue:

// Etsi lomakevastauksen ID
$query = "SELECT * FROM `table_name` WHERE `submission_id` = '$submission_id'";
$sqlsearch = mysql_query($query);
$resultcount = mysql_num_rows($sqlsearch);
if ($resultcount > 0) {
  mysql_query(
    "UPDATE `table_name` SET
      `name` = '$name',
      `email` = '$email',
      `phone` = '$phonenumber',
      `subject` = '$subject',
      `message` = '$message'
    WHERE `submission_id` = '$submission_id'"
  ) or die(mysql_error());
} else {
  mysql_query(
    "INSERT INTO `table_name` (submission_id, formID, IP, name, email, phone, subject, message)
     VALUES ('$submission_id', '$formID', '$ip', '$name', '$email', '$phonenumber', '$subject', '$message')"
  ) or die(mysql_error());
}

Nyt olet valmis. Nimeä lomake Kiitossivu PHP -tiedostoksi ja lataa se niin, ettäse vastaa kiitossivun tietoja.

Tässä koko koodi:

// Funktio käy läpi jokaisen taulukon, mukaanlukien moniulotteiset
function ExtendedAddslash(&$params) {
  foreach($params as &$var) {
    // check if $var is an array. If yes, it will start another ExtendedAddslash() function to loop to each key inside.
    is_array($var) ? ExtendedAddslash($var) : $var=addslashes($var);
  }
}
// Alustaa ExtendedAddslash() funktion jokaiselle $_POST muuttujalle
ExtendedAddslash($_POST);

$submission_id = $_POST['submission_id'];
$formID = $_POST['formID'];
$ip = $_POST['ip'];
$name = $_POST['name'];
$email = $_POST['email'];
$phonenumber = $_POST['phonenumber13'][0] . "-" . $_POST['phonenumber13'][1];
$subject = $_POST['subject7'];
$message = $_POST['message6'];

$db_host = 'db hostname here';
$db_username = 'db username here';
$db_password = 'db password here';
$db_name = 'name of your database';
mysql_connect($db_host, $db_username, $db_password) or die(mysql_error());
mysql_select_db($db_name) or die(mysql_error());

// Hae lomakevastauksen ID
$query = "SELECT * FROM `table_name` WHERE `submission_id` = '$submission_id'";
$sqlsearch = mysql_query($query);
$resultcount = mysql_num_rows($sqlsearch);
if ($resultcount > 0) {
  mysql_query(
    "UPDATE `table_name` SET
      `name` = '$name',
      `email` = '$email',
      `phone` = '$phonenumber',
      `subject` = '$subject',
      `message` = '$message'
    WHERE `submission_id` = '$submission_id'"
  ) or die(mysql_error());
} else {
  mysql_query(
    "INSERT INTO `table_name` (submission_id, formID, IP, name, email, phone, subject, message)
     VALUES ('$submission_id', '$formID', '$ip', '$name', '$email', '$phonenumber', '$subject', '$message')"
  ) or die(mysql_error());
}

Lähetä viesti:

Jotform Avatar
Tämä sivusto on suojattu reCAPTCHA:lla, ja Googlen tietosuojakäytäntö sekä käyttöehdot ovat voimassa.

Podo Comment Ole ensimmäinen kommentoija.
Onko sinulla vielä vastaamattomia kysymyksiä?

We’re here for you 24/7, anytime you need us day or night. Have a question or need a hand with something? Our team is always ready to help out.