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

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

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

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

+1. Отсылать аяксом, а пользователю выводить loader чтобы было понятно что его запрос выполняется.
...
Рейтинг: 0 / 0
12.07.2012, 02:47:59
    #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
12.07.2012, 03:08:07
    #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
12.07.2012, 08:10:53
    #37875808
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
посоветуйте как\в чём сделать такое.....?
AJAX
...
Рейтинг: 0 / 0
12.07.2012, 09:10:17
    #37875886
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
посоветуйте как\в чём сделать такое.....?
kkv79,

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



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

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

+1. Отсылать аяксом, а пользователю выводить loader чтобы было понятно что его запрос выполняется.А по окончании обработки запроса, по ответу от сервера "выполнено успешно" на клиенте яваскриптом изменить location страницы.
...
Рейтинг: 0 / 0
12.07.2012, 15:20:02
    #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
12.07.2012, 15:33:41
    #37876800
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
посоветуйте как\в чём сделать такое.....?
kkv79,

Ну так и смотрите, что у Вас в третей строке файла где стартовал вывод.
...
Рейтинг: 0 / 0
12.07.2012, 18:06:52
    #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
13.07.2012, 00:06:01
    #37877442
MikkiMouse
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
посоветуйте как\в чём сделать такое.....?
kkv79,

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

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


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