Simple AJAX

Ajax barədə veb proqramlaşdırma haqda məlumatlı insanlar yəqin ki, çox eşidib. Son illər veb proqramlaşdırmada istifadə olunan ən önəmli nailiyyətlərdən biridir desək, yanılmarıq.

AJAX özü ayrıca proqramlaşdırma dili deyil, adın açmasından(“asynchronous JavaScript and XML”-termin kimi ilk dəfə 2005-ci ildə James Garret tərəfindən işlədilib. )göründüyü kimi XML və JavaScriptin asinxron işlədilməsindən doğan yeni texnologiyadır.

Əsas qayə səhifə bütöv yüklənmədən səhifədəki verilənlərin serverə ötürülməsi və uyğun emal olunmuş cavabın qəbuludur. Ən tanınmış saytlardan nümunə gətirək:

1. Facebook – Facebook demək olar ki bütövlüklə AJAX ilə “geyindirilib”. Məktubların göndərilməsi, şərhlərin yazılması, səsvermələr, reklamlar, dəvətlər, paylaşım bölmələri və.s. AJAX əsasında işləyir. Yəni siz məlumatı səhifə bütöv yüklənmədən ötürür(məsəsən rəy,ismarış yazmaq) və qəbul edirsiniz(məsələn tanıyan biləcəyiniz dostlar siyahısı, online dostlar siyahısı və.s.)

2. Twitter – Bu saytda da AJAX-dan geniş istifadə olunub. Favorites, Direct Message, @Nickname linkləri, update düyməsi – bunlar hər biri AJAX ilə çalışır.

Nümunələr çoxdur, təbiidir ki, müasir veb saytların mütləq əksəriyyəti AJAX-dan istifadə etməyə məcburdurlar, çünki hazırda ona ideal alternativ yoxdur.

Mail servislər də bu texnologiyadan geniş istifadə edirlər, Azərbaycanda tanınan veb poçt saytlarından yalnız Mail.ru hələ də ənənəvi proqramından istifadə edir, onda AJAX-a aid nəyəsə rast gəldiyimi xatırlamıram. Əvəzində Hotmail, Gmail, Yandex Mail(neo version) və.s. saytlar başdan ayağa AJAX ilə çalışırlar.

İndi isə öz istifadə etdiyim, sadə bir AJAX loader nümunəsini sizlərlə paylaşıram. Bu nümunə verilən linkə tıkladıqda səhifənin istənilən zonasını reload edə, ordakı köhnə məlumatı, yenisiylə əvəz edə bilər, təbii ki bu zaman səhifənin bütöv təkrar yüklənməsinə gərək olmur.

1. Javascript test.js faylı create edin və daxilinə bu kodu əlavə edin:

var xmlhttp = false;

try {

xmlhttp = new ActiveXObject(“Msxml2.XMLHTTP”);

} catch (e) {

try {

xmlhttp = new ActiveXObject(“Microsoft.XMLHTTP”);

} catch (E) {

xmlhttp = false;

}}

if (!xmlhttp && typeof XMLHttpRequest != ‘undefined’) {

xmlhttp = new XMLHttpRequest();

}

var showlayer = true;

function myajax(serverPage,objID) {

if (showlayer == true ){

var oldcontent=document.getElementById(objID).innerHTML ;

document.getElementById(objID).innerHTML = “Yüklənir…“;

var obj = document.getElementById(objID);

xmlhttp.open(“GET”, serverPage);

xmlhttp.onreadystatechange = function() {

if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {

obj.innerHTML = xmlhttp.responseText;

}

}

xmlhttp.send(null);

} else {

showlayer = true;

document.getElementById(objID).innerHTML = “”;

}}

2. data.html faylını create edin və daxilinə bu kodu yazın:

Verilənlər yükləndi!

3. İndi isə sadə bir html test.html faylı create edin və oraya bu kodu daxil edin:

<script src=”test.js” type=”text/javascript”></script>

<div id=”ajaxfield”></div>

<a onclick=”myajax(‘data.html’,’ajaxfield’)” href=”#”>Ajax link</a>

Bununla da AJAX-ı sadə bir nümunədə test edə və bu sadə model üzərində istədiyiniz əksər AJAX məsələni həll edə bilərsiniz. Məsələn test.html faylındakı showHide(‘data.html’,’datalayer’) funksiyasında data.html əvəzinə data.php istifadə etsək və data.php?deyishen=ad_soyad yazıb data.php faylında bu ad_soyad-a uyğun bazaya müraciət göndərib məlumat almaq kifayət qədər çox məsələlərin həllində köməkçi ola bilər.

PHP and MsSQL

If you want to use mssql with php, it is easy.

Open php.ini file in your php root folder of your localhost (for examle, in vertrigo server, C:/…/Vertrigo server/php/php.ini) and edit this line:  ;extension=php_mssql.dll. Delete ‘;’ this and save document. Then download from internet php_mssql.dll for php , then copy this file to the php root folder of your localhost.  restart the server. Mssql connection now will work finely. All mysql functions works as mssql functions. You just need to change ‘y’ to ‘s’.  🙂  For example mysql_connect -> mssql_connect.

Security digits in php (captcha) for login pages

Simplest captcha generator:

Add this code to the login form:

<?

if (isset($_POST[“code”]) and  isset($_SESSION[“seccode”])  and $_POST[“code”]==$_SESSION[“seccode”])
{

echo ‘Correct security code’;’

}

else

{

echo ‘Incorrect security code’;

}

// 5 digit security number.

$t1=rand(1,9);$t2=rand(1,9);$t3=rand(1,9);$t4=rand(1,9);$t5=rand(1,9);
$code=$t1.”.$t2.”.$t3.”.$t4.”.$t5;
$_SESSION[“seccode”]=$code;

?>

<input name=”code” type=”text” id=”code” maxlength=”5″> <img src=”cap.php” />

Create cap.php file in root folder and add this code there:

<?php
session_start();

$image = writeToImage(‘seccap.jpg’, urldecode($_SESSION[“seccode”]));

imagejpeg($image);

function writeToImage($imagefile, $text){
if(file_exists($imagefile))
{
$image = @imagecreatefromjpeg($imagefile);

$text_color = imagecolorallocate($image, 13, 14, 191);

imagestring($image, 6, 15, 3,  “$text”, $text_color);
}
else
{
$image  = imagecreatetruecolor(150, 30);
$bgc = imagecolorallocate($image, 255, 255, 255);

$tc  = imagecolorallocate($image, 0, 0, 0);
imagefilledrectangle($image, 0, 0, 150, 30, $bgc);
imagestring($image, 1, 5, 5, “Error loading $imagefile”, $tc);
}
return $image;

}

?>

Create small jpg file named ‘seccap.jpg’ with wished background, and upload it to a root folder of your website.

CAPTCHA SECURITY FOR YOUR WEBSITE IS READY!!! 🙂

Simple Javascript Email Validation

This is javascript code, needs to be added to html:
<script>
function validate(form_id,email_address) {
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
var address = document.forms[form_id].elements.email_address].value;
if(reg.test(address) == false) {
alert(‘Please, enter correct email’);
return false;
}
}
</script>

And this is form html code
<form id=”form_id” method=”post” action=”your_some_file.php” onsubmit=”javascript:return validate(‘form_id’,’email’);”>
<input type=”text” id=”email” name=”email” />
<input type=”submit” value=”Submit” />
</form>

Useful links: http://www.smartwebby.com/dhtml, http://www.white-hat-web-design.co.uk/articles