Severity: 8192
Message: Creation of dynamic property CI_URI::$config is deprecated
Filename: core/URI.php
Line Number: 101
Severity: 8192
Message: Creation of dynamic property CI_Router::$uri is deprecated
Filename: core/Router.php
Line Number: 127
Severity: 8192
Message: Creation of dynamic property index::$benchmark is deprecated
Filename: core/Controller.php
Line Number: 75
Severity: 8192
Message: Creation of dynamic property index::$hooks is deprecated
Filename: core/Controller.php
Line Number: 75
Severity: 8192
Message: Creation of dynamic property index::$config is deprecated
Filename: core/Controller.php
Line Number: 75
Severity: 8192
Message: Creation of dynamic property index::$log is deprecated
Filename: core/Controller.php
Line Number: 75
Severity: 8192
Message: Creation of dynamic property index::$utf8 is deprecated
Filename: core/Controller.php
Line Number: 75
Severity: 8192
Message: Creation of dynamic property index::$uri is deprecated
Filename: core/Controller.php
Line Number: 75
Severity: 8192
Message: Creation of dynamic property index::$exceptions is deprecated
Filename: core/Controller.php
Line Number: 75
Severity: 8192
Message: Creation of dynamic property index::$router is deprecated
Filename: core/Controller.php
Line Number: 75
Severity: 8192
Message: Creation of dynamic property index::$output is deprecated
Filename: core/Controller.php
Line Number: 75
Severity: 8192
Message: Creation of dynamic property index::$security is deprecated
Filename: core/Controller.php
Line Number: 75
Severity: 8192
Message: Creation of dynamic property index::$input is deprecated
Filename: core/Controller.php
Line Number: 75
Severity: 8192
Message: Creation of dynamic property index::$lang is deprecated
Filename: core/Controller.php
Line Number: 75
Severity: 8192
Message: Creation of dynamic property index::$load is deprecated
Filename: core/Controller.php
Line Number: 78
Severity: 8192
Message: Creation of dynamic property index::$db is deprecated
Filename: core/Loader.php
Line Number: 390
Severity: 8192
Message: Creation of dynamic property CI_DB_mysqli_driver::$autoinit is deprecated
Filename: database/DB_driver.php
Line Number: 371
Severity: 8192
Message: Return type of CI_Session_files_driver::open($save_path, $name) should either be compatible with SessionHandlerInterface::open(string $path, string $name): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Filename: drivers/Session_files_driver.php
Line Number: 113
Severity: 8192
Message: Return type of CI_Session_files_driver::close() should either be compatible with SessionHandlerInterface::close(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Filename: drivers/Session_files_driver.php
Line Number: 280
Severity: 8192
Message: Return type of CI_Session_files_driver::read($session_id) should either be compatible with SessionHandlerInterface::read(string $id): string|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Filename: drivers/Session_files_driver.php
Line Number: 145
Severity: 8192
Message: Return type of CI_Session_files_driver::write($session_id, $session_data) should either be compatible with SessionHandlerInterface::write(string $id, string $data): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Filename: drivers/Session_files_driver.php
Line Number: 223
Severity: 8192
Message: Return type of CI_Session_files_driver::destroy($session_id) should either be compatible with SessionHandlerInterface::destroy(string $id): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Filename: drivers/Session_files_driver.php
Line Number: 303
Severity: 8192
Message: Return type of CI_Session_files_driver::gc($maxlifetime) should either be compatible with SessionHandlerInterface::gc(int $max_lifetime): int|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Filename: drivers/Session_files_driver.php
Line Number: 344
Severity: 8192
Message: Creation of dynamic property index::$session is deprecated
Filename: core/Loader.php
Line Number: 1290
Severity: 8192
Message: Creation of dynamic property index::$pagination is deprecated
Filename: core/Loader.php
Line Number: 1290
Severity: 8192
Message: Creation of dynamic property index::$email is deprecated
Filename: core/Loader.php
Line Number: 1290
Severity: 8192
Message: Creation of dynamic property index::$ders_model is deprecated
Filename: core/Loader.php
Line Number: 353
Severity: 8192
Message: Creation of dynamic property index::$bilgi_model is deprecated
Filename: core/Loader.php
Line Number: 353
Severity: 8192
Message: Creation of dynamic property CI_Loader::$data is deprecated
Filename: core/Loader.php
Line Number: 925
Severity: 8192
Message: Creation of dynamic property CI_Loader::$benchmark is deprecated
Filename: core/Loader.php
Line Number: 925
Severity: 8192
Message: Creation of dynamic property CI_Loader::$hooks is deprecated
Filename: core/Loader.php
Line Number: 925
Severity: 8192
Message: Creation of dynamic property CI_Loader::$config is deprecated
Filename: core/Loader.php
Line Number: 925
Severity: 8192
Message: Creation of dynamic property CI_Loader::$log is deprecated
Filename: core/Loader.php
Line Number: 925
Severity: 8192
Message: Creation of dynamic property CI_Loader::$utf8 is deprecated
Filename: core/Loader.php
Line Number: 925
Severity: 8192
Message: Creation of dynamic property CI_Loader::$uri is deprecated
Filename: core/Loader.php
Line Number: 925
Severity: 8192
Message: Creation of dynamic property CI_Loader::$exceptions is deprecated
Filename: core/Loader.php
Line Number: 925
Severity: 8192
Message: Creation of dynamic property CI_Loader::$router is deprecated
Filename: core/Loader.php
Line Number: 925
Severity: 8192
Message: Creation of dynamic property CI_Loader::$output is deprecated
Filename: core/Loader.php
Line Number: 925
Severity: 8192
Message: Creation of dynamic property CI_Loader::$security is deprecated
Filename: core/Loader.php
Line Number: 925
Severity: 8192
Message: Creation of dynamic property CI_Loader::$input is deprecated
Filename: core/Loader.php
Line Number: 925
Severity: 8192
Message: Creation of dynamic property CI_Loader::$lang is deprecated
Filename: core/Loader.php
Line Number: 925
Severity: 8192
Message: Creation of dynamic property CI_Loader::$load is deprecated
Filename: core/Loader.php
Line Number: 925
Severity: 8192
Message: Creation of dynamic property CI_Loader::$db is deprecated
Filename: core/Loader.php
Line Number: 925
Severity: 8192
Message: Creation of dynamic property CI_Loader::$session is deprecated
Filename: core/Loader.php
Line Number: 925
Severity: 8192
Message: Creation of dynamic property CI_Loader::$pagination is deprecated
Filename: core/Loader.php
Line Number: 925
Severity: 8192
Message: Creation of dynamic property CI_Loader::$email is deprecated
Filename: core/Loader.php
Line Number: 925
Severity: 8192
Message: Creation of dynamic property CI_Loader::$ders_model is deprecated
Filename: core/Loader.php
Line Number: 925
Severity: 8192
Message: Creation of dynamic property CI_Loader::$bilgi_model is deprecated
Filename: core/Loader.php
Line Number: 925
Severity: 8192
Message: Creation of dynamic property index::$makale_model is deprecated
Filename: core/Loader.php
Line Number: 353
Severity: 8192
Message: setcookie(): Passing null to parameter #7 ($httponly) of type bool is deprecated
Filename: core/Input.php
Line Number: 410
Severity: 8192
Message: Creation of dynamic property index::$yorum_model is deprecated
Filename: core/Loader.php
Line Number: 353
Severity: 8192
Message: Creation of dynamic property CI_Loader::$makale_model is deprecated
Filename: core/Loader.php
Line Number: 925
Severity: 8192
Message: Creation of dynamic property CI_Loader::$yorum_model is deprecated
Filename: core/Loader.php
Line Number: 925
AJAX ile sayfa yenilemeden bazı işlemleri yapabiliriz (database bağlantısı, post, get vb.). Artık günümüz websitelerinde sıkça gördüğümüz, hem görüntü hem de dinamik websiteler oluşturulması açısından kullanılması gereken önemli bir özelliktir. Bu makalede HTML ile kullanıcı adı, şifre ve mailden oluşan çok basit bir üyelik formu yapıp, girilen değerleri jQuery ile kontrol ettikten sonra hazırladığımız php sayfasına gönderip, sonucu ilk sayfaya geri döndürmeyi öğreneceğiz. İşte bütün bu işlemler sayfamız yenilenmeden gerçekleşecektir.
Kullanıcı Adı: <input type="text" name="kadi"> <br>
Şifre: <input type="password" name="sifre"> <br>
Mail: <input type="text" name="mail"> <br>
<button type="submit" onclick="kayit()">Kaydol</button>
<div id="uyari"></div>
Sayfamızda kullanıcı adı, şifre ve mailden oluşan 3 tane input alanı ve bu değerleri göndermek için 1 tane buton olacak. inputlarda dikkat etmemiz gereken nokta name özelliğine girilen değerlerdir çünkü bunu scriptte kullanacağız. Buton oluştururken ise onclick kullanarak tıklandığında istediğimiz fonksiyonun çalışmasını sağlayacağız ve böylece hem kontrol hem de POST işlemlerimiz gerçekleşecek. En alt satırdaki div alanı ise dönecek sonucu bastıracağımız alandır.
Not: AJAX ile post işlemlerinde form kullanmamız gerekmiyor.
function kayit()
{
var mail = $("input[name=mail]").val();
var kadi = $("input[name=kadi]").val();
var sifre = $("input[name=sifre]").val();
mail = jQuery.trim(mail);
kadi = jQuery.trim(kadi);
sifre = jQuery.trim(sifre);
var atpos=mail.indexOf("@");
var dotpos=mail.lastIndexOf(".");
if(kadi == "")
{
var newHTML = "<div style='color: red;'> *Kullanıcı Adı Girin </div>";
document.getElementById("uyari").innerHTML=newHTML;
}
else if(sifre == "")
{
var newHTML = "<div style='color: red;'> *Şifre Girin </div>";
document.getElementById("uyari").innerHTML=newHTML;
}
else if(mail == "")
{
var newHTML = "<div style='color: red;'> *E-Mail Girin </div>";
document.getElementById("uyari").innerHTML=newHTML;
}
else if (atpos<1 || dotpos<atpos+2 || dotpos+2>=mail.length)
{
var newHTML = "<div style='color: red;'> *Geçerli email değil </div>";
document.getElementById("uyari").innerHTML=newHTML;
}
else
{
$.ajax(
{
type: "POST",
url: "jquerypost2.php",
data : {post_mail : mail, post_kadi : kadi, post_sifre : sifre},
success: function(sonuc){
if(sonuc == 'Kaydınız yapıldı')
{
var newHTML = "<div style='color: green;'> *Üyeliğiniz kaydedildi </div>";
document.getElementById("uyari").innerHTML=newHTML;
}
}
})
}
}
Fonksiyondaki ilk 3 satırda inputlardan alınan verileri fonksiyona aktarıyoruz. Sonraki 3 satırda trim fonksiyonu kullanarak verilerin başındaki ve sonundaki gereksiz boşlukları siliyoruz. Sonraki 2 satır ise mail adresinin geçerli olup olmadığını kontrol etmeye yarayacak olan kodlardır. if ve if else şartları inputlardan alınan verilerin boş olup olmadığını ve geçerli mail adresi olup olmadığını kontrol etmeye yarıyor. else içerisi ise asıl işimizi gören kısımdır.
type: POST veya GET değeri alır.
url: Database işlemlerini yapacağımız PHP dosyası.
data: POST ile göndereceğimiz veriler.
succes: Dönecek olumlu sonuçta neler olacağını gösteren bölüm.
<?php
if(isset($_POST["post_kadi"]) && isset($_POST["post_sifre"]) && isset($_POST["post_mail"]))
echo "Kaydınız yapıldı";
?>
url kısmında yazan PHP dosyasıdır. Alınan değerler tanımlı mı değil mi kontrol eder, eğer tanımlıysa sonuç olumlu olarak geri döner. Burada dikkat edilecek nokta echo ile yazdırdığımız yazı AJAX'ın success alanındaki if şartını sağlamalı, yani aynı olmalı.
YORUMLAR
<a onclick=fonksiyon>
<div id="loginalani">
inputlar
</div>
#inputalani
{
display: none;
position: fixed;
z-index: 1000;
top: 0;
left: 0;
height: 100%;
width: 100%;
background-renk;
}
@RenderBody()alanından bu sayfayı açtım. Bu alandan linke tıkladığımda istediğim sonucu alabiliyorum. Ama kullanıcıyı biraz dolandırmış oluyorum. Hemde kullandığım sayfayı karartan form alanın bir anlamı kalmıyor gibi. Bunu tamplate üzerinden uygulamak istiyorum.