powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / посоветуйте как\в чём сделать такое.....?
14 сообщений из 14, страница 1 из 1
посоветуйте как\в чём сделать такое.....?
    #37874084
kkv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне нужно чтоб пользователь залез на мой сайт
в браузере форма заказа (разные текстовые поля и список адресов, который подтягивается из БД.)
пользователь выбирает из списка нужный адрес, вводит некоторую информацию в текстовые поля и нажимает "далее".
при нажатии на "далее" этот адрес и текст отправляется в БД для обработки (обработка сервером адреса и текста длится продолжительное время до 2-х секунд).
в это время необходимо выдержать паузу (допустим 3 секунды) и после этого
запрос в базу за результатом обработки, и вывод результата на экран пользователю,
завершение оформления заказа.....
пользователь тыкает "подтвердить", заказ улетает в базу.

слышал что при помощи php не получится выдержать паузу
так ли это?

если так то при помощи чего можно реализовать данный алгоритм?

а то не понятно за какую книжку браться....
в веб программировании не шарю абсолютно.....
...
Рейтинг: 0 / 0
посоветуйте как\в чём сделать такое.....?
    #37874146
Фотография prot0type
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
посоветуйте как\в чём сделать такое.....?
    #37874562
BACH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю тут нада использовать ajax. sleep не подойдет так как в это время скрипт должен выполняться (обработка запроса).
...
Рейтинг: 0 / 0
посоветуйте как\в чём сделать такое.....?
    #37874845
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BACH,

+1. Отсылать аяксом, а пользователю выводить loader чтобы было понятно что его запрос выполняется.
...
Рейтинг: 0 / 0
посоветуйте как\в чём сделать такое.....?
    #37875747
kkv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
короче начал делать так...

логика такая:
1. клиент в форме вводит свой телефон и пароль
2. жмёт кнопку "Войти"
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<html>
<head><title>Workflow System</title></head>
<body>
Введите номер телефона и пароль
если Вы не помните пароль, оставте это поле пустым, и Вам придёт смс с новым паролем
<form action="registration_action.php" method="POST">

Тел: <input type="text" name="phoneclient" />

Password: <input type="пароль" name="pword" />

<input type="submit" value="Войти" />
</form>

</body>
</html>



3. данные из формы отправляются в другой php скрипт registration_action.php
4. в нём делается запрос в базу на соответствие телефон-пароль
5. в переменной $b в результате я получаю true (если пароль верный)
Код: 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.
<body>
   
<?php 
	include("config.php"); // соединение с БД
	
    $phone1 = $_POST['phoneclient'];
    $password = $_POST['pword'];

    echo "<p>phone = " . $phone1 . "</p>"; 
	echo "<p>Password = " . $password . "</p>"; 
	$result = pg_query ("select client_login('$phone1','$password')");
	if (!$result) {
		echo "An error occured.\n";
		exit;
	}
	if(pg_num_rows($result)>0)
            {
			while ($mar = pg_fetch_array($result))
            {
				echo  $mar['client_login'] ;
				$b=$mar['client_login'];
			}
			}
	if ($b) {
		echo " true";
		Header('Location: new_order.php');
	} else {echo " false";}
	
	
?>

</body>
</html>


6. дальше мне нужно если $b==true, открыть другую страницу с другой формой
в которой клиент будет вводить данные заказа....

как вместо echo "true"; открыть другую страницу (например new_order.php) и предать в этот скрипт телефон этого пользователя...?
...
Рейтинг: 0 / 0
посоветуйте как\в чём сделать такое.....?
    #37875751
kkv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нашёл такой способ,
echo "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='0; URL=new_order.php?client=$phone1'></HEAD>";

но мне не нужно чтоб в строке браузера было
new_order.php?client=+79615868789

подскажите другой способ....
...
Рейтинг: 0 / 0
посоветуйте как\в чём сделать такое.....?
    #37875808
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AJAX
...
Рейтинг: 0 / 0
посоветуйте как\в чём сделать такое.....?
    #37875886
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kkv79,

Код: php
1.
header("Location: /new_order.php?client=".$phone1);



Hett AJAX +
...
Рейтинг: 0 / 0
посоветуйте как\в чём сделать такое.....?
    #37875944
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kkv79в это время необходимо выдержать паузу (допустим 3 секунды) и после этого
запрос в базу за результатом обработки,ИМХО корявая логика. Где гарантия что запрос будет выполнен за одну или две секунды? Помешать может все что угодно, начиная от "ой, инет лагает" и до "сервер БД недоступен".

Думаю, правильно так:SharuPoNemnoguBACH,

+1. Отсылать аяксом, а пользователю выводить loader чтобы было понятно что его запрос выполняется.А по окончании обработки запроса, по ответу от сервера "выполнено успешно" на клиенте яваскриптом изменить location страницы.
...
Рейтинг: 0 / 0
посоветуйте как\в чём сделать такое.....?
    #37876761
kkv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SharuPoNemnogu,

header("Location: /new_order.php?client=".$phone1);

выдало ошибку

Warning: Cannot modify header information - headers already sent by (output started at Z:\home\localhost\www\registration_action.php:3) in Z:\home\localhost\www\registration_action.php on line 27


ну AJAX так AJAX, буду изучать.....
...
Рейтинг: 0 / 0
посоветуйте как\в чём сделать такое.....?
    #37876800
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kkv79,

Ну так и смотрите, что у Вас в третей строке файла где стартовал вывод.
...
Рейтинг: 0 / 0
посоветуйте как\в чём сделать такое.....?
    #37877150
kkv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в третьей строке у меня <?
куда там смотреть то?

Код: 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.
<body>
   
<? 
	include("config.php"); // соединение с БД
	
    $phone1 = $_POST['phoneclient'];
    $password = $_POST['pword'];

    echo "<p>phone = " . $phone1 . "</p>"; 
	echo "<p>Password = " . $password . "</p>"; 
	$result = pg_query ("select client_login('$phone1','$password')");
	if (!$result) {
		echo "An error occured.\n";
		exit;
	}
	if(pg_num_rows($result)>0)
            {
			while ($mar = pg_fetch_array($result))
            {
				echo  $mar['client_login'] ;
				$b=$mar['client_login'];
			}
			}
	if ($b) {
		echo " true";
		//echo "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='0; URL=new_order.php?client=$phone1'></HEAD>"; 
		header("Location: /new_order.php?client=".$phone1);
	} else {echo " false";}
	
	
?>

</body>
</html>

...
Рейтинг: 0 / 0
посоветуйте как\в чём сделать такое.....?
    #37877442
MikkiMouse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kkv79,

Вам сюда
...
Рейтинг: 0 / 0
посоветуйте как\в чём сделать такое.....?
    #37877461
kkv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MikkiMouse,

спасибо. получилось....
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / посоветуйте как\в чём сделать такое.....?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]