Por favor, insira o texto na caixa de texto. Introdução e teste do framework PHP ajax xajax
1. Comparação de xajax e outros frameworks ajax.
A função xajax é muito simples, mas muito flexível! ~Não é como alguns outros grandes frameworks. Suas funções são realmente poderosas, mas sua velocidade de execução não pode ser elogiada. . Embora tenha muitas funções, não é suficientemente flexível. Existem tantas APIs que aprendê-las é como aprender um novo idioma.
2. Introdução às funções xajax
A função do xajax é relativamente simples, mas devido à sua simplicidade é flexível. Ao mesmo tempo, isso também exige que os usuários tenham um certo conhecimento dos scripts do cliente javascript/vbs. Porque sua função é relativamente animada. Pode-se dizer que nada pode ser feito simplesmente usando xajax, mas tudo pode ser feito com js/vbs.
O Xajax usa principalmente a classe xajaxResponse, que fornece alguns métodos, por exemplo:
1. addAlert($sMsg)
aviso pop-up
2. adicionascript($sJS)
Execute um determinado pedaço de js
3. $objResponse->addAssign("","","")
Anexe um valor a um elemento na página ou modifique suas propriedades, etc. . . .
Portanto, o xajax não está morto, ele não pode executar funções XXX XXX, mas pode controlar com flexibilidade os js/vbs do cliente para obter o efeito que desejamos.
3. A instalação e configuração do Xajax não requer instalação e configuração especial. Basta baixar o pacote de arquivos e descompactá-lo no diretório de download do site.
http://www.xajaxproject.org/
3. Use xajax para registro de membro e login
1. O banco de dados usa mysql5.0, o nome do banco de dados é zl, o nome da tabela é estrutura da tabela zl_user
id int(11) incremento_automático
zl_uservarchar(50)
zl_pwdvarchar(50)
email varchar(50)
2. arquivo de registro reg.php (com instruções)
<?php
require_once("inc/xajax.inc.php");
//Para usar xajax, você deve primeiro introduzir xajax.inc.php
$xajax = new xajax("inc/signup.php");
//Cria um objeto xajax para singup.php
$xajax->registerFunction("processForm");
//Use a função processForm em singup.php
?>
<cabeça>
<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=" texto/css">
<title>Documento sem título</title>
<?php $xajax->printJavascript('inc/' ?>
<script type="text/javascript">
função enviarSignup()
{
xajax.$('submitButton').disabled=true;
xajax.$('submitButton').value=" http://blogbeta.blueidea.com/wait ...";
//Modifica o atributo com ID submitButton
xajax_processForm(xajax.getFormValues("signupForm"));
//Aqui xajax_ é seguido por qual função usar. Aqui está processForm, seguido por uma coleção de itens de formulário signupForm.
retornar falso;
}
</script>
</head>
<body><form id="signupForm" action="javascrīpt:void(null);" onSubmit="submitSignup();">
<div id="principal">
<div id="m1">Registro de usuário</div>
<div id="formDiv">
<table width="100%" border="0" cellpacing="0" cellpadding="5">
<tr>
<td alinhar="direita"> </td>
<td> </td>
</tr>
<tr>
<td width="31%" align="right">Nome de usuário:</td>
<td width="69%"><input name="usr" type="text" id="usr" />
*</td>
</tr>
<tr>
<td align="right">Senha:</td>
<td><input name="pwd" type="senha" id="pwd" />
*</td>
</tr>
<tr>
<td align="right">Senha:</td>
<td><input name="pwd2" type="senha" id="pwd2" />
*</td>
</tr>
<tr>
<td align="right">E-mail:</td>
<td><input name="email" type="text" id="email" />
* Pode ser usado para recuperar senha</td>
</tr>
<tr alinhar="centro">
<td colspan="2"><input type="submit" name="submitButton" value="Submit" class="button" />
<input type="reset" name="Submit2" value="Reset" class="button" /></td>
</tr>
</tabela>
</div>
</div>
</form>
</body>
</html>
Após clicar em enviar, execute a função processForm 3 em singup.php
, inc/singup.php
<?php
definir ('XAJAX_DEFAULT_CHAR_ENCODING', 'gb2312');
//Observe aqui que gb2312 deve ser definido, caso contrário o chinês ficará distorcido
require_once("xajax.inc.php");
require_once("função.php");
$xajax = newxajax();
$xajax->registerFunction("processForm");
//Igual à
função do arquivo reg.php processForm($aFormValues)
{
$objResponse = new xajaxResponse();
require_once("conn.php");
$usr=$aFormValues['usr'];
$email=$aFormValues['email'];
$pwd=$aFormValues['pwd'];
$pw=Md5($pwd);
$errmsg="";
//Caracteres ilegais a serem filtrados
=
array("'",";","union");
if (FunStringExist($valor,$ArrFiltrate)){
$objResponse->addAlert("As informações inseridas contêm caracteres ilegais"' ; union!"");
$objResponse->addAssign("submitButton","valor","continuar");
$objResponse->addAssign("submitButton","desativado",falso);
return $objResposta;
}
}
if (trim($usr) == "")
{
$errmsg.="Por favor insira seu nome de usuário!n";
}
if (trim($pwd) == "")
{
$errmsg.="Por favor digite sua senha!n";
}
if ($pwd != $aFormValues['pwd2'])
{
$errmsg.="As senhas digitadas duas vezes são inconsistentes!n";
}
if (!CheckEmailAddr($email))
{
$errmsg.="Endereço de email incorreto!n";
}
$sql="selecione * de zl_usr onde zl_usr='$usr'";
$resultado=mysql_query($sql,$db);
if($minhalinha=mysql_fetch_array($resultado)){
$errmsg.="Nome de usuário já existe!n";
}
if ($errmsg=="")
{
$sForm = "Registro realizado com sucesso<br>Nome de usuário:".$usr."<br>email:".$email."";
$sql="inserir em zl_usr(zl_usr,zl_pwd,email) valores('$usr','$pw','$email')";
$resultado=mysql_query($sql,$db);
$objResponse->addAssign("formDiv","innerHTML",$sForm);
}
outro
{
$objResponse->addAlert($errmsg);
//Aparece mensagem de erro
$objResponse->addAssign("submitButton","valor","continuar");
//Modifique o valor de submitButton para continuar
$objResponse->addAssign("submitButton","desativado",falso);
//Modifica as propriedades do botão submitButton
}
return $objResposta;
}
$xajax->processRequests();
?>
A validade das informações é julgada neste arquivo, incluindo: se o nome de usuário foi registrado, se há caracteres ilegais nas informações, se o endereço de e-mail está correto, se as senhas digitadas duas vezes são consistentes e se há não há erros, eles são inseridos no banco de dados e.
$objResponse->addAssign("formDiv","innerHTML",$sForm);
Insira novamente o código no formDiv com o conteúdo $sForm
$sForm = "Registro bem sucedido<br>Nome de usuário:".$usr."<br>email:".$email.""
;
$objResponse->addAlert($errmsg);
//Aparece mensagem de erro
$objResponse->addAssign("submitButton","valor","continuar");
$objResponse->addAssign("submitButton","desativado",falso);
//Modifique os atributos do submitButton
3. arquivo de login login.php
<?php
require_once("inc/xajax.inc.php");
$xajax = new xajax("inc/login.php");
$xajax->registerFunction("processForm");
?>
<cabeça>
<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=" texto/css">
<title>Documento sem título</title>
<?php $xajax->printJavascript('inc/' ?>
<script type="text/javascript">
função enviarSignup()
{
xajax.$('submitButton').disabled=true;
xajax.$('submitButton').value=" http://blogbeta.blueidea.com/wait ...";
xajax_processForm(xajax.getFormValues("signupForm"));
retornar falso;
}
</script>
</head>
<body><form id="signupForm" action="javascrīpt:void(null);" onSubmit="submitSignup();">
<div id="principal">
<div id="m1">Login do usuário</div>
<div id="formDiv">
<table width="100%" border="0" cellpacing="0" cellpadding="5">
<tr>
<td alinhar="direita"> </td>
<td> </td>
</tr>
<tr>
<td width="31%" align="right">Nome de usuário:</td>
<td width="69%"><input name="usr" type="text" id="usr" />
*</td>
</tr>
<tr>
<td align="right">Senha:</td>
<td><input name="pwd" type="senha" id="pwd" />
*</td>
</tr>
<tr alinhamento="centro">
<td colspan="2"><input type="submit" name="submitButton" value="Submit" class="button" />
<input type="reset" name="Submit2" value="Reset" class="button" /></td>
</tr>
</tabela>
</div>
</div>
</form>
</body>
</html>
4. arquivo de processamento de login inc/login.php
<?php
definir ('XAJAX_DEFAULT_CHAR_ENCODING', 'gb2312');
require_once("xajax.inc.php");
require_once("função.php");
$xajax = newxajax();
$xajax->registerFunction("processForm");
função processForm($aFormValues)
{
$objResponse = new xajaxResponse();
require_once("conn.php");
$usr=$aFormValues['usr'];
$email=$aFormValues['email'];
$pwd=$aFormValues['pwd'];
$pw=Md5($pwd);
$errmsg="";
//Caracteres ilegais a serem filtrados
=
array("'",";","union");
if (FunStringExist($valor,$ArrFiltrate)){
$objResponse->addAlert("As informações inseridas contêm caracteres ilegais"' ; union!"");
$objResponse->addAssign("submitButton","valor","continuar");
$objResponse->addAssign("submitButton","desativado",falso);
return $objResposta;
}
}
if (trim($usr) == "")
{
$errmsg.="Por favor insira seu nome de usuário!n";
}
if (trim($pwd) == "")
{
$errmsg.="Por favor digite sua senha!n";
}
$sql="selecione * de zl_usr onde zl_usr='$usr' e zl_pwd='$pw'";
$resultado=mysql_query($sql,$db);
if(!$minhalinha=mysql_fetch_array($resultado)){
$errmsg.="O nome de usuário não existe ou a senha está errada!n";
}
if ($errmsg=="")
{
$sForm = "Login realizado com sucesso";
$objResponse->addAssign("formDiv","innerHTML",$sForm);
}
outro
{
$objResponse->addAlert($errmsg);
$objResponse->addAssign("submitButton","valor","continuar");
$objResponse->addAssign("submitButton","desativado",falso);
}
return $objResposta;
}
$xajax->processRequests();
?>
Os princípios de login e registro são semelhantes, então chega de bobagens :)
Além disso, a seguir estão os dois códigos de arquivo usados conn.php function.php
conn.php
<?php
$database="zl";//nome do banco de dados MYSQL
$db = mysql_connect("127.0.0.1", "root","123456");//nome de usuário e senha do banco de dados MYSQL
mysql_select_db($banco de dados,$db);
?>
função.php
<?php
função CheckEmailAddr($C_mailaddr)
{
if (!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+ )*$",
$C_mailaddr))
{
retornar falso;
}
retornar verdadeiro;
}
//Se existe um valor no array
função FunStringExist($StrFiltrate,$ArrFiltrate){
foreach ($ArrFiltrate as $key=>$value){
if (eregi($valor,$StrFiltrate)){
retornar verdadeiro;
}
}
retornar falso;
}
?>