Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/25: Рейтинг темы: голосов - 25, средняя оценка - 4.56
0 / 0 / 2
Регистрация: 02.09.2013
Сообщений: 237

Заполнение формы на сайте

27.09.2014, 20:13. Показов 4613. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Суть задачи. Необходимо заполнить форму находящеюся на локалхосте, далее все данные полученные из этой формы нужно передать другой форме расположенной на сайте avito.ru и отправить эту форму.
Вот что делаю я:
HTML5
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
<html>
<head>
</head>
<body>
<form align="center" action="send.php" method="POST" enctype = 'multipart/form-data'>
    Телефон:<br />
    <input type="text" name="tel"/><br />
    Город:<br />
    <input type="text" name="city"/><br />
    Метро:<br />
    <input type="text" name="metro"/><br />
    Площадь:<br />
    <input type="text" name="acreage"/><br />
    Адрес:<br />
    <input type="text" name="address"/><br />
    Название объявления:<br />
    <input type="text" name="ad_title"/><br />
    Описание объявления:<br />
    <input type="text" name="description"/><br />
    Арендная плата:<br />
    <input type="text" name="price"/><br /><br />
    Фото:<br />
    <input type="file" name="photo"/><br /><br />
    <input type="submit" value="Отправить объявление"/>
</form>
</body>
</html>
Этому сценарию передаются данные из формы:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$tel=$_POST['tel'];
$city=$_POST['city'];
$metro=$_POST['metro'];
$acreage=$_POST['acreage'];
$address=$_POST['address'];
$ad_title=$_POST['ad_title'];
$description=$_POST['description'];
$price=$_POST['price'];
if  ($curl = curl_init()){
    curl_setopt($curl, CURLOPT_URL, 'http://www.avito.ru/additem');
    curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
    curl_setopt($curl, CURLOPT_COOKIE, "AID=AJHaeXILU-seoDjv8wU3ZCY5aFZwa99zBKO1Vuqf3P3OdgtYIafThQ;anid=202531251%3Bd439a2454b066672fdde3483d510c01c%3B1;sessid=0576d97478bd3c766c6ec8408e33ee4c.1411633515;u=1sqjnjn9.qlj59s.eki8m8v5kj;");
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, "phone=".$tel."&location_id=".$city."&metro_id=".$metro."&category_id=Коммерческая недвижимость&params[536]=Сдам&params[554]=Торговое помещение&params[788]=".$acreage."&params[588]=".$address."&title=".$ad_title."&description=".$description."&price=".$price."&main_form_submit=1");
    $out = curl_exec($curl);
    echo $out;
    curl_close($curl);
}
?>
Приведенный сценарий с задачей справляется. НО! не совсем до конца
Есть один важный нюанс.
Авторизация в учетной записи происходит посредством передачи кукисов. Вот строчка которая передает сайту нужные кукисы:
PHP
1
curl_setopt($curl, CURLOPT_COOKIE, "AID=AJU-IafThQ;anid=20253123401c%3B1;sessid=0576d933ee4c;u=1s8v5kj;");
В следствии чего происходит авторизация и нужные данные передаются нужным полям. Есть ТОЛЬКО ОДНА загвоздка:
Кукесы которые я передаю - "статичны" то есть НЕ изменяемые, поэтому авторизовываться и отправлять данные через "мою" форму может ТОЛЬКО один пользователь, а нужно чтобы данные из "моей" формы мог передавать любой пользователь который авторизовался на сайте avito.ru, с этого компьютера
Буду рад каким нибудь дельным подсказкам!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.09.2014, 20:13
Ответы с готовыми решениями:

Заполнение формы на другом сайте
Пользователь заполняет форму на первом сайте, нажимает отправить и эти данные отправляются на второй сайт. Как это реализовать?

Создание формы на сайте. Где ошибка в обработчике формы?
Добрый день! Понимаю, что ошибка, где-то рядом, но не понимаю - где именно? Создал форму. Затем обработчик формы. И, вроде как,...

заполнение формы
Здравствуйте! Объясните пожалуйста, как осуществить заполнение формы на сайте с капчей используя curl и php. Чтобы капча отправлялась на...

4
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
27.09.2014, 21:19
Цитата Сообщение от mihon1 Посмотреть сообщение
Кукесы которые я передаю - "статичны" то есть НЕ изменяемые, поэтому авторизовываться и отправлять данные через "мою" форму может ТОЛЬКО один пользователь, а нужно чтобы данные из "моей" формы мог передавать любой пользователь который авторизовался на сайте avito.ru, с этого компьютера
Этот скрипт будет отправлять данные от имени пользователя, куки которого написаны в скрипте - это очевидно. Если Вы хотите чтобы это могли сделать разные пользователи, соответственно в начало скрипта нужно добавить код, который будет авторизовывать пользователя, и, сооветственно, добавить поля для авторизации в форму.
0
0 / 0 / 2
Регистрация: 02.09.2013
Сообщений: 237
27.09.2014, 22:11  [ТС]
Да это понятно. А есть варианты с помощью которых это можно было бы как то сделать без авторизации ?
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
27.09.2014, 23:35
Лучший ответ Сообщение было отмечено mihon1 как решение

Решение

Цитата Сообщение от mihon1 Посмотреть сообщение
Да это понятно. А есть варианты с помощью которых это можно было бы как то сделать без авторизации ?
Я не знаю, есть ли возможность на авито добавлять объявления незарегистрированным пользователям, но думаю что нету)) Это уже у авито надо спрашивать.
1
0 / 0 / 2
Регистрация: 02.09.2013
Сообщений: 237
27.09.2014, 23:44  [ТС]
ну вообщем понятно) все равно спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.09.2014, 23:44
Помогаю со студенческими работами здесь

Проверка формы на заполнение
помогите какие проверки формы есть вообще $mess её надо проверить на заполнения потом убрать лишние пробелы

Заполнение формы данными из поиска
Здравствуйте! Интересует такой вопрос. Есть база данных, в которой есть табличка с заказами (договорами) клиентов. Занесение данных в...

Автоматическое заполнение ячеек с формы
Здравствуйте! У меня, как начинающего возникла такая не трудная задача, которую я уже долго не могу решить :cry: У меня есть таблица...

Заполнение формы и нажатие на кнопку
Всем привет. У меня такая ситуация, есть сайт, в котором есть поле заполнения и кнопка - отправить. мне нужно сделать скрипт, который будет...

Сессии и ошибочное заполнение формы
Проблема с обработкой ошибочного заполнения формы. На данный момент имеется форма добавления объявления. Ситуация такая , если пользователь...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru