Имеется файл index.php, в нём есть код
PHP |
1
2
3
4
5
6
7
8
9
| $log=''; // Обнуляем переменную
function callback1($s1) // Эта функция будет вызываться вместо вывода данных браузеру
{
$GLOBALS['log'].=$s1; // Новые данные добавляем к переменной
}
ob_start('callback1'); // Включаем кеширование и указываем, что вместо отправки данных клиенту, их нужно отправлять в функцию callback
include 'login.php'; // Просто выполняем скрипт
ob_end_flush(); // Выключаем кеширование... теперь все данные будут уходить браузеру
$login="$log"; |
|
здесь мы видим, что тут обрабатывается результат работы скрипта login.php, и выводится на страницу.
пробую зделать обработчик который подключаю к main.tpl, тоесть к етому же index.php.
вот етот обработчик:
Javascript |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
| $(document).ready(function(){
/* The following code is executed once the DOM is loaded */
/* This flag will prevent multiple comment submits: */
var working = false;
/* Listening for the submit event of the form: */
$('#loginform').submit(function(e){
e.preventDefault();
if(working) return false;
working = true;
$('#submit').val('Working..');
$('span.error').remove();
/* Sending the form fileds to submit.php: */
$.post('../../engine/eng/login.php',$(this).serialize(),function(msg){
working = false;
$('#submit').val(' Ввійти ');
if(msg.status){
/*
/ If the insert was successful, add the comment
/ below the last one on the page with a slideDown effect
/*/
$(msg.html).hide().insertBefore('#logincontainer').slideDown();
$('#body').val('');
}
else {
/*
/ If there were errors, loop through the
/ msg.errors object and display them on the page
/*/
$.each(msg.errors,function(k,v){
$('label[for='+k+']').append('<span class="error">'+v+'</span>');
});
}
},'json');
});
}); |
|
вот сам файл login.php
PHP |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
| <?
error_reporting(E_ALL);
include ("../../configuration/config.php");
//=========================NOT_LOGED=====================
if ( !isset ( $_SESSION['id'] ) )
echo "
<div id='logincontainer'><form name='login' method='post' action='' id='loginform'>
Логін: <input type='text' name='login' id='name'/>
<br />Пароль: <input type='password' name='password' id='password' /><br />
<input type='submit' value=' Ввійти ' id='submit' name='submit'>
</form></div>
<a href='register.php'>Реєстрація</a><br /> <br /> ";
else
{
$query1 = "SELECT * FROM users WHERE `id`='".$_SESSION['id']."'";
$result1=mysql_query($query1);
$r1=mysql_fetch_array($result1);
$name=$r1['nick'];
echo "<font color='#Ffffff'>Привіт, </font><font color='#FFD8D8'><b>".$name."</b></font><font color='#Ffffff'> ! Меню користувача:</font> <a href='userinfo.php?id=".$_SESSION['id']."' class='log'>Переглянути профіль</a> ";
if (($r1['user_group']==1) or ($r1['user_group']==2))
{
echo "<a href='see_orders.php' class='log'>Переглянути замовлення <font color='ffaaaa'><b>online</b></font></a> ";
echo "<a href='../../adminochka/engine/admin_log.php' class='log'><font color='#ff9944'>Адмінка</font></a> <br /> <br />";
}
}
//====================================================
if ( isset ( $_POST['login'], $_POST['password'] ) ) {
$login=$_POST['login'];
$password=md5($_POST['password']);
//можно сразу вытаскивать из таблицы
// и логин и пароль
//добавив в условие AND
//SELECT * FROM users WHERE `nick`='$login' AND `pass`='$password'
$query = "SELECT * FROM users WHERE `nick`='$login'";
$result=mysql_query($query);
$r=mysql_fetch_array($result);
if ($r['passwd']==$password)
{
$_SESSION['id']=$r['id'];
$_SESSION['user_group']=$r['user_group'];
}
else
{
echo "<br />Увага!Ви не вірно ввели Логін або Пароль. Будь-ласка попробуйте ще раз!<br />";
}
}
?> |
|
дело в том, что когда я подключаю такой же скрипт на для ajax отправление коментариев, то всё замечательно работает.
а для входа не работает потому, что как я понимаю тут идёт через буфферизацию. по етому и не работает. можете подсказать
как можна перезагрузить содержымое с результатом который мы одержали после ввода логина и пароля, чтобы сработал ajax-запрос?
Добавлено через 8 часов 51 минуту
что, нет никаких решений?