Amacım Elementor ile hazırladığım sitelere PHP ile ekstra talebe göre işlevsellik katmak. Sizce bunu Elementor ve PHP ile yapabilir miyim? Yoksa mutlaka JS'de gerekli mi? Tavsiyelerine açığım
9
●178
) başka bir işte de çalışırken Frontend, Backend iki tarafa da enerjimi veremicem. Dedim madem Wordpress i biliyorum, Elementor ile tasarımsal şeyler ortaya çıkartabiliyorum, belki yaptığım tasarıma custom HTML özelliği yada bildiğimiz Metin ekle bölümünün olduğu yere iki satır HTML yazar, Backend tarafında PHP ile kendimi geliştirir, ufak tefek talepleri karşılarım. 
Bir müşterim var, kendisi telefon tamircisi. İsteri çok basit bir Web sitesi ve müşterilerine vereceği bir Referans no ile tamire bırakılan telefonların durumlarını sorgulatmak istiyor. Tabiki telefonların durumunu güncelleyebileceği, ekleyebileceği bir bölümde olcak. Bu uygulama tabiki komple veritabanı işlemleri ve PHP gerekiyor, az çok İNSERT, GET gibi kavramları biliyorum, Bunu Elementor Form yapısı ile bağlayıp Frontend ile uğraşmadan yapabilir miyim acaba diye düşünmüştüm, tabiki Wordpress api yapısını detaylıca öğrenmem de gerekicek orası ayrı

<form id="servisKayitForm"> <label for="ad">Adı:</label> <input type="text" id="ad" name="ad" required> <label for="soyad">Soyadı:</label> <input type="text" id="soyad" name="soyad" required> <label for="telefon">Telefon Numarası:</label> <input type="text" id="telefon" name="telefon" required> <label for="email">E-Posta:</label> <input type="email" id="email" name="email"> <label for="cihazMarka">Cihaz Marka:</label> <input type="text" id="cihazMarka" name="cihazMarka" required> <label for="cihazModel">Cihaz Model:</label> <input type="text" id="cihazModel" name="cihazModel" required> <label for="arizaDetayi">Arıza Detayı:</label> <textarea id="arizaDetayi" name="arizaDetayi" rows="4" required></textarea> <label for="tamirDurumu">Tamir Durumu:</label> <input type="text" id="tamirDurumu" name="tamirDurumu" required> <button type="submit">Kaydet</button> </form>
$(document).ready(function() {
$("#servisKayitForm").submit(function(event) {
event.preventDefault();
var formData = $(this).serialize();
$.ajax({
type: "POST",
url: "/ajax.php", // AJAX işlemlerini gerçekleştireceğiniz dosyanın yolu
data: formData,
success: function(response) {
// Başarılı yanıtı işleyin (örneğin, bir teşekkür mesajı gösterin)
},
error: function(xhr, textStatus, error) {
// Hata durumlarını işleyin
}
});
});
});Müşterilerin servis sorgulaması için gerekli html form<form id="servisSorgulamaForm">
<label for="telefon">Telefon Numarası:</label>
<input type="text" id="telefon" name="telefon" required>
<button type="submit">Sorgula</button>
</form>
<div id="sonuc"></div>$(document).ready(function() {
$("#servisSorgulamaForm").submit(function(event) {
event.preventDefault();
var telefon = $("#telefon").val();
$.ajax({
type: "POST",
url: "/ajax.php", // Sorgu işlemlerini gerçekleştireceğiniz dosyanın yolu
data: { telefon: telefon },
success: function(response) {
$("#sonuc").html(response);
},
error: function(xhr, textStatus, error) {
// Hata durumlarını işleyin
}
});
});
});ajax.php dosyası:// Veritabanı bağlantısı
try {
$db = new PDO("mysql:host=veritabani_sunucu_adresi;dbname=veritabani_adi", "kullanici_adi", "sifre");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
die("Veritabanı bağlantısı başarısız: " . $e->getMessage());
}
// Yeni kayıt ekleme
if (isset($_POST["ad"]) && isset($_POST["soyad"]) && isset($_POST["telefon"]) && isset($_POST["cihaz_marka"]) && isset($_POST["cihaz_model"]) && isset($_POST["ariza_detayi"]) && isset($_POST["tamir_durumu"])) {
$ad = $_POST["ad"];
$soyad = $_POST["soyad"];
$telefon = $_POST["telefon"];
$email = isset($_POST["email"]) ? $_POST["email"] : null;
$cihaz_marka = $_POST["cihaz_marka"];
$cihaz_model = $_POST["cihaz_model"];
$ariza_detayi = $_POST["ariza_detayi"];
$tamir_durumu = $_POST["tamir_durumu"];
try {
$insertQuery = "INSERT INTO teknik_servis_kayit (ad, soyad, telefon, email, cihaz_marka, cihaz_model, ariza_detayi, tamir_durumu)
VALUES (:ad, :soyad, :telefon, :email, :cihaz_marka, :cihaz_model, :ariza_detayi, :tamir_durumu)";
$stmt = $db->prepare($insertQuery);
$stmt->bindParam(':ad', $ad);
$stmt->bindParam(':soyad', $soyad);
$stmt->bindParam(':telefon', $telefon);
$stmt->bindParam(':email', $email);
$stmt->bindParam(':cihaz_marka', $cihaz_marka);
$stmt->bindParam(':cihaz_model', $cihaz_model);
$stmt->bindParam(':ariza_detayi', $ariza_detayi);
$stmt->bindParam(':tamir_durumu', $tamir_durumu);
$stmt->execute();
echo "Kayıt başarıyla eklendi!";
} catch (PDOException $e) {
echo "Hata: " . $e->getMessage();
}
}
// Kayıt sorgulama
if (isset($_POST["telefon"])) {
$sorgula_telefon = $_POST["telefon"];
try {
$query = "SELECT * FROM teknik_servis_kayit WHERE telefon = :telefon";
$stmt = $db->prepare($query);
$stmt->bindParam(':telefon', $sorgula_telefon);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
if ($result) {
echo "Ad: " . $result["ad"] . "<br>";
echo "Soyad: " . $result["soyad"] . "<br>";
echo "Cihaz Marka: " . $result["cihaz_marka"] . "<br>";
echo "Cihaz Model: " . $result["cihaz_model"] . "<br>";
echo "Arıza Detayı: " . $result["ariza_detayi"] . "<br>";
echo "Tamir Durumu: " . $result["tamir_durumu"] . "<br>";
} else {
echo "Belirtilen telefon numarasına ait kayıt bulunamadı.";
}
} catch (PDOException $e) {
echo "Hata: " . $e->getMessage();
}
}