Silakan masukkan teks di kotak teks. Pengenalan dan uji coba framework PHP ajax xajax
1. Perbandingan xajax dan framework ajax lainnya
Fungsi xajax sangat sederhana, namun sangat fleksibel! ~Ini tidak seperti beberapa framework besar lainnya. Fungsinya memang kuat, namun kecepatan eksekusinya tidak dapat disamakan. . Meski memiliki banyak fungsi, namun kurang fleksibel. Ada begitu banyak API sehingga mempelajarinya seperti mempelajari bahasa baru.
2. Pengenalan fungsi xajax
Fungsi xajax relatif sederhana, namun karena kesederhanaannya maka fleksibel. Pada saat yang sama, hal ini juga mengharuskan pengguna untuk memiliki pemahaman tertentu tentang skrip klien javascrīpt/vbs. Karena fungsinya relatif hidup. Bisa dikatakan tidak ada yang bisa dilakukan hanya dengan menggunakan xajax, tapi semuanya bisa dilakukan dengan js/vbs.
Xajax terutama menggunakan kelas xajaxResponse, yang menyediakan beberapa metode, misalnya:
1. tambahkan Peringatan($sMsg)
peringatan muncul
2. skrip tambahan($sJS)
Jalankan bagian tertentu dari js
3. $objResponse->addAssign("","","")
Melampirkan nilai ke elemen di halaman, atau mengubah propertinya, dll. . . .
Jadi xajax tidak mati, tidak dapat membuat fungsi XXX XXX, tetapi dapat secara fleksibel mengontrol js/vbs klien untuk mencapai efek yang ingin kita capai.
3. Instalasi dan konfigurasi Xajax tidak memerlukan instalasi dan konfigurasi khusus. Cukup unduh paket filenya dan unzip ke direktori situs web:
http://www.xajaxproject.org/
3. Gunakan xajax untuk registrasi keanggotaan dan login
1. Basis data menggunakan mysql5.0, nama basis datanya adalah zl, nama tabelnya adalah struktur tabel zl_user
id int(11) kenaikan_otomatis
zl_pengguna varchar(50)
zl_pwd varchar(50)
email varchar(50)
2. file registrasi reg.php (dengan instruksi)
<?php
require_once("inc/xajax.inc.php");
//Untuk menggunakan xajax, Anda harus memperkenalkan xajax.inc.php terlebih dahulu
$xajax = xajax baru("inc/signup.php");
//Buat objek xajax untuk singup.php
$xajax->registerFunction("processForm");
//Gunakan fungsi processForm di singup.php
?>
<kepala>
<meta http-equiv="Jenis Konten" content="teks/html; charset=gb2312" />
<link rel="stylesheet" href=" http://blogbeta.blueidea.com/css/style.css " _fcksavedurl="" http://blogbeta.blueidea.com/css/style.css "" type=" teks/css">
<title>Dokumen Tanpa Judul</title>
<?php $xajax->printJavascript('inc/');
<scrīpt type="teks/javascrīpt">
fungsi kirimDaftar()
{
xajax.$('submitButton').disabled=true;
xajax.$('submitButton').value=" http://bloggbeta.blueidea.com/wait ...";
//Ubah atribut dengan ID submitButton
xajax_processForm(xajax.getFormValues("signupForm"));
//Di sini xajax_ diikuti dengan fungsi mana yang akan digunakan. Berikut adalah processForm, diikuti dengan kumpulan item formulir signupForm.
kembali salah;
}
</skrip>
</kepala>
<body><form id="signupForm" action="javascrīpt:void(null);" ōnSubmit="submitSignup();">
<div id="utama">
<div id="m1">Pendaftaran pengguna</div>
<div id="formDiv">
<lebar tabel="100%" border="0" Cellspacing="0" cellpadding="5">
<tr>
<td menyelaraskan="kanan"> </td>
<td> </td>
</tr>
<tr>
<td width="31%" align="right">Nama pengguna:</td>
<td width="69%"><input name="usr" type="text" id="usr" />
*</td>
</tr>
<tr>
<td align="right">Kata sandi:</td>
<td><masukan nama="pwd" type="kata sandi" id="pwd" />
*</td>
</tr>
<tr>
<td align="right">Kata sandi:</td>
<td><masukan nama="pwd2" type="kata sandi" id="pwd2" />
*</td>
</tr>
<tr>
<td align="right">Email:</td>
<td><masukan nama="email" type="teks" id="email" />
* Dapat digunakan untuk mengambil kata sandi</td>
</tr>
<tr menyelaraskan="tengah">
<td colspan="2"><input type="kirim" name="submitButton" value="Kirim" class="button" />
<input type="reset" name="Submit2" value="Reset" class="button" /></td>
</tr>
</tabel>
</div>
</div>
</bentuk>
</tubuh>
</html>
Setelah mengklik kirim, jalankan fungsi processForm 3 di singup.php
, inc/singup.php
<?php
definisikan('XAJAX_DEFAULT_CHAR_ENCODING', 'gb2312' );
//Catatan di sini, gb2312 harus disetel, jika tidak, bahasa Mandarin akan kacau
require_once("xajax.inc.php");
require_once("fungsi.php");
$xajax = xajax baru();
$xajax->registerFunction("processForm");
//Sama seperti
fungsi file reg.php processForm($aFormValues)
{
$objResponse = xajaxResponse baru();
require_once("sambungan.php");
$usr=$aFormValues['usr'];
$email=$aFormValues['email'];
$pwd=$aFormValues['pwd'];
$pw=Md5($pwd);
$errmsg="";
//Karakter ilegal yang akan difilter
$ArrFiltrate=array("'",";","union");
foreach($aFormValues sebagai $key=>$value){
if (FunStringExist($nilai,$ArrFiltrate)){
$objResponse->addAlert("Informasi yang dimasukkan mengandung karakter ilegal"' ; union!"");
$objResponse->addAssign("submitButton","value","lanjutkan");
$objResponse->addAssign("submitButton","disabled",false);
kembalikan $objResponse;
}
}
jika (pangkas($usr) == "")
{
$errmsg.="Silakan masukkan nama pengguna Anda!n";
}
jika (potong($pwd) == "")
{
$errmsg.="Silakan masukkan kata sandi Anda!n";
}
jika ($pwd != $aFormValues['pwd2'])
{
$errmsg.="Kata sandi yang dimasukkan dua kali tidak konsisten!n";
}
jika (!CheckEmailAddr($email))
{
$errmsg.="Alamat email salah!n";
}
$sql="pilih * dari zl_usr di mana zl_usr='$usr'";
$hasil=mysql_query($sql,$db);
if($barissaya=mysql_fetch_array($hasil)){
$errmsg.="Nama pengguna sudah ada!n";
}
jika ($errmsg=="")
{
$sForm = "Pendaftaran berhasil<br>Nama Pengguna:".$usr."<br>email:".$email."";
$sql="masukkan ke zl_usr(zl_usr,zl_pwd,email) value('$usr','$pw','$email')";
$hasil=mysql_query($sql,$db);
$objResponse->addAssign("formDiv","innerHTML",$sForm);
}
kalau tidak
{
$objResponse->addAlert($errmsg);
//Pesan kesalahan muncul
$objResponse->addAssign("submitButton","value","lanjutkan");
//Ubah nilai submitButton untuk melanjutkan
$objResponse->addAssign("submitButton","disabled",false);
//Ubah properti tombol submitButton
}
kembalikan $objResponse;
}
$xajax->prosesPermintaan();
?>
Keabsahan informasi dinilai dalam file ini, antara lain: apakah nama pengguna telah didaftarkan, apakah terdapat karakter ilegal dalam informasi, apakah alamat email benar, apakah kata sandi yang dimasukkan dua kali konsisten, dan jika ada tidak ada kesalahan, mereka dimasukkan ke dalam database
$objResponse->addAssign("formDiv","innerHTML",$sForm);
Masukkan kembali kode di formDiv dengan konten $sForm
$sForm = "Pendaftaran berhasil<br>Nama Pengguna:".$usr."<br>email:".$email."";
Jika ada pesan kesalahan maka
$objResponse->addAlert($errmsg);
//Pesan kesalahan muncul
$objResponse->addAssign("submitButton","value","lanjutkan");
$objResponse->addAssign("submitButton","disabled",false);
//Memodifikasi atribut submitButton
3. login.php file login
<?php
require_once("inc/xajax.inc.php");
$xajax = xajax baru("inc/login.php");
$xajax->registerFunction("processForm");
?>
<kepala>
<meta http-equiv="Jenis Konten" content="teks/html; charset=gb2312" />
<link rel="stylesheet" href=" http://blogbeta.blueidea.com/css/style.css " _fcksavedurl="" http://blogbeta.blueidea.com/css/style.css "" type=" teks/css">
<title>Dokumen Tanpa Judul</title>
<?php $xajax->printJavascript('inc/');
<scrīpt type="teks/javascrīpt">
fungsi kirimDaftar()
{
xajax.$('submitButton').disabled=true;
xajax.$('submitButton').value=" http://bloggbeta.blueidea.com/wait ...";
xajax_processForm(xajax.getFormValues("signupForm"));
kembali salah;
}
</skrip>
</kepala>
<body><form id="signupForm" action="javascrīpt:void(null);" ōnSubmit="submitSignup();">
<div id="utama">
<div id="m1">Login pengguna</div>
<div id="formDiv">
<lebar tabel="100%" border="0" Cellspacing="0" cellpadding="5">
<tr>
<td menyelaraskan="kanan"> </td>
<td> </td>
</tr>
<tr>
<td width="31%" align="right">Nama pengguna:</td>
<td width="69%"><input name="usr" type="text" id="usr" />
*</td>
</tr>
<tr>
<td align="right">Kata sandi:</td>
<td><masukan nama="pwd" type="kata sandi" id="pwd" />
*</td>
</tr>
<tr menyelaraskan="tengah">
<td colspan="2"><input type="kirim" name="submitButton" value="Kirim" class="button" />
<input type="reset" name="Submit2" value="Reset" class="button" /></td>
</tr>
</tabel>
</div>
</div>
</bentuk>
</tubuh>
</html>
4. inc/login.php file pemrosesan login
<?php
definisikan('XAJAX_DEFAULT_CHAR_ENCODING', 'gb2312' );
require_once("xajax.inc.php");
require_once("fungsi.php");
$xajax = xajax baru();
$xajax->registerFunction("processForm");
fungsi prosesForm($aFormValues)
{
$objResponse = xajaxResponse baru();
require_once("sambungan.php");
$usr=$aFormValues['usr'];
$email=$aFormValues['email'];
$pwd=$aFormValues['pwd'];
$pw=Md5($pwd);
$errmsg="";
//Karakter ilegal yang akan difilter
$ArrFiltrate=array("'",";","union");
foreach($aFormValues sebagai $key=>$value){
if (FunStringExist($nilai,$ArrFiltrate)){
$objResponse->addAlert("Informasi yang dimasukkan mengandung karakter ilegal"' ; union!"");
$objResponse->addAssign("submitButton","value","lanjutkan");
$objResponse->addAssign("submitButton","disabled",false);
kembalikan $objResponse;
}
}
jika (pangkas($usr) == "")
{
$errmsg.="Silakan masukkan nama pengguna Anda!n";
}
jika (potong($pwd) == "")
{
$errmsg.="Silakan masukkan kata sandi Anda!n";
}
$sql="pilih * dari zl_usr di mana zl_usr='$usr' dan zl_pwd='$pw'";
$hasil=mysql_query($sql,$db);
if(!$barissaya=mysql_fetch_array($hasil)){
$errmsg.="Nama pengguna tidak ada, atau kata sandi salah!n";
}
jika ($errmsg=="")
{
$sForm = "Login berhasil";
$objResponse->addAssign("formDiv","innerHTML",$sForm);
}
kalau tidak
{
$objResponse->addAlert($errmsg);
$objResponse->addAssign("submitButton","value","lanjutkan");
$objResponse->addAssign("submitButton","disabled",false);
}
kembalikan $objResponse;
}
$xajax->prosesPermintaan();
?>
Prinsip login dan registrasi serupa, jadi tidak ada lagi omong kosong :)
Selain itu, berikut adalah dua kode file yang digunakan conn.php function.php
sambungan.php
<?php
$database="zl";//nama basis data MYSQL
$db = mysql_connect("127.0.0.1", "root","123456");//nama pengguna dan kata sandi basis data MYSQL
mysql_select_db($database,$db);
?>
fungsi.php
<?php
fungsi PeriksaEmailAddr($C_mailaddr)
{
jika (!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+ )*$",
$C_mailaddr))
{
kembali salah;
}
kembali benar;
}
//Apakah ada nilai dalam array
fungsi FunStringExist($StrFiltrate,$ArrFiltrate){
foreach ($ArrFiltrate sebagai $key=>$nilai){
if (eregi($nilai,$StrFiltrate)){
kembali benar;
}
}
kembali salah;
}
?>