Уколико си упознат са Jotform Webhook, ево су примери неких скрипта које можеш да пробаш.
Не заборави да измениш имена поља на скриптама са именима поља из твог обрасца.
Тренутна имејл обавештења – Примај тренутна имејл обавештења користећи сопствени сервер за слање.
<?php
// конвертује json податке за php
$result = $_REQUEST['rawRequest'];
$obj = json_decode($result, true);
// Подеси сопствена имејл подешавања
$emailfrom = "marko@primer.com"; // Пошаљилац
$emailto = "jasmina@primer.com"; // Прималац, можеш користити константну вредност или користити вредност поља, на пример $obj['q4_imejl']
$subject = "Примљена је нова пријава"; // Тема имејла
// Следеће линије скрипте не мењај
$id = $_POST['submissionID']; // Преузима идентификатор пријаве
$submissionURL = 'https://www.jotform.com/submission/' . $id; // Креира URL пријаве
$headers = "From: ".$emailfrom."rn";
$headers. = "Reply-To: ".$emailfrom."rn"; // Опционо
$headers. = "MIME-Version: 1.0rn";
$headers. = "Content-Type: text/html; charset=utf-8rn";
// Нова метода, преузимање података са стране пријаве
$html = new DOMDocument;
$html->loadHTML(file_get_contents($submissionURL));
$body = $html->getElementsByTagName('body')->item(0);
// Преузима HTML код након „body“ тага
foreach ($body->childNodesas$child){
$html->appendChild($html->importNode($child, true));
}
// Следеће линије чине табелу прилагођеним за различите уређаје
$body=$html->getElementsByTagName('table');
foreach ($bodyas$width) {
$width->setAttribute('width', '100%');
}
$body=$html->saveHTML();
// Слање мејла
@mail($emailto, $subject, $body, $headers);
?>
- Код: https://pastebin.com/embed_iframe/tkFzzdy4
- Пример имејла:
SMS Обавештење – Слање SMS поруке након примања пријаве користећи API твог пружаоца услуге
<?php
// Преузимање вредности поља
$result = $_REQUEST['rawRequest'];
$obj=json_decode($result, true);
// Замени свој API кључ и приступне податке
$authKey = "tvojAPIkljuc";
$senderId = "102234";
$route = "default";
// Замени имена поља са својима
$mobileNumber = $obj['q1_brTelefona']; // Број телефона преузет из пријаве
$message=urlencode($obj['q2_poruka']); // Порука преузета из пријаве
// Припрема података за слање
$postData = array(
'authkey' => $authKey,
'mobiles' => $mobileNumber,
'message' => $message,
'sender' => $senderId,
'route' => $route
);
// Замени крајњу тачку са својом
$url = "http://tvojsmsprovajder.com/slanje.php";
// покрени ресурсе
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $postData
//,CURLOPT_FOLLOWLOCATION => true
));
// Игнорише верификацију SSL филтера
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
// преузимање одговора
$output = curl_exec($ch);
// Испис грешака уколико постоје
if(curl_errno($ch)){
echo 'Грешка: ' . curl_error($ch);
}
curl_close($ch);
echo $output;
?>
Код: https://pastebin.com/embed_iframe/bcEZx8mD
Образац у MySQL – Слање примљене пријаве у твоју MySQL Базу података
<?php
// Замени следће са подацима своје базе
$servername = "localhost";
$username = "tvoje_korisnicko_ime";
$password = "tvoja_lozinka";
$dbname = "ime_tvoje_baze";
$dbtable = "ime_tvoje_tabele";
// Креирање везе
$mysqli = new mysqli($servername, $username, $password, $dbname);
// Провера везе
if ($mysqli->connect_error) {
die("Повезивање није успешно: ".$mysqli->connect_error);
}
// Преузимање вредности из обрасца
// Преузимање јединственог идентификатора пријаве - не треба мењати ништа
$sid = $mysqli->real_escape_string($_REQUEST['submissionID']);
// Преузимање вредности поља - не треба мењати ништа
$fieldvalues = $_REQUEST['rawRequest'];
$obj = json_decode($fieldvalues, true);
// Замени имена поља са именима оз твог обрасца овде
$fname = $mysqli->real_escape_string($obj['q14_tvojeIme'][first]);
$lname = $mysqli->real_escape_string($obj['q14_tvojeIme
'][last]);
$email = $mysqli->real_escape_string($obj['q16_tvojImejl']);
$message = $mysqli->real_escape_string($obj['q17_tvojaPoruka']);
$result = $mysqli->query("SELECT * FROM $dbtable WHERE sid = '$sid'");
// Уколико идентификатор пријаве постоји, вредности ће бити замењене
if ($result->num_rows>0) {
$result = $mysqli->query("UPDATE $dbtable SET firstname = '$fname', lastname = '$lname', email = '$email', message = '$message' WHERE sid = '$sid'");
echo "Постојећа вредност измењена";
}
// Уколико је пријава нова, сачуваће се
else {
$result=$mysqli->query("INSERT IGNORE INTO $dbtable (sid, firstname, lastname, email, message) VALUES ('$sid', '$fname', '$lname','$email','$message')");
echo "Нов ред додат!";
if ($result===false) {echo "SQL грешка: ".$mysqli->error;}
}
$mysqli->close();
?>
- Код: https://pastebin.com/embed_iframe/DhrwuVyK
- Пример: https://form.jotform.com/62893435003959 (погледај страну захвале да видиш резултат)
- Погледај захтев овде: https://jotthemes.000webhostapp.com/jotform/view.php
Обавештење о испоручености – Буди обавештен када пријава не успе да буде послата на твој имејл
Следећи код користи подразумевани SMTP за слање имејлова. Побрини се да твој сајт подржава ово, иначе опција за слање мејлова неће успети.
<?php
include "JotForm.php";
$jotformAPI = new JotForm("TVOJ_JOTFORM_API_KLJUC"); // Додај свој Jotform API кључ овде
$history = $jotformAPI->getHistory("emails", "lastWeek");
$subid = $_REQUEST['submissionID'];
$submissionURL = 'https://www.jotform.com/submission/'.$subid; // Градња URL-а пријаве
$limit = 1; // Слање последњег неуспелог обавештења - повећај број уколико имаш више имејл обавештења
$results = array();
// Упиши имејлове овде
$to = "marko@primer.com"; // Додај имејл примаоца овде
$from = "petar@primer.com"; // Додај имејл пошаљиоца овде
// Промени тему имејла уколико желиш
$subject = "Имејл није успешно послат";
// Не мењај следеће
$headers="MIME-Version: 1.0"."rn";
$headers.="Content-type:text/html;charset=UTF-8"."rn";
$headers.='From: <'.$from.'>'."rn";
// Уреди додатну поруку овде (опционо)
$msg1 = "Следећа пријава није успешно послата на твој мејл.";
// Нова метода, подаци се преузимају са стране пријаве
$html = new DOMDocument;
$html->loadHTML(file_get_contents($submissionURL));
$body = $html->getElementsByTagName('body')->item(0);
// Преузимање HTML кода након „body“ тага
foreach ($body->childNodesas$child){
$html->appendChild($html->importNode($child, true));
}
// Следеће линије чине табелу прилагођеним за различите уређаје
$body = $html->getElementsByTagName('table');
foreach ($bodyas$width) {
$width->setAttribute('width', '100%');
}
// Следеће линије кода немој мењати осим уколико ниси упућен
foreach ($historyas$key=>$value) {
if ($value['status'] =="IN BOUNCE/BLOCK LIST"||$value['status'] =="FAILED"&&$value['submissionID'] ==$subid){
if ($key==$limit-1) {
$body= $msg1."<br>";
$body.=$html->saveHTML();
@mail($to, $subject, $body, $headers);
}
}
}
?>
- Код: https://pastebin.com/embed_iframe/uSsnsehh
- Белешка: Замени имејлове као и Jotform API кључ у овом коду.
- Важно: Овај код захтева PHP библиотеку са Jotform API стране (можеш је преузети овде). Додај JotForm.php у исти фолдер који садржи и твој оригинални фајл.
Повремено ћемо постављати нове примере. Уколико имаш предлоге или ти је потребна додатна помоћ, јави нам у коментарима испод.
Пошаљи коментар: