Я просто добавляю новую функцию в мой компонент Joomla TPJOBS, хотя это не хороший / полный / активный компонент, а просто я добавляю проверку доступности имени пользователя, но она не работает, потому что это может быть связано с этим компонентом.
Проверьте веб-сайт: http://tinyurl.com/72rx7af
[Нажмите на Проверить наличие, которое не работает]
Мой каталог компонентов Joomla: \ public_html \ components \ com_tpjobs \
Вы можете получить файлы здесь http://forum.joomla.org/download/file.php?id=88705
Редактирование tpjobs.html.php (выход) и username_validate.php (создано)
Мой код AJAX Javascript: который находится в разделе tpjobs.html.php
<script type="text/javascript">
<!--
//function to create ajax object
function pullAjax(){
var a;
try{
a=new XMLHttpRequest()
}
catch(b)
{
try
{
a=new ActiveXObject("Msxml2.XMLHTTP")
}catch(b)
{
try
{
a=new ActiveXObject("Microsoft.XMLHTTP")
}
catch(b)
{
alert("Your browser broke!");return false
}
}
}
return a;
}
function username_validate()
{
site_root = '';
var x = document.getElementById('username');
var msg = document.getElementById('msg');
user = x.value;
code = '';
message = '';
obj=pullAjax();
obj.onreadystatechange=function()
{
if(obj.readyState==4)
{
eval("result = "+obj.responseText);
code = result['code'];
message = result['result'];
if(code <=0)
{
x.style.border = "1px solid #FF0084";
msg.style.color = "#FF1A00";
}
else
{
x.style.border = "1px solid #008C00";
msg.style.color = "#73880A";
}
msg.innerHTML = message;
}
}
obj.open("GET",site_root+"username_validate.php?username="+user,true);
obj.send(null);
}
//-->
</script>
<style>
#username{border: 1px solid #000;}
</style>
Файл PHP в компоненте TPJobs
<?php
defined('_JEXEC') or die('Restricted access');
$user = strip_tags(trim($_REQUEST['username']));
if(strlen($user) <= 0)
{
echo json_encode(array('code' => -1,
'result' => 'Invalid username, please try again.'
));
die;
}
$db =& JFactory::getDBO(); //get database object
$db->setQuery("Select username FROM #__users where username = '$user'")
$db->query(); //do actual query
$result = $db->getAffectedRows(); //return affected rows
if($result)
{
echo json_encode(array('code' => 1,
'result' => "Success,username $user is still available"
));
die;
}
else
{
echo json_encode(array('code' => 0,
'result' => "Sorry but username $user is already taken."
));
die;
}
die;
?>