• 27-10-2023, 10:42:10
    #1
    Başlık biraz karışık oldu fakat umarım derdi mi anlatabilirim. Arkadaşlar Wordpress ve Elementor ikilisiyle beraber bir çok site hazırladım. HTML, CSS ve temel düzeyde JS bilgim var. Elementor ile Frontend yapabildiğim için ( tabiki tam anlamıyla Frontend denemese de ) Backend öğrenmek istiyorum. Buda doğal olarak Wordpress'inde kullandığında PHP oldu.

    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
  • 27-10-2023, 10:45:41
    #2
    Hocam JS veya PHP aynı türde değil ki birbirinin yerini doldursun. Eğer full-stack bir iş yapacaksanız anlamanız lazım javascripti de.
  • 27-10-2023, 10:49:09
    #3
    canyucel adlı üyeden alıntı: mesajı görüntüle
    Hocam JS veya PHP aynı türde değil ki birbirinin yerini doldursun. Eğer full-stack bir iş yapacaksanız anlamanız lazım javascripti de.
    hocam şöyle ki Frontend'i Elementor ile çözebilir miyim, Frontend'e emek vermek istemiyorum çünkü başka bir işte çalışıyorum o yüzden sordum
  • 27-10-2023, 10:52:56
    #4
    resuloztas adlı üyeden alıntı: mesajı görüntüle
    hocam şöyle ki Frontend'i Elementor ile çözebilir miyim, Frontend'e emek vermek istemiyorum çünkü başka bir işte çalışıyorum o yüzden sordum
    Hocam elementor wordpress ile alakalı bir araç. Component bazlı sürükle bırak sistemini sağlıyor. Siz javascript gerektiren bir eylem yaptığınızda bakmanız gerekecek.
  • 27-10-2023, 10:56:34
    #5
    siz yapmıyorsunuz,front-end'i yapabilirmiyim dediğiniz şeyi elementor plugini php dilindeki wordpress ile yapıyor.
    Backend'de yazacağınız php kodunu önce wordpress ile entegre etmelisiniz, bundan sonra geliştirdiğiniz eklenti elementor destekliyor ise dediğinizi yapabilirsiniz.
    Bu olmazsa bile shortcode seçeneği ile php kodunuzu sayfaya çağırabilirsiniz, fakat bundan sonrasındada wordpress değişkenlerini tanımlatmanız gerekir.
  • 27-10-2023, 11:16:19
    #6
    Sadece PHP değil MVC ve OOP yaklaşımlarını ve bu yaklaşımlar ile PHP dilini kullanmayı da öğrenmelisiniz. MVC (Model - View - Controller) de View kısmında yapmak istediklerinize bağlı olarak mutlaka uzmanlık gerektirecek seviyede JS de öğrenmeniz gerekecektir. Fakat PHP öğrendikten sonra ve çeşitli uygulamalar yaptıkça JS öğrenmeniz çokta zor olmayacaktır.
  • 27-10-2023, 11:44:46
    #7
    fatbotter.com
    Uzmanlık seviyesinde yazılım bilmeden MVC yapısı ile projeler geliştirilebilir. Belki belirli şartları sağlamayabilir ancak başta her şeyin de mükemmel olmasına gerek yoktur.

    Soruya gelecek olursak;

    Wordpress sitelerin ön yüzünü elementor ile geliştirip, php kodunu da wordpress'e ENTEGRE ETMEDEN, dinamik web siteler yapmanız gayette mümkündür. Bir tane php dosyası oluşturursunuz ve içinde ne yapmak istiyorsanız yapabilirsiniz, eğer yapmak istedikleriniz wordpress ile ilgili(wordpress'in veritabanı) işlemler ise direk pdo ile bağlanıp tablolardan gerekli crud işlemlerini yapabilirsiniz. Ya da wordpress api ile hiç veritabanına bulaşmadan da yapmak istediklerinizi yapabilirsiniz. Sadece tek bir php dosyası ile hem de...

    Hatta elementor ile html formlar hazırlayıp, jquery ile bu formu php dosyanıza gönderip, oradan da yanıt almasını sağlayabilirsiniz. Yeter ki yapmak isteyin.
  • 27-10-2023, 14:01:56
    #8
    Değerli cevaplarınız için çok teşekkür ederim. Tabiki kısıtlı da olsa Wordpress ile haşır neşir olduğumdan yapısını az çok biliyorum. Dümdüz Wordpress'de kopyala yapıştır değil de Tema dosyalarında ki bazı bölümlerin düzenlenmesi olsun, HTML, CSS bölümünde ki yerleri düzenlemekten dolayı biraz bilgim var.

    Sizde anlarsınız ki 32 yaşından sonra ( yaşlı değilim ama işte ) 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.

    Durumu çok karışık anlatmış olsam da siz uzmanlar olarak beni anladınız

    Sizleri yakalamışken bir soru sorayım daha net anlaşırız bence 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ı
  • 27-10-2023, 14:25:13
    #9
    fatbotter.com
    resuloztas adlı üyeden alıntı: mesajı görüntüle
    Değerli cevaplarınız için çok teşekkür ederim. Tabiki kısıtlı da olsa Wordpress ile haşır neşir olduğumdan yapısını az çok biliyorum. Dümdüz Wordpress'de kopyala yapıştır değil de Tema dosyalarında ki bazı bölümlerin düzenlenmesi olsun, HTML, CSS bölümünde ki yerleri düzenlemekten dolayı biraz bilgim var.

    Sizde anlarsınız ki 32 yaşından sonra ( yaşlı değilim ama işte ) 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.

    Durumu çok karışık anlatmış olsam da siz uzmanlar olarak beni anladınız

    Sizleri yakalamışken bir soru sorayım daha net anlaşırız bence 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ı



    -- Müşteri Bilgileri Tablosu Oluşturuluyor
    CREATE TABLE müşteriler (
    müşteri_id INT AUTO_INCREMENT PRIMARY KEY,
    adı VARCHAR(50) NOT NULL,
    soyadı VARCHAR(50) NOT NULL,
    telefon_numarası VARCHAR(15) NOT NULL,
    email VARCHAR(100),
    adres TEXT
    );

    -- Teknik Servis Kayıtları Tablosu Oluşturuluyor
    CREATE TABLE teknik_servis_kayıtları (
    kayıt_id INT AUTO_INCREMENT PRIMARY KEY,
    müşteri_id INT,
    cihaz_marka VARCHAR(50) NOT NULL,
    cihaz_model VARCHAR(50) NOT NULL,
    arıza_detayı TEXT,
    tamir_durumu VARCHAR(20) NOT NULL,
    tarih TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (müşteri_id) REFERENCES müşteriler(müşteri_id)
    );

    Yukarıdaki SQL kodu, iki tablo oluşturur:
    1. "müşteriler" tablosu, müşteri bilgilerini saklar (ad, soyad, telefon numarası, e-posta, adres).
    2. "teknik_servis_kayıtları" tablosu, teknik servis kayıtlarını saklar (cihaz marka, cihaz model, arıza detayı, tamir durumu, tarih) ve müşteri bilgilerine müşteri_id ile bağlanır.
    Yukarıda oluşturulan veritabanına servis kaydı girmek için html form:

    <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();
        }
    }




    Test edilmemiştir, deneyip çıkan hatayı yazarsanız yardımcı olabilirim.