Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
1

Различные сообщения и уведомления на сайте

03.02.2016, 20:26. Показов 1249. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите какие вы использовали способы реализации сообщений на сайте.

О чем я:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//------------Проверка Достаточно ли фишек у пользователя для игры------------------
        if($_SERVER['REQUEST_METHOD'] == 'POST'){
            if(isset($_POST['start'])){
                session_start();
                    if ($_SESSION['coins'] >= 2) {
                        include_once"connect_bd.php";
 
                        $result = $_SESSION['coins'] - 2;
                        $query = mysqli_query($link,"UPDATE users SET user_coins =$result  
                                                            WHERE user_id ='".$_SESSION['user_id']."' ") 
                                                            or die(mysqli_connect_error());
                        $_SESSION['start_game'] = 'valid';
                        header("Location: quest.php");
 
                    }else {
                        $_SESSION['msgs_error'] = $error_not_coins;
                        header("Location: game.php");
                    }
            }
        }
Если у нас Срабатывает Else то в массив сессий
Код
$_SESSION['msgs_error'] = $error_not_coins;
заносится переменная.
Эта переменная имеет сообщение

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
// AUTH //
$need_auth = "Авторизуйтесь!";
$auth_user = "Вы авторизованы как ";
$user_price = "У Вас на счету ";
 
// ===ERROR=== //
// Регистрация //
 
$msgs_valid_reg = "Регистрация прошла успешно!";
 
$error_login = "Пользователь с таким именем уже существует!";
$error_mail = "Пользователь с такой почтой уже существует";
 
$error_strlen_name = "Логин должен содержать не менее 5 и не более 15 символов!";
$error_lang_name = "Логин должен содержать только латинские буквы!";
 
$error_strlen_passwd = "Пароль должен содержать не менее 7 символов!";
 
$error_captcha = "Неверный код с картинки!";
 
// Аторизация //
 
$error_auth_login = "Неверный Логин!";
$error_passwd = "Неверный Пароль!";
 
// GAME //
 
$error_not_coins = "Недостаточно фишек!Пополните";
$error_not_valid_answer = "Вы ответили неверно!";
$error_off_time = "Время вышло!";
 
// //
И там куда нас редиректит Location Выводится это сообщение.
Но оно остается там пока сессия существует.
Вот что можно с этим придумать? Убрать ее через время , то есть показали и через минутку или 30 сек ансетнуть.
Или другие реализации?Выслушаю
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.02.2016, 20:26
Ответы с готовыми решениями:

Вывод уведомления после отправки сообщения
Всем привет! Имеется форма для отправки сообщений на эл. почту. Она работает. Но после отправки...

Как отправлять уведомления по id пользователя при получении сообщения?
Нужно отправлять уведомление пользователю с указанным id. При отправке 1 пользователем...

Уведомления в реальном времени на сайте
Вот смотрите, я, администратор, в своей панели добавляю новое оповещение, а у всех пользователей,...

Звуковое уведомления на сайте, при появлении новой записи
Добрый день. Как реализовать и c помощью чего, чтобы при добавлении новой записи на моем сайте...

11
2169 / 1652 / 840
Регистрация: 10.01.2015
Сообщений: 5,190
03.02.2016, 21:08 2
Цитата Сообщение от maruo Посмотреть сообщение
Подскажите какие вы использовали способы реализации сообщений на сайте.
я всегда использовал следующую схему:
PHP
1
2
3
4
5
6
7
8
$error = false;//
//далее перечислял условиями
if(тото){
$error = true;
 echo ''сёто;
}
// и т д
else тото тото// при условии $error = false;
таким образом при ошибках выводились сразу все сообщения, в инструкции которых было прописано $error = true;
0
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
04.02.2016, 20:37  [ТС] 3
Пифагор, Странно не могу представить как это работает.
0
2169 / 1652 / 840
Регистрация: 10.01.2015
Сообщений: 5,190
04.02.2016, 20:43 4
Пример:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$error_q = false;
if (mb_strlen($address, 'utf-8') > 100)
                        {
                            $error_q = true;
                            echo '<em class="red">Поле "Адрес" может содержать не более 100 символов, включая пробелы. Часть текста удалена.</em><br>';
                        }
                        
                    if (mb_strlen($instructions, 'utf-8') > 250)
                        {
                            $error_q = true;
                            echo '<em class="red">Поле "Инструкции для курьера" может содержать не более 250 символов, включая пробелы. Часть текста удалена.</em><br>';
                        }
                        
                    if (mb_strlen($important, 'utf-8') > 250)
                        {
                            $error_q = true;
                            echo '<em class="red">Поле "Важная информация" может содержать не более 250 символов, включая пробелы. Часть текста удалена.</em><br>';
                        }
else {
//выполняется, если $error_q = false;
}
0
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
04.02.2016, 21:25  [ТС] 5
Пифагор, То есть ошибки будут выводится в файле где и сам обработчик?И выводится будет только в каком то определенном месте.
Не совсем гибкая система. Но интересная реализация true false
0
2169 / 1652 / 840
Регистрация: 10.01.2015
Сообщений: 5,190
04.02.2016, 22:19 6
Ошибки будут выводится там, где Вы скажете им выводиться)))
Смысл в том, что при $error_q = true; ошибки будут выводиться вместе, если условие сработает.
Поэтому в каждом условии приписывается $error_q = true;.
Сейчас более понятно?
0
34 / 34 / 20
Регистрация: 02.02.2016
Сообщений: 123
05.02.2016, 07:58 7
можно и так
PHP
1
2
3
4
5
function __autoload($className){    
 
    $class=str_replace('_','/',$className);
    require_once $class.'.php';
}
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
class Helpers_Message
{
    protected $_data=false;
 
    public static function Push($str){
        self::$_data[]=$str;
    }
 
    public static function Render(){
 
        if(!self::$_data){
 
            return false;
        }
 
        echo join('<br />',self::$_data);
    }
}
PHP
1
2
Helpers_Message::Push('плохо');
Helpers_Message::Render();
0
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
07.02.2016, 01:52  [ТС] 8
Цитата Сообщение от Пифагор Посмотреть сообщение
Ошибки будут выводится там, где Вы скажете им выводиться)))
Смысл в том, что при $error_q = true; ошибки будут выводиться вместе, если условие сработает.
Поэтому в каждом условии приписывается $error_q = true;.
Сейчас более понятно?
Абсолютно)
0
Эксперт по компьютерным сетямЭксперт NIX
13016 / 7407 / 801
Регистрация: 09.09.2009
Сообщений: 28,986
07.02.2016, 03:42 9
Цитата Сообщение от maruo Посмотреть сообщение
Вот что можно с этим придумать? Убрать ее через время , то есть показали и через минутку или 30 сек ансетнуть.
если есть не пустая переменная с сообщением об ошибке - выводить на страницу див с этой ошибкой, с абсолютным позиционированием, с z-index-ом повыше (чтоб был поверх всего остального), плюс, на клик по диву - яваскриптом скрывать див, а также на онлоад страницы запускать яваскрипт-таймер, который будет потом тоже скрывать этот же див, если он существует.
0
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
07.02.2016, 12:42  [ТС] 10
Dmitry, с яваскриптом все ясно, а вот на чистом пхп ? что то подобное?
0
Эксперт по компьютерным сетямЭксперт NIX
13016 / 7407 / 801
Регистрация: 09.09.2009
Сообщений: 28,986
07.02.2016, 14:24 11
Цитата Сообщение от maruo Посмотреть сообщение
а вот на чистом пхп ? что то подобное?
а смысл? чтоб клиент клацал, а ему страница перегружалась? грузить сервер, создавать юзеру неудобства и т.д., и все это только потому что лень написать две строчки яваскрипт?

делаете все тот же див с сообщением. а заодно делаете его формой, чтоб при щелчке по ней происходил сабмит. и всех делов
0
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
07.02.2016, 15:35  [ТС] 12
Dmitry, понял)
0
07.02.2016, 15:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.02.2016, 15:35
Помогаю со студенческими работами здесь

Уведомления на почту о том когда обновляется фото на сайте
Всем здрасти! Вобщем! такая тема! у меня есть сайт который показывает картинки с других сайтов(на...

Как сделать уведомления на локальном сайте(через Denwer)
Всем привет! Есть сайт на PHP транспортного компании, в котором хранятся база данных о транспорте...

Какую технологию лучше использовать для чата и уведомления на сайте
В общем читал про сокеты, что на аяксе можно. С помощью чего еще можно? А все же как правильнее...

Принцип работы RSS канала на сайте, как происходит уведомления пользователя о новой статье?
Как пользователь получает уведомление о появлении новой статьи на сайте (сам RSS файл отправляет...


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

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