1. sayfa
Merhaba, benim sürekli kullandığım tabi böyle bir durum için şunu kullanıyorumhttps://phppot.com/jquery/php-contact-form-with-jquery-ajax/ orada demo var inceleyebilirsin. Tüm dökümanlar ücretsiz indirip deneme yanılma yaparak çözüme ulaşabilirsin. Unutmayın formu yine hazır kütüphane olan phpmailler ile gönderin. Gayet sağlıklı bir kodlama tavsiyemdir bir incele :) |
|
birçok sorunu çözdüm fakat şu alan ile ilgili sıkıntım devam ediyor. if($V_userName == "") { echo "<p class='error'>* Ad-soyad bölümünü boş bırakmamalısınız.</p>"; } else if($V_userEmail == "") { echo "<p class='error'>* E-mail bölümünü boş bırakmamalısınız.</p>"; } else if($V_reachType == "") { echo "<p class='error'>* En az bir tane ulaşım şekli belirtmelisiniz.</p>"; } else if($V_emailSubject == "") { echo "<p class='error'>* Mesajın konusunu belirtiniz.</p>"; } else if($V_mailMessage == "") { echo "<p class='error'>* Mesaj içeriğini yazmalısınız.</p>"; } else if(strlen($V_mailMessage) <= 15) { echo "<p class='error'>* Mesajın içeriği 15 karakterden az olamaz.</p>"; } alanlar boş olsa dahi mesaj önderimi sağlanıyor. if else yapısından else'leri kaldırdım, her şartı ayrı ayrı sorguladım olmadı. if($V_userName == "" || $V_userName === NULL || $V_userName == NULL || empty($V_userName) ) hiç biri çalışmadı. eksik alan kontrolü ve eksik alan var ise mesaj gönderilmesin kısmını nasıl sağlayacağım? Ayrıca, bu yapı içine 5 mb boyutu geçmeyen dosya ataçlama imkanı vermek istiyorum. Ataç eklenmediyse hata veriyor. Aşağıdaki yapıyı denedim olmadı. Destek olur musunuz? foreach ($_FILES["attachment"]["name"] as $k => $v) { $mail->AddAttachment( $_FILES["attachment"]["tmp_name"][$k], $_FILES["attachment"]["name"][$k] ); if(isset($_FILES['attachment']) || isset($_FILES["attachment"])) { $errors = array(); $maxsize = 5242880; // 5mb; 2097152; // 2mb $acceptable = array( 'application/pdf', 'image/jpeg', 'image/jpg', 'image/gif', 'image/png' ); }; if(($_FILES['attachment']['size'] >= $maxsize) || ($_FILES["attachment"]["size"] == 0)) { $errors[] = 'File too large. File must be less than 5 megabytes.'; } if((!in_array($_FILES['attachment']['type'], $acceptable)) && (!empty($_FILES["attachment"]["type"]))) { $errors[] = 'Invalid file type. Only PDF, JPG, GIF and PNG types are accepted.'; } if(count($errors) === 0) { move_uploaded_file($_FILES['attachment']['tmpname'], '/store/to/location.file'); } else { foreach($errors as $error) { echo '<script>alert("'.$error.'");</script>'; } die(); //Ensure no more processing is done } |
Soyle denermisin? if($V_userName == "") { echo "<p class='error'>* Ad-soyad bölümünü boş bırakmamalısınız.</p>"; } if($V_userEmail == "") { echo "<p class='error'>* E-mail bölümünü boş bırakmamalısınız.</p>"; } if($V_reachType == "") { echo "<p class='error'>* En az bir tane ulaşım şekli belirtmelisiniz.</p>"; } if($V_emailSubject == "") { echo "<p class='error'>* Mesajın konusunu belirtiniz.</p>"; } if($V_mailMessage == "") { echo "<p class='error'>* Mesaj içeriğini yazmalısınız.</p>"; } if(strlen($V_mailMessage) <= 15) { echo "<p class='error'>* Mesajın içeriği 15 karakterden az olamaz.</p>"; } |
" if else yapısından else'leri kaldırdım, her şartı ayrı ayrı sorguladım olmadı." denemiştim. olmuyor. |
ornek: echo $V_userName; bos birakmadan tek tek kontrol edin degerler ekrana yazdiriliyor mu? "" yerine null denediniz mi? |
echo $V_userName; yaptığımda ismi getiriyor. hatta tüm alanları denedim tamamı geliyor. "" yerine null denedim çalışmadı. dikkatimi çeken bazı durumlar oldu. a) eğer formda tüm alanlar boş ise gönder butonuna basılınca işlem yapılmıyor. b) herhangibir alan boş ise gönder butonuna basılınca işlem yapılmıyor. c) email girişinde @ işareti yoksa gönder butonuna basılınca işlem yapılmıyor. yani yapıya uymayan alan varsa mail gönderimi olmuyor ama hata mesajları gözükmüyor. Not: iletişim formu html sayfa içinde action alanına php adresini yazdım. |
|
|
diğer mail adresim dediğin gmail mi? eğer gmailse, güvenlik sıkıntısı olabilir. benim de başıma gelmişti benzer bir durum. google hesap ayarlarıyla çözmüştüm |
if($V_userName == "") { die ( * Ad-soyad bölümünü boş bırakmamalısınız. ); }// birdeböyle dene... |
if(!$V_userName) { msg("hata","Hata !!!", "Uye adı boş bırakılamaz .!"); } |
BCC adres eklediğimde phpmailer hata veriyordu. ben de "AddAddress" alanına ekledim. sorun çözüldü. |
ilgine teşekkür ederim. sorunu çözdüm. konuyu inceleyen başka arkadaşlar olursa, alan için uzunluk kontrolü de yapabilirler. |
merhaba bir makale hazırladım mail göndermek isteyenler için belki işinize yarar:https://forum.donanimhaber.com/php-mailer-ile-mail-gonderme--142157681 |
|
Merhaba, phpde mail gönderimi ile alakalı böyle bir makale kullanmıştım daha öncehttp://yazilimdersi.info/makaleler/detay/111/php-ile-gmail-smtp-kullanarak-email-gonderimi bu makalede de phpmailer kütüphanesi ile gonderim yapılıyordu. Umarim isini görür. |
işimi çözdüm ama arşivde beklemesinde fayda var. ilgine teşekkür ederim. |
1. sayfa
Arkadaşlar merhaba. PHP mail form hazırlıyorum. PHP bilgim yok diyebilirim. Bazı konularda desteğe ihtiyacım var. Yardımcı olursanız memnun olurum. Düzenlediğim ve çalışan kod yapısı yukarıdadır.
a) Oluşturulan mesaj bana ulaşıyor ama ikinci mail adresime de gelsin istiyorum. BCC kullanıyorum ama "SMTP Hatası: Belirtilen alıcılara ulaşılamadı:" yazıp BCC'ye tanımladığım hotmail adresini gösteriyor. Sizce ne sorun var? Başka ne deneyebilirim?
b) Mesaj gönder butonuna basıldığında tüm hataları aynı anda listelemek istiyorum. Şu an benim yazdığım sırayla ve tek tek gösteriyor. İlk hata mesajını geçince ikinciye takılıyor. Tamamını listeleyemedim.
c) Bu yapı içine 5 mb boyutu geçmeyen dosya ataçlama imkanı vermek istiyorum. Ataç eklenmediyse hata veriyor. Aşağıdaki yapıyı denedim olmadı.
d) "mesaj gönderildi", "mesaj gönderilemedi", "eksik alanlar var" gibi uyarıları yeni sayfada değil aynı sayfada görmek istiyorum.
İlginize teşekkür ederim.
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
< Bu mesaj bu kişi tarafından değiştirildi erdemmetin -- 15 Şubat 2020; 10:49:53 >