Başvuru Formu Hatası Alıyorum Lütfen tum alanı doldurun hatası

phpBB destek veya chat forumu değildir
phpBB ile ilgili sorulan tüm soru başlıkları kilitlenecek veya silinecektir.
Bu forumda phpBB sorunları dışındaki genel Webmaster sorunlarını ve problemlerini tartışabilirsiniz.
Forum kuralları
- Yeni bir başlık açarken lütfen konu başlığına "Acil yardım", "Acele yardım" tarzlarında içerisinde "yardım" kelimesi geçen cümleler yazmayınız. Bu tip başlıklara kesinlikle cevap verilmeyecektir. Lütfen konu başlığına içeriği en iyi özetleyen anlaşılabilir bir cümle yazınız.

- Ayrıca yeni başlıklarınızı kesinlikle ilgili forumlara açınız. Örneğin, phpBB3 kurulum ve çalıştırması hakkında bir sorununuz varsa "3.0.x Destek Forumu" forumuna başlık açınız; phpBB3 temasından kaynaklı bir sorunuz varsa "3.0.x Stil/Tema Geliştirme & Tartışma & Yardım" forumuna başlık açınız; phpBB3 mod/eklentileriyle ilgili sorununuz varsa "3.0.x MOD Destek" forumuna başlık açınız. Bu kurala uymayan kullanıcıların başlıkları silinebilir ve kullanıcı uyarı alabilir ya da süresiz uzaklaştırılabilir.

- Site kurallarımızı okumadan kesinlikle forumlarımıza herhangi bir katılım yapmayınız.
Cevapla
Yunix
Kayıtlı Kullanıcı
Mesajlar: 1
Kayıt: 04.12.2023, 21:59

Başvuru Formu Hatası Alıyorum Lütfen tum alanı doldurun hatası

Mesaj gönderen Yunix »

Öncelikle Herkez iyi formlar diliyorum. Yardımınız için Şimdiden Çok Teşekkürederim. Benim Sorunum bir başvuru formu hazırlıyorum ama işin içinde çıkamadım nerede nasıl bir hata yapıyorum yardımcı olurmusuuz kodlarım bunlar





<?php
$hata = false;
$gonder = false;
if( isset($_POST["islem"]) && $_POST["islem"]=="gonder" ) {

if( !empty($_POST["adsoyad"]) && !empty($_POST["email"]) && !empty($_POST["telefon"]) && !empty($_POST["konu"]) && !empty($_POST["mesaj"]) && !empty($_POST["eht"]) && !empty($_POST["arac"]) && !empty($_POST["tam"]) ) {

include_once('phpmailer/class.phpmailer.php');

$mail = new PHPMailer();
$mail->isSMTP();
$mail->SMTPAuth = true;
$mail->Host = 'mail.deneme.com';
$mail->Username = 'admin@deneme.com';
$mail->Password = '';
$mail->Port = 587;
$mail->setFrom('admin@deneme.com', 'deneme');
$mail->addAddress('admin@deneme.com', 'deneme');

//HTML Aktif
$mail->isHTML(true);
$mail->CharSet ="utf-8";
//Mail Başlığı
$mail->Subject = 'İletişim Formu Mesajı';
//Mail İçeriği
$mail->Body = '<p><strong>Gönderen:</strong> ' . $_POST["adsoyad"] . ' - ' . $_POST["email"] . '</p>'.
'<p><strong>Konu:</strong> ' . $_POST["telefon"] . '</p>'.
'<p><strong>Konu:</strong> ' . $_POST["konu"] . '</p>'.
'<p><strong>Mesaj:</strong> ' . $_POST["mesaj"] . '</p>'.
'<p><strong>Ehliyet Seçimi:</strong> ' . $_POST["eht"] . '</p>'.
'<p><strong>Araç Seçimi:</strong> ' . $_POST["arac"] . '</p>'.
'<p><strong>Çalışma Turu:</strong> ' . $_POST["tam"] . '</p>';

//Gönder
if ( $mail->send() ) {
$gonder = true;
} else {
$hata = true;
$hata_mesaj = "Mesaj gönderilirken bir hata oluştu: ".$mail->ErrorInfo;
}
} else {
$hata = true;
$hata_mesaj = "Lütfen tüm alanları doldurun.";
}

}
?>




<form class="loftForm" id="contactForm" method="POST" action="">
<div class="row gp-3">
<div class="col-md-12">
<label class="ns-label">Adınız Soyadınız</label>
<input class="ns-control mb-4" type="text" name="adsoyad" id="adsoyad" placeholder="Adınız Soyadınız" required>
</div>
<div class="col-md-6">
<label class="ns-label">Telefon</label>
<input class="ns-control mb-4" type="telefon" name="telefon" id="telefon" placeholder="Telefon" required>
</div>
<div class="col-md-6">
<label class="ns-label">E-Posta</label>
<input class="ns-control mb-4" type="email" name="email" id="email" placeholder="email" required>
</div>
<div class="col-md-12">
<label class="ns-label">Kaç yıllık tecrübeye sahipsiniz?</label>
<input type="text" class="ns-control mb-4" name="kyts" id="kyts" placeholder="Kaç yıllık tecrübeye sahipsiniz?" required/>
</div>
<div class="col-md-12">
<label class="ns-label">Ehliyet Seçimi</label><br>
<input type="checkbox" name="eht[]" value="A1"/><span style="color: #fdb43f;"> A1</span><br/>
<input type="checkbox" name="eht[]" value="A2"/><span style="color: #fdb43f;"> A2</span><br/>
<input type="checkbox" name="eht[]" value="AB"/><span style="color: #fdb43f;"> A,B</span><br/>
<input type="checkbox" name="eht[]" value="C"/><span style="color: #fdb43f;"> C</span><br/>
<input type="checkbox" name="eht[]" value="CE"/><span style="color: #fdb43f;"> CE</span><br/>
<input type="checkbox" name="eht[]" value="D"/><span style="color: #fdb43f;"> D</span><br/>
<input type="checkbox" name="eht[]" value="DE"/><span style="color: #fdb43f;"> DE</span><br/>
</div>
<div class="col-md-12"><br>
<label class="ns-label">Sahip olduğunuz araç çeşidi</label><br>
<input type="checkbox" name="arac[]" value="motor"/><span style="color: #fdb43f;"> Motor</span><br/>
<input type="checkbox" name="arac[]" value="minivan"/><span style="color: #fdb43f;"> Minivan</span><br/>
<input type="checkbox" name="arac[]" value="kamyon"/><span style="color: #fdb43f;"> Kamyon</span><br/>
<input type="checkbox" name="arac[]" value="kamyonet"/><span style="color: #fdb43f;"> Kamyonet</span><br/>
<input type="checkbox" name="arac[]" value="frigolu"/><span style="color: #fdb43f;"> Frigolu Araç</span><br/>
</div>
<div class="col-md-12"><br>
<label class="ns-label">Tercih ettiğiniz çalışma şekli</label><br>
<input type="checkbox" name="tam[]" value="tamzamanli"/><span style="color: #fdb43f;"> Tam Zamanlı</span><br/>
<input type="checkbox" name="tam[]" value="yarizamanli"/><span style="color: #fdb43f;"> Yarı Zamanlı</span><br/>
</div>
<div class="col-md-12"><br>
<button class="btn comSend anibut mt-2" name="islem" value="gonder" required>
Gönder <span><i class="fas fa-paper-plane"></i></span>
</button>
</div>
</div>
Dosya ekleri
Ekran görüntüsü 2023-12-03 085946.png
Kullanıcı avatarı
TRWE_2012
Kayıtlı Kullanıcı
Mesajlar: 32
Kayıt: 14.05.2022, 06:59

Re: Başvuru Formu Hatası Alıyorum Lütfen tum alanı doldurun hatası

Mesaj gönderen TRWE_2012 »

Kodlamanı bölüm bölüm inceledim ve bazı hatalarını düzeltim..

Bölüm bölüm vereceğim....(karışıklık olmasın diye) (not : devasa kodlamalar üzerinde çalışırken, kodlarını ana bölümlere ayırarak kodla böylece dalgınlıkla hata yapmazsın....)

1.BÖLÜM : PHP Başlangıç ve Form İşleme

Kod: Tümünü seç

<?php
$hata = false;
$gonder = false;
$hata_mesaj = '';

if (isset($_POST["islem"]) && $_POST["islem"] == "gonder") {
    $adsoyad = htmlspecialchars($_POST["adsoyad"]);
    $email = filter_var($_POST["email"], FILTER_SANITIZE_EMAIL);
    $telefon = htmlspecialchars($_POST["telefon"]);
    $konu = htmlspecialchars($_POST["konu"]);
    $mesaj = htmlspecialchars($_POST["mesaj"]);
    $eht = $_POST["eht"] ?? [];
    $arac = $_POST["arac"] ?? [];
    $tam = $_POST["tam"] ?? [];

    if (!empty($adsoyad) && !empty($email) && !empty($telefon) && !empty($konu) && !empty($mesaj) && !empty($eht) && !empty($arac) && !empty($tam)) {
        if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
            $hata = true;
            $hata_mesaj = "Geçerli bir e-posta adresi girin.";
        } else {
            include_once('phpmailer/class.phpmailer.php');

            $mail = new PHPMailer();
            $mail->isSMTP();
            $mail->SMTPAuth = true;
            $mail->Host = 'mail.deneme.com';
            $mail->Username = 'admin@deneme.com';
            $mail->Password = '';
            $mail->Port = 587;
            $mail->setFrom('admin@deneme.com', 'deneme');
            $mail->addAddress('admin@deneme.com', 'deneme');

            $mail->isHTML(true);
            $mail->CharSet = "utf-8";
            $mail->Subject = 'İletişim Formu Mesajı';
            $mail->Body = '<p><strong>Gönderen:</strong> ' . $adsoyad . ' - ' . $email . '</p>' .
                          '<p><strong>Telefon:</strong> ' . $telefon . '</p>' .
                          '<p><strong>Konu:</strong> ' . $konu . '</p>' .
                          '<p><strong>Mesaj:</strong> ' . $mesaj . '</p>' .
                          '<p><strong>Ehliyet Seçimi:</strong> ' . implode(", ", $eht) . '</p>' .
                          '<p><strong>Araç Seçimi:</strong> ' . implode(", ", $arac) . '</p>' .
                          '<p><strong>Çalışma Turu:</strong> ' . implode(", ", $tam) . '</p>';

            if ($mail->send()) {
                $gonder = true;
            } else {
                $hata = true;
                $hata_mesaj = "Mesaj gönderilirken bir hata oluştu: " . $mail->ErrorInfo;
            }
        }
    } else {
        $hata = true;
        $hata_mesaj = "Lütfen tüm alanları doldurun.";
    }
}
?>
2.BÖLÜM : HTML Form

Kod: Tümünü seç

<form class="loftForm" id="contactForm" method="POST" action="">
    <div class="row gp-3">
        <div class="col-md-12">
            <label class="ns-label">Adınız Soyadınız</label>
            <input class="ns-control mb-4" type="text" name="adsoyad" id="adsoyad" placeholder="Adınız Soyadınız" required>
        </div>
        <div class="col-md-6">
            <label class="ns-label">Telefon</label>
            <input class="ns-control mb-4" type="tel" name="telefon" id="telefon" placeholder="Telefon" required>
        </div>
        <div class="col-md-6">
            <label class="ns-label">E-Posta</label>
            <input class="ns-control mb-4" type="email" name="email" id="email" placeholder="email" required>
        </div>
        <div class="col-md-12">
            <label class="ns-label">Kaç yıllık tecrübeye sahipsiniz?</label>
            <input type="text" class="ns-control mb-4" name="kyts" id="kyts" placeholder="Kaç yıllık tecrübeye sahipsiniz?" required/>
        </div>
        <div class="col-md-12">
            <label class="ns-label">Ehliyet Seçimi</label><br>
            <input type="checkbox" name="eht[]" value="A1"/><span style="color: #fdb43f;"> A1</span><br/>
            <input type="checkbox" name="eht[]" value="A2"/><span style="color: #fdb43f;"> A2</span><br/>
            <input type="checkbox" name="eht[]" value="AB"/><span style="color: #fdb43f;"> A,B</span><br/>
            <input type="checkbox" name="eht[]" value="C"/><span style="color: #fdb43f;"> C</span><br/>
            <input type="checkbox" name="eht[]" value="CE"/><span style="color: #fdb43f;"> CE</span><br/>
            <input type="checkbox" name="eht[]" value="D"/><span style="color: #fdb43f;"> D</span><br/>
            <input type="checkbox" name="eht[]" value="DE"/><span style="color: #fdb43f;"> DE</span><br/>
        </div>
        <div class="col-md-12"><br>
            <label class="ns-label">Sahip olduğunuz araç çeşidi</label><br>
            <input type="checkbox" name="arac[]" value="motor"/><span style="color: #fdb43f;"> Motor</span><br/>
            <input type="checkbox" name="arac[]" value="minivan"/><span style="color: #fdb43f;"> Minivan</span><br/>
            <input type="checkbox" name="arac[]" value="kamyon"/><span style="color: #fdb43f;"> Kamyon</span><br/>
            <input type="checkbox" name="arac[]" value="kamyonet"/><span style="color: #fdb43f;"> Kamyonet</span><br/>
            <input type="checkbox" name="arac[]" value="frigolu"/><span style="color: #fdb43f;"> Frigolu Araç</span><br/>
        </div>
        <div class="col-md-12"><br>
            <label class="ns-label">Tercih ettiğiniz çalışma şekli</label><br>
            <input type="checkbox" name="tam[]" value="tamzamanli"/><span style="color: #fdb43f;"> Tam Zamanlı</span><br/>
            <input type="checkbox" name="tam[]" value="yarizamanli"/><span style="color: #fdb43f;"> Yarı Zamanlı</span><br/>
        </div>
        <div class="col-md-12"><br>
            <button class="btn comSend anibut mt-2" name="islem" value="gonder" required>
                Gönder <span><i class="fas fa-paper-plane"></i></span>
            </button>
        </div>
    </div>
</form>
3.BÖLÜM : Hata ve Başarı Mesajları

Kod: Tümünü seç

<?php
if ($hata) {
    echo '<div class="alert alert-danger">' . $hata_mesaj . '</div>';
}
if ($gonder) {
    echo '<div class="alert alert-success">Mesajınız başarıyla gönderildi.</div>';
}
?>
Yapılan Hata Tuzaklamaları Ve Düzeltmeler

Yaptığım iyileştirmeleri kısaca açıklayayım:

Veri Temizleme ve Doğrulama:

Kullanıcıdan gelen veriler htmlspecialchars() ve filter_var() gibi fonksiyonlarla temizlendi. Bu, XSS (Cross-Site Scripting) saldırılarına karşı koruma sağlar ve e-posta adresinin geçerliliğini kontrol eder.(güvenlik herşeydir.)

Boş Alan Kontrolü:

Form gönderiminde, tüm gerekli alanların doldurulup doldurulmadığını kontrol ettim. Eğer herhangi bir alan boşsa, kullanıcıya hata mesajı gösteriliyor.

Checkbox Kontrolleri:

Checkbox alanları için, kullanıcı hiçbir seçim yapmadığında hata mesajı gösterilmesi sağlandı. Bu, kullanıcıdan beklenen bilgilerin eksiksiz alınmasını garanti eder.

Hata ve Başarı Mesajları:

Form gönderiminden sonra, kullanıcıya hata veya başarı mesajlarını göstermek için bir bölüm eklendi.

PHPMailer Kullanımı:

PHPMailer ile e-posta gönderimi için gerekli ayarların doğru bir şekilde yapıldığından emin olundu. SMTP ayarları ve e-posta içeriği düzenlendi.

HTML Form Yapısı:

Form yapısı, kullanıcı dostu olacak şekilde düzenlendi. Gerekli alanlar için required niteliği eklendi, böylece kullanıcıların bu alanları doldurması zorunlu hale getirildi.

Bu iyileştirmeler, formun güvenliğini, kullanıcı deneyimini ve işlevselliğini artırmayı amaçlamakta...Eğer bir hata ile karşılaşırsan buraya yaz,elimden geldiğince çözmeye çalışırım....
Cevapla

“Genel Tartışmalar” sayfasına dön

Kimler çevrimiçi

Bu forumu görüntüleyen kullanıcılar: Hiç bir kayıtlı kullanıcı yok ve 3 misafir