lostyazilim
tr.link

Sayfa yenilendiğinde kodun çalışmaması

17 Mesajlar 2.273 Okunma
lstbozum
tr.link

silenthilll silenthilll WM Aracı Kullanıcı
  • Üyelik 29.09.2011
  • Yaş/Cinsiyet 39 / E
  • Meslek öğrenci
  • Konum Manisa
  • Ad Soyad M** K**
  • Mesajlar 699
  • Beğeniler 61 / 126
  • Ticaret 1, (%100)
Aşağıda reCAPTCHA ile kullandığım iletişim formu var formu ilk doldurup gönderdiğimde normal çalışıyor fakat sayfayı yenilediğimde formdaki bilgileri tekrar reCAPTCHA sormadan işaretlemeden gönderiyor bu sorunu nasıl çözebilirim? Acaba reCAPTCHA kodunu yanlış yere mi koyuyorum


function html_form_code() {
echo '
';
echo '

';
echo 'Ad-Soyad (Zorunlu)
';
echo '';
echo '

';
echo '

';
echo 'E-Posta Adresi (Zorunlu)
';
echo '';
echo '

';
echo '

';
echo 'Konu (Zorunlu)
';
echo '';
echo '

';
echo '

';
echo 'Mesaj (Zorunlu)
';
echo '';
echo '

';
echo '
';
echo'
';
echo '
';

}



function deliver_mail() {

//captcha Kontrol
if (isset($_POST['g-recaptcha-response'])) {
$captcha = $_POST['g-recaptcha-response'];
}

$kontrol = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=benim-api&response=" . $captcha . "&remoteip=" . $_SERVER['REMOTE_ADDR']);


if ( isset( $_POST['if-submitted'] ) ) {

$name = sanitize_text_field( $_POST["if-name"] );
$email = sanitize_email( $_POST["if-email"] );
$subject = sanitize_text_field( $_POST["if-subject"] );
$message = esc_textarea( $_POST["if-message"] );
$to = get_option( 'admin_email' );
$headers = 'From: '. $name .' <'. $email .'>' . "\r\n";


if(empty($name)) {
echo '
Ad-Soyad alanı boş bırakılamaz.
';
} elseif(empty($email)) {
echo '
E-Posta alanı boş bırakılamaz.
';
} elseif(empty($subject)) {
echo '
Konu alanı boş bırakılamaz.
';
} elseif(empty($message)) {
echo '
Mesaj alanı boş bırakılamaz.
';
} elseif (!$captcha || $kontrol.success == false ) {
echo '
Ben robot değilim kutucuğunu boş bırakmayınız!
';
} elseif(wp_mail( $to, $subject, $message, $headers )) {
echo '
Teşekkürler! Mesajınız iletilmiştir.
';
} else {
echo '
Ops! Bir problem meydana geldi tekrar denemek sitermisiniz.
';
}



}
}

?>
 

 

wmaraci
reklam

0ktay 0ktay strdex Kullanıcı
  • Üyelik 01.02.2018
  • Yaş/Cinsiyet 26 / E
  • Meslek Yazılım öğrencisi
  • Konum Antalya
  • Ad Soyad O** Ş**
  • Mesajlar 603
  • Beğeniler 25 / 155
  • Ticaret 2, (%100)
$kontrol = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=benim-api&response=" . $captcha . "&remoteip=" . $_SERVER['REMOTE_ADDR']);

Bu kodu post kontrolünün dışında bırakmışsın

if (isset($_POST['g-recaptcha-response'])) {
$captcha = $_POST['g-recaptcha-response'];
$kontrol = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=benim-api&response=" . $captcha . "&remoteip=" . $_SERVER['REMOTE_ADDR']);
}


bu şekilde denermisin.
 

 

Eğitimin pahalı olduğunu düşünüyorsanız, cehaletin bedelini hesaplayın.

silenthilll silenthilll WM Aracı Kullanıcı
  • Üyelik 29.09.2011
  • Yaş/Cinsiyet 39 / E
  • Meslek öğrenci
  • Konum Manisa
  • Ad Soyad M** K**
  • Mesajlar 699
  • Beğeniler 61 / 126
  • Ticaret 1, (%100)
0ktay o şekildede olmadı. sayfayı yenilediğimde reCAPTCHA sormadan formu gönderiyor
 

 

0ktay 0ktay strdex Kullanıcı
  • Üyelik 01.02.2018
  • Yaş/Cinsiyet 26 / E
  • Meslek Yazılım öğrencisi
  • Konum Antalya
  • Ad Soyad O** Ş**
  • Mesajlar 603
  • Beğeniler 25 / 155
  • Ticaret 2, (%100)
Alttaki kontrolün içinde denermisin

if ( isset( $_POST['if-submitted'] ) ) {

Birde link verirmisin ?
 

 

Eğitimin pahalı olduğunu düşünüyorsanız, cehaletin bedelini hesaplayın.
wmaraci
wmaraci

silenthilll silenthilll WM Aracı Kullanıcı
  • Üyelik 29.09.2011
  • Yaş/Cinsiyet 39 / E
  • Meslek öğrenci
  • Konum Manisa
  • Ad Soyad M** K**
  • Mesajlar 699
  • Beğeniler 61 / 126
  • Ticaret 1, (%100)
0ktay o şekilde denemiştim olmadı. peki formu gönderdikten sonra verileri sildirebilirmiyiz value içindeki isset( $_POST["if-name"] gibi
 

 

silenthilll silenthilll WM Aracı Kullanıcı
  • Üyelik 29.09.2011
  • Yaş/Cinsiyet 39 / E
  • Meslek öğrenci
  • Konum Manisa
  • Ad Soyad M** K**
  • Mesajlar 699
  • Beğeniler 61 / 126
  • Ticaret 1, (%100)
0ktay kodun tamamıda şu şekilde :






<script></script>










İletişim Formu




function html_form_code() {
echo '
';
echo '

';
echo 'Ad-Soyad (Zorunlu)
';
echo '';
echo '

';
echo '

';
echo 'E-Posta Adresi (Zorunlu)
';
echo '';
echo '

';
echo '

';
echo 'Konu (Zorunlu)
';
echo '';
echo '

';
echo '

';
echo 'Mesaj (Zorunlu)
';
echo '';
echo '

';
echo'
';
echo '
';
echo '
';


}



function deliver_mail() {








if ( isset( $_POST['if-submitted'] ) ) {

//Robot Kontrol
if (isset($_POST['g-recaptcha-response'])) {
$captcha = $_POST['g-recaptcha-response'];
}
$kontrol = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=benim_api&response=" . $captcha . "&remoteip=" . $_SERVER['REMOTE_ADDR']);

$name = sanitize_text_field( $_POST["if-name"] );
$email = sanitize_email( $_POST["if-email"] );
$subject = sanitize_text_field( $_POST["if-subject"] );
$message = esc_textarea( $_POST["if-message"] );


$to = get_option( 'admin_email' );
$headers = 'From: '. $name .' <'. $email .'>' . "\r\n";







if(empty($name)) {
echo '
Ad-Soyad alanı boş bırakılamaz.
';
} elseif(empty($email)) {
echo '
E-Posta alanı boş bırakılamaz.
';
} elseif(empty($subject)) {
echo '
Konu alanı boş bırakılamaz.
';
} elseif(empty($message)) {
echo '
Mesaj alanı boş bırakılamaz.
';
} elseif (!$captcha || $kontrol.success == false ) {
echo '
Ben robot değilim kutucuğunu boş bırakmayınız!
';
} elseif(wp_mail( $to, $subject, $message, $headers )) {
echo '
Teşekkürler! Mesajınız iletilmiştir.
';
} else {
echo '
Ops! Bir problem meydana geldi tekrar denemek sitermisiniz.
';
}



}
}



function if_shortcode() {
ob_start();
deliver_mail();
html_form_code();

return ob_get_clean();
}
add_shortcode( 'iletisim-formu', 'if_shortcode' );

?>












 

 

0ktay 0ktay strdex Kullanıcı
  • Üyelik 01.02.2018
  • Yaş/Cinsiyet 26 / E
  • Meslek Yazılım öğrencisi
  • Konum Antalya
  • Ad Soyad O** Ş**
  • Mesajlar 603
  • Beğeniler 25 / 155
  • Ticaret 2, (%100)
//Robot Kontrol
if (isset($_POST['g-recaptcha-response'])) {
$captcha = $_POST['g-recaptcha-response'];
} else {echo "Kontrol saglanamadi!";}


Değiştirip dönen sonucu paylaşırmısın.
 

 

Eğitimin pahalı olduğunu düşünüyorsanız, cehaletin bedelini hesaplayın.

silenthilll silenthilll WM Aracı Kullanıcı
  • Üyelik 29.09.2011
  • Yaş/Cinsiyet 39 / E
  • Meslek öğrenci
  • Konum Manisa
  • Ad Soyad M** K**
  • Mesajlar 699
  • Beğeniler 61 / 126
  • Ticaret 1, (%100)
Yok olmuyor sayfayı yenilediğimde tekrar email mesaj geliyor
 

 

Ankanew Ankanew Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 25.12.2015
  • Yaş/Cinsiyet 34 / E
  • Meslek O artık Bir işsiz
  • Konum Ankara
  • Ad Soyad G** E**
  • Mesajlar 476
  • Beğeniler 59 / 133
  • Ticaret 1, (%100)
reCAPTCHA yı daha önce doldurduğunuz tarayıcı ve ip olduğu için reCAPTCHA bunu kendisi algılayıp ikinci defa onaylatmaya gerek duymuyor
 

 

silenthilll silenthilll WM Aracı Kullanıcı
  • Üyelik 29.09.2011
  • Yaş/Cinsiyet 39 / E
  • Meslek öğrenci
  • Konum Manisa
  • Ad Soyad M** K**
  • Mesajlar 699
  • Beğeniler 61 / 126
  • Ticaret 1, (%100)
Ankanew peki ne yapmam gerekiyor Normalde birinci formu gönderdikten sonra sayfayı yenilediğimde formu gönder butonuna basmadan bile gönderiyor.
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al