Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
WEB-developer
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
1

перезагрузка буфферизованой функции

09.11.2010, 00:18. Показов 1147. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется файл 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'>
   Логін:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type='text' name='login' id='name'/>
   <br />Пароль:&nbsp;<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'> !&nbsp;&nbsp;&nbsp;&nbsp;Меню користувача:</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='userinfo.php?id=".$_SESSION['id']."' class='log'>Переглянути профіль</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
    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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
        echo "<a href='../../adminochka/engine/admin_log.php' class='log'><font color='#ff9944'>Адмінка</font></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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 минуту
что, нет никаких решений?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.11.2010, 00:18
Ответы с готовыми решениями:

Перезагрузка функции
Используя перегрузку функций, написать программу определения знака переменных разного типа....

Перезагрузка операций и функции в С++
у меня есть лаба по перезагрузке. Строка символов. Реализовать операции: сравнение строк...

Переопределение или перезагрузка функции
у меня есть класс комплексных чисел. И как можно определить функцию sqrt() что бы она работала с...

Специализации шаблона функции или перезагрузка
Доброго времени суток. Собственно, мою проблему можно увидеть в коде: #include &lt;iostream&gt;...

2
WEB-developer
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
10.11.2010, 16:48  [ТС] 2
никто не знает???
0
WEB-developer
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
14.11.2010, 15:45  [ТС] 3
может можно как-то зделать без буфферизации?
0
14.11.2010, 15:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.11.2010, 15:45
Помогаю со студенческими работами здесь

Реализовать функции "ждущий режим" и "перезагрузка"
Доброе времени суток. Пишу программу для выключения компьютера. Работает нормально только...

Перезагрузка ПК
Всем привет. Летом я создавал тему о том, что в нагрузке перезагружается ПК, мне посоветовали...

перезагрузка..
Проблема в том, что компьютер временами выдает синие экранчики на 1 секунду буквально..а затем...

Перезагрузка ПК
Конфиг.: Core 2duo e7600, GeForce gts 250, Asus P5Q se, ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru