Како слати пријаве у твоју MySQL базу користећи PHP

May 12, 2022

Прво мораш да научиш како да шаљеш податке пријаве на твоју страну захвале. Ово можеш научити уколико кликнеш овде.

Претпостављајући да си подесио својобразац да шаље податке на прилагођену URL страну, мораћеш мало да програмираш PHP/MySQL, како би сачувао податке са обрасца.

Подаци које Jotform шаље је заправо низ, а како би сазнао вредности и кључеве низа, потребно је да додаш следеће у своју скрипту:

 print_r($_POST);
?>

Затим пошаљи свој образац како би видео резултат. Једном када си послао образац, требао би да будеш преусмерен на прилагођени URL са стране захвале која ће примити податке. Ево примера података са овог обрасца: https://form.jotform.com/220114028785956.

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
)

Такође је могуће тестирати твоју PHP скрипту користећи Postman алат. Можеш да кликнеш овде да га преузмеш.

Са овим алатом можеш тестирати своју PHP скрипту да видиш послате податке пријаве и покренеш једноставне методе за детекцију грешака чак и у локалном окружењу.

Хајде да пробамо један једноставан POST захтев са нашом PHP скриптом користећи Postman

Можеш преузети пример PHP скрипте овде. Буди слободан да пошаљеш образац да видиш податке у низу.

Сад кад имамо кључеве, можемо да се играмо са овом информацијом. Прво креирај поља у својој бази. За овај пример, поља изгледају овако:

Креирање PHP скрипте

Након што си креирао базу, можеш почети са креирањем скрипте.

Корак 1: Да спречиш убацивање нежељеног кода кроз SQL (SQL injection), потребно је покренути PHP addslash() функцију за сваку промењиву. А будући да су $_POST подаци у низу, креираћемо петљу која ће пролазити кроз сваку промењиву:

// Ова функција ће проћи кроз све нивое више-димензионалног низа
function ExtendedAddslash(&$params){
    foreach($params as &$var){
        // проверава да ли је $var низ. Уколико јесте, почеће још једну ExtendedAddslash() функцију како би се прошло кроз сваки кључ из низа.
        is_array($var) ? ExtendedAddslash($var) : $var=addslashes($var);
    }
}
// Иницијализација ExtendedAddslash() функције за сваки $_POST промењиву.
ExtendedAddslash($_POST);
?>

Корак 2: Сваком 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'];
?>

Корак 3: Сада повезујемо скрипту са MySQL базом података:

$db_host = 'ime hosta baze';
$db_username = 'korisnicko ime baze';
$db_password = 'sifra baze';
$db_name = 'ime baze';
mysql_connect( $db_host, $db_username, $db_password) ordie(mysql_error());
mysql_select_db($db_name);
?>

Корак 4: Како би се проверило да ли је потребно извршити додавање новог реда у табелу, или измену постојећег, прво се проверава да ли идентификатор пријаве већ постоји, и уколико га има, постојећи подаци ће бити измењени. Уколико није пронађен, нов ред ће се додати.

// претрага идентификатора
$query = "SELECT * FROM `table_name` WHERE `submission_id` = '$submission_id'";
$sqlsearch = mysql_query($query);
$resultcount = mysql_numrows($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'"
    ) ordie(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')"
    ) ordie(mysql_error());
}
?>

То је све. Именуј скрипту и отпреми је на свој сервер пратећи детаље које си подесио на страни захвале.

Следи цела скрипта:

// Ова функција ће проћи кроз све нивое више-димензионалног низа
functionExtendedAddslash(&$params){
    foreach($params as &$var){
        // проверава да ли је $var низ. Уколико јесте, почеће још једну ExtendedAddslash() функцију како би се прошло кроз сваки кључ из низа
        is_array($var) ? ExtendedAddslash($var) : $var=addslashes($var);
    }
}
// Иницијализација ExtendedAddslash() функције за сваки $_POST промењиву
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['messag
Да ли је ово било од помоћи?
Контактирај подршку:

Наш тим подршке је доступан 24/7 и просечно време одговора је до 2 сата.
Можеш контактирати наш тим путем:

Форум подршке: https://www.jotform.com/answers/

Контактирај Jotform подршку: https://www.jotform.com/contact/

Пошаљи коментар:

Jotform Avatar
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Коментар:

Podo CommentБуди први који ће прокоментарисати