الرجاء إدخال النص في مربع النص. PHP ajax Framework مقدمة وتجربة xajax
1. مقارنة بين xajax وأطر عمل ajax الأخرى
وظيفة xajax بسيطة جدًا ولكنها مرنة جدًا! ~إنها ليست مثل بعض الأطر الكبيرة الأخرى، فوظائفها قوية بالفعل، ولكن لا يمكن الثناء على سرعة تنفيذها. . على الرغم من أن لديها العديد من الوظائف، إلا أنها ليست مرنة بما فيه الكفاية. هناك العديد من واجهات برمجة التطبيقات التي تجعل تعلمها يشبه تعلم لغة جديدة.
2. مقدمة لوظائف xajax
وظيفة xajax بسيطة نسبيًا، ولكنها مرنة بسبب بساطتها. وفي الوقت نفسه، يتطلب هذا أيضًا من المستخدمين أن يكون لديهم فهم معين للنصوص البرمجية للعميل javascrīpt/vbs. لأن وظيفتها حيوية نسبيا. يمكن القول أنه لا يمكن فعل أي شيء بمجرد استخدام xajax، ولكن يمكن فعل كل شيء باستخدام js/vbs.
يستخدم Xajax بشكل رئيسي فئة xajaxResponse، والتي توفر بعض الأساليب، على سبيل المثال:
1.addAlert($sMsg)
تحذير منبثق
2. addscript($sJS)
تنفيذ قطعة معينة من js
3.$objResponse->addAssign(""،"،")
إرفاق قيمة بعنصر في الصفحة، أو تعديل خصائصه، وما إلى ذلك. . . .
لذا فإن xajax لم يمت، ولا يمكنه إنشاء وظائف XXX XXX، ولكن يمكنه التحكم بمرونة في js/vbs للعميل لتحقيق التأثير الذي نريد تحقيقه.
3. لا يتطلب تثبيت Xajax وتكوينه تثبيتًا وتكوينًا خاصين، فقط قم بتنزيل حزمة الملفات الخاصة به وفك ضغطها إلى دليل موقع الويب:
http://www.xajaxproject.org/
3. استخدم xajax لتسجيل العضوية وتسجيل الدخول
1. تستخدم قاعدة البيانات mysql5.0، واسم قاعدة البيانات هو zl، واسم الجدول هو هيكل الجدول zl_user
المعرف int(11) auto_increment
zl_user فارتشار(50)
zl_pwd فارتشار(50)
البريد الإلكتروني varchar(50)
2. ملف التسجيل reg.php (مع التعليمات)
<?php
require_once("inc/xajax.inc.php");
// لاستخدام xajax، يجب عليك أولاً تقديم xajax.inc.php
$xajax = new xajax("inc/signup.php");
// أنشئ كائن xajax لـsingup.php
$xajax->registerFunction("processForm");
// استخدم وظيفة ProcessForm فيsingup.php
?>
<الرأس>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<link rel="stylesheet" href=" http://blogbeta.blueidea.com/css/style.css " _fcksavedurl="" http://blogbeta.blueidea.com/css/style.css "" type=" النص / المغلق">
<title>مستند بدون عنوان</title>
<?php $xajax->printJavascrīpt('inc/');
<scrīpt type="text/javascrīpt">
وظيفة إرسال الاشتراك ()
{
xajax.$('submitButton').disabled=true;
xajax.$('submitButton').value=" http://blogbeta.blueidea.com/wait ...";
// تعديل السمة بالمعرف SubmitButton
xajax_processForm(xajax.getFormValues("signupForm"));
// هنا يتبع xajax_ الوظيفة التي سيتم استخدامها، هنا هوprocessForm، متبوعًا بمجموعة من عناصر نموذج الاشتراك.
عودة كاذبة.
}
</script>
</الرأس>
<body><form id="signupForm" action="javascrīpt:void(null);" ōnSubmit="submitSignup();">
<div معرف = "الرئيسية">
<div id="m1">تسجيل المستخدم</div>
<div معرف = "formDiv">
<عرض الجدول = "100%" الحدود = "0" تباعد الخلايا = "0" خلية الحشو = "5">
<تر>
<td align="right"> </td>
<td> </td>
</tr>
<تر>
<td width="31%" align="right">اسم المستخدم:</td>
<td width="69%"><اسم الإدخال = "usr" type = "text" id = "usr" />
*</td>
</tr>
<تر>
<td align="right">كلمة المرور:</td>
<td><إدخال الاسم = "pwd" type = "كلمة المرور" id = "pwd" />
*</td>
</tr>
<تر>
<td align="right">كلمة المرور:</td>
<td><اسم الإدخال = "pwd2" نوع = "كلمة المرور" معرف = "pwd2" />
*</td>
</tr>
<تر>
<td align="right">البريد الإلكتروني:</td>
<td><إدخال الاسم = "البريد الإلكتروني" نوع = "نص" معرف = "البريد الإلكتروني" />
* يمكن استخدامه لاستعادة كلمة المرور</td>
</tr>
<tr align="center">
<td colspan = "2"> <input type = "submit" name = "submitButton" value = "Submit" class = "button" />
<نوع الإدخال = "إعادة تعيين" اسم = "إرسال 2" قيمة = "إعادة تعيين" فئة = "زر" /></td>
</tr>
</الجدول>
</div>
</div>
</النموذج>
</الجسم>
</html>
بعد النقر على إرسال، قم بتنفيذ وظيفةprocessForm 3 فيsingup.php
, inc/singup.php
<?php
تحديد ('XAJAX_DEFAULT_CHAR_ENCODING'، 'gb2312')؛
// لاحظ هنا أنه يجب تعيين gb2312، وإلا فسيتم تشويه اللغة الصينية
require_once("xajax.inc.php");
require_once("function.php");
$xajax = new xajax();
$xajax->registerFunction("processForm");
// نفس
وظيفة ملف reg.php ProcessForm($aFormValues)
{
$objResponse = new xajaxResponse();
require_once("conn.php");
$usr=$aFormValues['usr'];
$email=$aFormValues['email'];
$pwd=$aFormValues['pwd'];
$pw=Md5($pwd);
$errmsg="";
// أحرف غير قانونية ليتم تصفيتها
$ArrFiltrate=array("'"،"،"،"،union")؛
foreach($aFormValues as $key=>$value){
إذا (FunStringExist($value,$ArrFiltrate)){
$objResponse->addAlert("المعلومات المدخلة تحتوي على أحرف غير قانونية"' ; union!"");
$objResponse->addAssign("submitButton"،"value"،"continue");
$objResponse->addAssign("submitButton"،"disabled"،false);
إرجاع objResponse $؛
}
}
إذا (تقليم($usr) == "")
{
$errmsg.="الرجاء إدخال اسم المستخدم الخاص بك!n";
}
إذا (تقليم($pwd) == "")
{
$errmsg.="الرجاء إدخال كلمة المرور الخاصة بك!n";
}
إذا ($pwd != $aFormValues['pwd2'])
{
$errmsg.="كلمات المرور التي تم إدخالها مرتين غير متناسقة!n";
}
إذا (!CheckEmailAddr($email))
{
$errmsg.="عنوان البريد الإلكتروني غير صحيح!n";
}
$sql="select * from zl_usr Where zl_usr='$usr'";
$result=mysql_query($sql,$db);
إذا($myrow=mysql_fetch_array($result)){
$errmsg.="اسم المستخدم موجود بالفعل!n";
}
إذا ($errmsg = = "")
{
$sForm = "تم التسجيل بنجاح<br>اسم المستخدم:".$usr."<br>email:".$email."";
$sql="insert into zl_usr(zl_usr,zl_pwd,email) value('$usr','$pw','$email')";
$result=mysql_query($sql,$db);
$objResponse->addAssign("formDiv"،"innerHTML"،$sForm);
}
آخر
{
$objResponse->addAlert($errmsg);
// رسالة خطأ منبثقة
$objResponse->addAssign("submitButton"،"value"،"continue");
// قم بتعديل قيمة زر الإرسال للمتابعة
$objResponse->addAssign("submitButton"،"disabled"،false);
// تعديل خصائص زر الإرسال
}
إرجاع objResponse $؛
}
$xajax->processRequests();
?>
يتم الحكم على صحة المعلومات في هذا الملف، بما في ذلك: ما إذا كان قد تم تسجيل اسم المستخدم، وما إذا كانت هناك أحرف غير قانونية في المعلومات، وما إذا كان عنوان البريد الإلكتروني صحيحًا، وما إذا كانت كلمات المرور التي تم إدخالها مرتين متسقة، وما إذا كان هناك لا توجد أخطاء، يتم إدخالها في قاعدة البيانات، و
$objResponse->addAssign("formDiv"،"innerHTML"،$sForm);
أعد إدخال الكود في formDiv مع المحتوى $sForm
$sForm = "تم التسجيل بنجاح<br>اسم المستخدم:".$usr."<br>email:".$email."";
إذا ظهرت رسالة خطأ
$objResponse->addAlert($errmsg);
// رسالة خطأ منبثقة
$objResponse->addAssign("submitButton"،"value"،"continue");
$objResponse->addAssign("submitButton"،"disabled"،false);
// تعديل سمات زر الإرسال
3.login.php ملف تسجيل الدخول
<?php
require_once("inc/xajax.inc.php");
$xajax = new xajax("inc/login.php");
$xajax->registerFunction("processForm");
?>
<الرأس>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<link rel="stylesheet" href=" http://blogbeta.blueidea.com/css/style.css " _fcksavedurl="" http://blogbeta.blueidea.com/css/style.css "" type=" النص / المغلق">
<title>مستند بدون عنوان</title>
<?php $xajax->printJavascrīpt('inc/');
<scrīpt type="text/javascrīpt">
وظيفة إرسال الاشتراك ()
{
xajax.$('submitButton').disabled=true;
xajax.$('submitButton').value=" http://blogbeta.blueidea.com/wait ...";
xajax_processForm(xajax.getFormValues("signupForm"));
عودة كاذبة.
}
</script>
</الرأس>
<body><form id="signupForm" action="javascrīpt:void(null);" ōnSubmit="submitSignup();">
<div معرف = "الرئيسية">
<div id="m1">تسجيل دخول المستخدم</div>
<div معرف = "formDiv">
<عرض الجدول = "100%" الحدود = "0" تباعد الخلايا = "0" خلية الحشو = "5">
<تر>
<td align="right"> </td>
<td> </td>
</tr>
<تر>
<td width="31%" align="right">اسم المستخدم:</td>
<td width="69%"><اسم الإدخال = "usr" type = "text" id = "usr" />
*</td>
</tr>
<تر>
<td align="right">كلمة المرور:</td>
<td><إدخال الاسم = "pwd" type = "كلمة المرور" id = "pwd" />
*</td>
</tr>
<tr align="center">
<td colspan = "2"> <input type = "submit" name = "submitButton" value = "Submit" class = "button" />
<نوع الإدخال = "إعادة تعيين" اسم = "إرسال 2" قيمة = "إعادة تعيين" فئة = "زر" /></td>
</tr>
</الجدول>
</div>
</div>
</النموذج>
</الجسم>
</html>
4. inc/login.php ملف معالجة تسجيل الدخول
<?php
تحديد ('XAJAX_DEFAULT_CHAR_ENCODING'، 'gb2312')؛
require_once("xajax.inc.php");
require_once("function.php");
$xajax = new xajax();
$xajax->registerFunction("processForm");
دالة ProcessForm($aFormValues)
{
$objResponse = new xajaxResponse();
require_once("conn.php");
$usr=$aFormValues['usr'];
$email=$aFormValues['email'];
$pwd=$aFormValues['pwd'];
$pw=Md5($pwd);
$errmsg="";
// أحرف غير قانونية ليتم تصفيتها
$ArrFiltrate=array("'"،"،"،"،union")؛
foreach($aFormValues as $key=>$value){
إذا (FunStringExist($value,$ArrFiltrate)){
$objResponse->addAlert("المعلومات المدخلة تحتوي على أحرف غير قانونية"' ; union!"");
$objResponse->addAssign("submitButton"،"value"،"continue");
$objResponse->addAssign("submitButton"،"disabled"،false);
إرجاع objResponse $؛
}
}
إذا (تقليم($usr) == "")
{
$errmsg.="الرجاء إدخال اسم المستخدم الخاص بك!n";
}
إذا (تقليم($pwd) == "")
{
$errmsg.="الرجاء إدخال كلمة المرور الخاصة بك!n";
}
$sql="select * from zl_usr Where zl_usr='$usr' and zl_pwd='$pw'";
$result=mysql_query($sql,$db);
إذا(!$myrow=mysql_fetch_array($result)){
$errmsg.="اسم المستخدم غير موجود، أو كلمة المرور خاطئة!n";
}
إذا ($errmsg = = "")
{
$sForm = "تم تسجيل الدخول بنجاح";
$objResponse->addAssign("formDiv"،"innerHTML"،$sForm);
}
آخر
{
$objResponse->addAlert($errmsg);
$objResponse->addAssign("submitButton"،"value"،"continue");
$objResponse->addAssign("submitButton"،"disabled"،false);
}
إرجاع objResponse $؛
}
$xajax->processRequests();
?>
مبادئ تسجيل الدخول والتسجيل متشابهة، لذا لا مزيد من الهراء :)
بالإضافة إلى ذلك، فيما يلي رمزا الملف المستخدمان conn.php function.php
conn.php
<?php
$database = "zl"؛ // اسم قاعدة بيانات MYSQL
$db = mysql_connect("127.0.0.1"، "root"، "123456")؛// اسم المستخدم وكلمة المرور لقاعدة بيانات MYSQL
mysql_select_db($database,$db);
?>
function.php
<?php
وظيفة CheckEmailAddr($C_mailaddr)
{
إذا (!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+ )*$"،
$C_mailaddr))
{
عودة كاذبة.
}
عودة صحيحة؛
}
// ما إذا كانت هناك قيمة في المصفوفة
الدالة FunStringExist($StrFiltrate,$ArrFiltrate){
foreach ($ArrFiltrate كـ $key=>$value){
إذا (eregi($value,$StrFiltrate)){
عودة صحيحة؛
}
}
عودة كاذبة.
}
?>