Форум 3DNews
Вернуться   Форум 3DNews > Программирование > Web-программирование

Ответ Создать новую тему
Опции темы Опции просмотра
Непрочитано 01.02.2007, 15:35   [включить плавающее окно]   #1
Jabberwocky
Мужской Умудрённый
Автор темы
 
Аватар для Jabberwocky
 
Регистрация: 14.12.2003
Адрес: Москва
метод POST в php

Как решить такую задачу:
на странице 1.htm есть форма, которая передает данные методом POST скрипту script.php.
Надо сделать так, чтобы форма передавала данные некому другому скрипту gate.php, а он уже, обработав данные, в свою очередь передавал дальше на script.php. Причем так, чтобы для последнего данные приходили как от формы.
К примеру. Как написать такую весчь.
форма передает на gate.php содеожимое двух полей а и b. gate.php проверяет, правильно ли заполнено поле b, и если да, то передает а post-ом на script.php, который записывает содержимое $_POST в файл.

Затык наверно где-то на моменте перечдачи gate.php -> script.php, но не пойму, где.
Help!
__________________
Никогда не существовало и не будет существовать никаких «прикладных наук», есть лишь приложения наук (весьма полезные!) © Л. Пастер
Jabberwocky вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 01.02.2007, 16:07   [включить плавающее окно]   #2
Daven
Мужской Администратор
 
Аватар для Daven
 
Регистрация: 06.03.2006
Адрес: Москва
Тут лучше использовать сессии ($_SESSION)... Насколько я помню, без расширений CURL и HTTP, нельза напрямую посылать post-запросы php-скриптами... Поэтому может либо спасти ajax с дальнейшим редиректом, либо прямой редирект с трансформацией post->get, либо установка всех post-переменных в session-переменные, если не хочется их светить, и конечным скриптом выдирать значения именно из массива $_SESSION... Последний способ - самый надежный и действенный.
__________________
[root@localhost]
Android 2.3.1 (Gingerbread) @ HTC Desire Z @ 1.3GHz
Daven вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 02.02.2007, 10:58   [включить плавающее окно]   #3
Гхост-цзы
Мужской Умудрённый
 
Аватар для Гхост-цзы
 
Регистрация: 04.06.2004
Цитата (Jabberwocky) »
Затык наверно где-то на моменте перечдачи gate.php -> script.php, но не пойму, где.
А в чём собственно затык? Значение переменной не передаётся или в чём-то другом?
Если первое, то решается через сессии -- в gate.php должен быть код вида
$varA=$a; (здесь $a -- значение поля формы а)
session_register("varA");

соответственно $varA далее используется в script.php


Только зачем такая усложнённая конструкция? Не лучше ли просто добавить эту проверку сразу в script.php?
__________________
Крылья знаний меня от людей отлучили,
Я увидел, что люди - подобие пыли.
Гхост-цзы вне форума  
Ответить с цитированием
Непрочитано 02.02.2007, 15:43   [включить плавающее окно]   #4
Daven
Мужской Администратор
 
Аватар для Daven
 
Регистрация: 06.03.2006
Адрес: Москва
Цитата (Гхост-цзы) »
$varA=$a; (здесь $a -- значение поля формы а)
session_register("varA");
с появления пхп версии, если не ошибаюсь, 4.1.0, необходимость регистрировать таким образом переменные отпала. Можно сходу писать $_SESSION['varname'] = "varval"; Тока не забывая про session_start();
__________________
[root@localhost]
Android 2.3.1 (Gingerbread) @ HTC Desire Z @ 1.3GHz
Daven вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 03.02.2007, 02:04   [включить плавающее окно]   #5
Jabberwocky
Мужской Умудрённый
Автор темы
 
Аватар для Jabberwocky
 
Регистрация: 14.12.2003
Адрес: Москва
файлик script.php недоступен. html-файл на бесплатном хостинге без поддержки php.
Я просто гонял данные меж двумя скриптами на localhost-е, чтоб понять, как работает. Пытался использовать сокеты для передачи post данных, но, то ли данные не передаются, то ли я не правильно делаю скрипт, который их принимает и обрабатывает. Вот и прошу показать простейший пример такого типа.
__________________
Никогда не существовало и не будет существовать никаких «прикладных наук», есть лишь приложения наук (весьма полезные!) © Л. Пастер
Jabberwocky вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 03.02.2007, 16:51   [включить плавающее окно]   #6
Daven
Мужской Администратор
 
Аватар для Daven
 
Регистрация: 06.03.2006
Адрес: Москва
Цитата (Jabberwocky) »
Пытался использовать сокеты для передачи post данных
8-O

Цитата (Jabberwocky) »
Вот и прошу показать простейший пример такого типа.
Тебе критично, чтобы данные были переданы от gate.php в script.php именно методом post?
__________________
[root@localhost]
Android 2.3.1 (Gingerbread) @ HTC Desire Z @ 1.3GHz
Daven вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 03.02.2007, 20:02   [включить плавающее окно]   #7
Jabberwocky
Мужской Умудрённый
Автор темы
 
Аватар для Jabberwocky
 
Регистрация: 14.12.2003
Адрес: Москва
Изначально из 1.htm в script.php данные из формы передаются методом post. Я не имею возможности не изменить script.php ни вставить какую бы то ни было обработку на хостинге, где лежит 1.htm. Но мне нужно делать проверку передаваемых данных.
__________________
Никогда не существовало и не будет существовать никаких «прикладных наук», есть лишь приложения наук (весьма полезные!) © Л. Пастер
Jabberwocky вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 04.02.2007, 14:49   [включить плавающее окно]   #8
eyemgn
Мужской Новенький
 
Регистрация: 04.02.2007
приведи пример скрипта, который используешь... можешь связаться со мной в асе: 316931097
eyemgn вне форума  
Ответить с цитированием
Непрочитано 05.02.2007, 13:26   [включить плавающее окно]   #9
Daven
Мужской Администратор
 
Аватар для Daven
 
Регистрация: 06.03.2006
Адрес: Москва
Цитата (Jabberwocky) »
Я не имею возможности не изменить script.php ни вставить какую бы то ни было обработку на хостинге, где лежит 1.htm. Но мне нужно делать проверку передаваемых данных.
Убогий метод, но сработает... В гате.пхп пишешь обработку, потом

echo('<html><body onload="document.forms[0].submit();"><form action="http://remote.host.ru/script.php" method="post">
<input type="hidden" name="имя_обработанной_переменной_1" value="обработанное_значение">
<input type="hidden" name="имя_обработанной_переменной_2" value="обработанное_значение">
<input type="hidden" name="имя_обработанной_переменной_3" value="обработанное_значение">
<input type="hidden" name="имя_обработанной_переменной_4" value="обработанное_значение">
</form></body></html>');

тем не менее, метод уродский... лучше использовать cURL, если есть возможность. Также могу посоветовать использовать AJAX, но с ним получится подольше...
__________________
[root@localhost]
Android 2.3.1 (Gingerbread) @ HTC Desire Z @ 1.3GHz
Daven вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 05.02.2007, 17:26   [включить плавающее окно]   #10
Jabberwocky
Мужской Умудрённый
Автор темы
 
Аватар для Jabberwocky
 
Регистрация: 14.12.2003
Адрес: Москва
Daven
Спасибо. Так работает
__________________
Никогда не существовало и не будет существовать никаких «прикладных наук», есть лишь приложения наук (весьма полезные!) © Л. Пастер
Jabberwocky вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 06.02.2007, 14:34   [включить плавающее окно]   #11
Daven
Мужской Администратор
 
Аватар для Daven
 
Регистрация: 06.03.2006
Адрес: Москва
Цитата (Jabberwocky) »
Daven
Спасибо. Так работает
не за что
__________________
[root@localhost]
Android 2.3.1 (Gingerbread) @ HTC Desire Z @ 1.3GHz
Daven вне форума  
Конфигурация ПК
Ответить с цитированием
Ответ Создать новую тему

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 09:59. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 2000-2017 3DNews. All Rights Reserved.
Администрация 3DNews требует соблюдения на форуме правил и законов РФ
Серверы размещены в Hostkey