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

Заполнить всплывающее окно

08.05.2016, 16:06. Показов 4872. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, возникла такая проблема. Необходимо, чтобы мой php скрипт авторизировался на сайте, но дело в том, что авторизация реализована через всплывающее окно:

Вот так примерно выглядит это окно (думаю многим знакомо):

И не могу найти нигде урока как работать с этим окном (заполнить поля, нажать отправить и сохранить куки), т.к. даже не знаю как называется правильно это окно

Знает кто-нибудь где посмотреть про работу с ним?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.05.2016, 16:06
Ответы с готовыми решениями:

всплывающее окно
привет всем неспящим=) помогите пожалуйста и неругайтест потомучто ищу то не знаю что.. нужен такой код: при клики на ссылку...

Вывод информации из БД в всплывающее окно
Гуру, подскажите пожалуйста как реализовать следующее: При щелчке на ячейку таблицы, открывается окошко и туда выводится информация из...

отправка писем + всплывающее окно!
Здравствуйте! Есть такой вот код: HTML: <form id="myForm0" method="POST" action="mail0.php"> <div...

9
 Аватар для maruo
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
08.05.2016, 16:29
spilller, На сколько я знаю через php туда ничего не передать.
0
0 / 0 / 0
Регистрация: 08.05.2016
Сообщений: 10
08.05.2016, 16:32  [ТС]
А через что тогда? JavaScript? Что хоть гуглить бы понять XD Как правильно это окно называется?
0
 Аватар для maruo
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
08.05.2016, 16:34
spilller, ой , это похоже на окно
JavaScript
1
prompt();
Честно даже и не знаю можно ли даже через JS туда что то передать
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,904
08.05.2016, 16:51
Цитата Сообщение от spilller Посмотреть сообщение
Необходимо, чтобы мой php скрипт авторизировался на сайте
Curl.
Цитата Сообщение от spilller Посмотреть сообщение
авторизация реализована через всплывающее окно
Пофиг через что, всё равно данные туда через GET/POST отправляются. Нужно анализировать, какие данные передаются через это окно, и сделать такой же запрос, только через Curl.
1
0 / 0 / 0
Регистрация: 08.05.2016
Сообщений: 10
08.05.2016, 16:58  [ТС]
Через Curl пытаюсь. Но не получается...

Пока вот такой код:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//задаём рандомное число
$randomnum = rand (1, 1000);
//при переходе по ссылке такого вида открывается окно с запросом логина и пароля
$url = "http://atpp.vstu.edu.ru/cgi-bin/arh_problems.pl?re_login=$randomnum"; 
 
 
$ch = curl_init();
 
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 
// указываем имя и пароль
curl_setopt($ch, CURLOPT_USERPWD, "login:pass");
 
// если перенаправление разрешено 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
// то сохраним наши данные в cURL
curl_setopt($ch, CURLOPT_UNRESTRICTED_AUTH, 1);
 
$output = curl_exec($ch);
 
curl_close($ch);

Данный код к сожалению не работает. Пробовал выводить на странице php скрипта - страницу авторизации.

Code
1
echo $OUTPUT->heading($output);
Страницу выводит, но окна с авторизацией не появляется.
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
08.05.2016, 17:33
spilller, заходите на сайт, открываете в браузере на этой странице инструменты разработчика. В инструментах переходите на вкладку "Сеть/Network". Затем заполняете все поля формы, нажимаете кнопку "Отправить", или как она называется. В инструментах ищете запрос, который отправляется на login.php и в заголовках запроса смотрите, какие данные отправляются. А потом через curl посылаете запрос. Надеюсь, понятно объяснил.
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,904
08.05.2016, 17:43
Цитата Сообщение от spilller Посмотреть сообщение
Страницу выводит, но окна с авторизацией не появляется.
Вам не нужна эта форма. Как сказали выше, нужно проверить, какие данные она отправляет серверу, и повторить этот же запрос, только со своего сервера.

Цитата Сообщение от spilller Посмотреть сообщение
Через Curl пытаюсь. Но не получается...
Вы как минимум не сохраняете куки, параметры CURLOPT_COOKIEJAR и CURLOPT_COOKIEFILE.
0
0 / 0 / 0
Регистрация: 08.05.2016
Сообщений: 10
08.05.2016, 18:57  [ТС]
Кхм, спасибо. Вроде стало немного понятнее, что нужно делать.
Это называется Basic аутентификация и авторизация.
Реализуется через .htaccess


Нашёл статью по этому поводу. С готовым решением.

Basic-авторизация через PHP:

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
<?
    function do_authorize($host, $uri, $user, $pwd) {
        $out  = "GET $uri HTTP/1.1\r\n";
        $out .= "Host: ".$host."\r\n";
        $out .= "Connection: Close\r\n";
        $out .= 'Authorization: Basic '.base64_encode($user.':'.$pwd)."\r\n";
        $out .= "\r\n";
 
        if (!$sock = @fsockopen($host, 80, $errno, $errstr, 10)) {
            return 0;
        }
        fwrite($sock, $out);
        $data = '';
        while (!feof($sock)) {
            $data .= fgets($sock);
        }
        fclose($sock);
        return $data;
    }
 
    if ($source = do_authorize('localhost','/test.php', 'novice', 'novice')) {
        echo $source;
    } else {
        echo "I can't connect!";
    }
?>
Но, так же не смог заставить работать этот код... Выдаёт ошибку - user not defined при попытке залогинится этим скриптом.
0
0 / 0 / 0
Регистрация: 08.05.2016
Сообщений: 10
10.05.2016, 17:46  [ТС]
От части решил проблему.

PHP
1
2
3
$curl = curl_init('http://site.ru/');
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($curl, CURLOPT_USERPWD, "login:pass");
И данный код и код, что кидал выше оба рабочие. Проходят авторизацию, только оказалось, что они не работали конкретно из той php страницы где я их пытался использовать (не знаю почему), сделал отдельную страницу только с этой функцией и подключил её к основной через include, теперь всё работает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.05.2016, 17:46
Помогаю со студенческими работами здесь

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

Как убрать всплывающее окно формы
Дело началось с того, что я использую: &lt;form method=&quot;POST&quot; action=&quot;&quot;&gt; &lt;input type=&quot;submit&quot; name=&quot;oll&quot; value=&quot;Все&quot;&gt; ...

Всплывающее окно если регион не Россия
Доброго времени господа. Суть задачи такова: человек зашёл с Российского сегмента на сайт http://example.net ничего не происходит ...

Всплывающее окно после отправки формы
Доброго времени суток, форумчане! Речь пойдет о сайте. Как после отправки формы (клика по кнопке &quot;Отправить&quot;), не...

замена перезагрузки обработки пост запроса в всплывающее окно php
Добрый день, есть форма обратной связи с капчей, возможно ли заменить перезагрузку в новое окно на всплывающее окошко? буду благодарна за...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru