Toplama bolme cikarma islemlerini fonksiyon olarak tanimlayip
0-4 arasi rastgele bir sayi secip if veya switch kullanarak bu sayinin degerine gore random bir islem ile random sayilari veya kendi belirledigin sayilari kullanarak yapabilirsin sanirim
Bu formu boşuna yapmadık. "Gönder" butonuna basınca form bilgileri bir yere gönderecek. Ben kaydet.php dosyasına gönderdim. Orada matematik işlemi ve girilen form bilgileri kontrol edilecek. Artık veritabanına kayıt mı yapılır, e-posta mı gönderilir, ne yapılacaksa orada yapılır. Ben basit tutmak için sadece girilen matematik işleminin sonucunu kontrol eden kod yazdım. Aşağıdaki kodları da kaydet.php olarak kaydediyoruz.
mathcaptcha.php, form.php ve kaydet.php dosyalarını aynı klasörde bulundurun. form.php dosyasını çalıştırdığınız zaman form çıkacak. Formun içinde mathcaptcha.php'den gelen basit toplama işlemini soracak. "Gönder" butonuna tıklayınca kaydet.php dosyasına gönderiyor. Burada, girdiğiniz toplama işleminin doğru veya yanlış olmasına göre iş yapacak.
mathcaptcha.php dosyasında 1 ile 9 arasında rastgele iki sayı üretilerek basit olması için sadece toplama işlemi sorulması için kodlanmıştır. Eğer dört işlemden herhangi birini rastgele sorması isteniyorsa 1 ile 4 arasında rastgele sayı üreterek örneğin;
$islem = rand(1,4);
Rastgele üretilen sayı; 1 ise toplama sorusu 2 ise çıkarma sorusu 3 ise çarpma sorusu 4 ise bölme sorusu
sorması için kodlanabilir. Bu kısmın kodlamasını da size bırakıyorum.
Toplama ve çarpma sorusu tamam da çıkarma sorusunda mesela "3 - 5 kaç eder?" diye bir soru ile karşılaşan biri "Bu ne biçim şey 3'den 5 çıkmaz ki..." diyebilir. Her kesimden kişinin sitenizi ziyaret edebileceğini unutmayın. Çünkü okullarda böyle öğretiliyor. Herkes liseye, üniversiteye gitmiyor. Ben böyle kişilerle çok karşılaştım. Yani çıkarma işleminde ilk sayının ikinci sayıdan büyük olması ayarlanmalıdır.
Bölme işlemi ise tam evlere şenlik. 10/2 veya 50/10 gibi tam bölünen bir soru olursa tamam da 9/7 gibi bir soru çıkarsa ne olacak? Bu soruya cevabı yazması da sıkıntı verilen cevabı kontrol etmesi de sıkıntı... Tabi ki bunların da çözümü var ama her şeyi hazır beklememek lazım. Biraz çalışmak lazım değil mi?
Bu formu boşuna yapmadık. "Gönder" butonuna basınca form bilgileri bir yere gönderecek. Ben kaydet.php dosyasına gönderdim. Orada matematik işlemi ve girilen form bilgileri kontrol edilecek. Artık veritabanına kayıt mı yapılır, e-posta mı gönderilir, ne yapılacaksa orada yapılır. Ben basit tutmak için sadece girilen matematik işleminin sonucunu kontrol eden kod yazdım. Aşağıdaki kodları da kaydet.php olarak kaydediyoruz.
mathcaptcha.php, form.php ve kaydet.php dosyalarını aynı klasörde bulundurun. form.php dosyasını çalıştırdığınız zaman form çıkacak. Formun içinde mathcaptcha.php'den gelen basit toplama işlemini soracak. "Gönder" butonuna tıklayınca kaydet.php dosyasına gönderiyor. Burada, girdiğiniz toplama işleminin doğru veya yanlış olmasına göre iş yapacak.
mathcaptcha.php dosyasında 1 ile 9 arasında rastgele iki sayı üretilerek basit olması için sadece toplama işlemi sorulması için kodlanmıştır. Eğer dört işlemden herhangi birini rastgele sorması isteniyorsa 1 ile 4 arasında rastgele sayı üreterek örneğin;
$islem = rand(1,4);
Rastgele üretilen sayı; 1 ise toplama sorusu 2 ise çıkarma sorusu 3 ise çarpma sorusu 4 ise bölme sorusu
sorması için kodlanabilir. Bu kısmın kodlamasını da size bırakıyorum.
Toplama ve çarpma sorusu tamam da çıkarma sorusunda mesela "3 - 5 kaç eder?" diye bir soru ile karşılaşan biri "Bu ne biçim şey 3'den 5 çıkmaz ki..." diyebilir. Her kesimden kişinin sitenizi ziyaret edebileceğini unutmayın. Çünkü okullarda böyle öğretiliyor. Herkes liseye, üniversiteye gitmiyor. Ben böyle kişilerle çok karşılaştım. Yani çıkarma işleminde ilk sayının ikinci sayıdan büyük olması ayarlanmalıdır.
Bölme işlemi ise tam evlere şenlik. 10/2 veya 50/10 gibi tam bölünen bir soru olursa tamam da 9/7 gibi bir soru çıkarsa ne olacak? Bu soruya cevabı yazması da sıkıntı verilen cevabı kontrol etmesi de sıkıntı... Tabi ki bunların da çözümü var ama her şeyi hazır beklememek lazım. Biraz çalışmak lazım değil mi?
arkadaşlar ben php'de sayılar ile captcha yapmak istiyorum.
Örnek olarak :
5+2
8+7
10/2
50/10
2*10
90-5
Ama nasıl yapacağımı bilmiyorum. Sanırım bir array içine almam lazım. Ama onu rastgele seçmem lazım. Sizce nasıl olmalı?
Yardımınıza ihtiyacım var.