Уважаемые участники форума. Осваиваю php по книге Котерова Д.В. PHP 7. В качестве веб-сервера использую встроенный сервер php, как рекомендовано в начале книги. В данный момент остановился на 8 разделе, где рассматривается работа с формами. В качестве примера рассматривается HTML-документ с названием form.html и сценарий php с названием hello.php. Содержимое form.html следующее: HTML: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Страница с формой</title> <!-- <script src="script1.js"></script> --> </head> <body> <form action="hello.php"> login: <input type="text" name="login" value=""><br /> Password: <input type="password" name="password" value=""><br /> <input type="submit" value="Press button, to start script"> </form> </body> </html> И содержимое hello.php PHP: <!DOCTYPE html> <html lang="ru"> <head> <title>Использование данных формы</title> <meta charset='utf-8'> </head> <body> <?php if ($_REQUEST['login'] == "root" && $_REQUEST['password'] == "Z10N0101") { echo "Доступ открыт для пользователя {$_REQUEST['login']}"; // Команда блокирования рабочей станции (работает в NT-системах) system("rundll32.exe user32.dll,LockWorkStation"); } else { echo "Доступ закрыт!"; } ?> </body> </html> Оба файла находятся в одной дирректории. Суть работы в том, что пользователь вводит в форму логин и пароль, введенные данные передаются в сценарий php, который при несовпадении с заданным логином и паролем выводит сообщение "Доступ закрыт", или при совпадении - "Доступ открыт для пользователя root" и блокирует рабочую станцию. Так вот вопрос в том, как запустить это на встроенном сервере? Когда мне требовалось запустить какой нибудь файл на встроенном сервере, я сначала запускал сервер с командной строки, в которой находится файл, например: Код (Text): php -S localhost:8000 index.php , затем в браузере заходил на адрес http://localhost:8000, и все получалось. Как быть с формами, когда 2 файла, один php, а второй html и они между собой связаны.
Я б посоветовал не возиться со встроенным сервером PHP, а освоить OpenServer сразу. Там есть виртуальные хосты, которые в будущем всё-равно понадобятся. Устроены они очень просто, в папке domains создаешь папку для сайта, например testytest, перезагружаешь OpenServer - готово, можешь открыть свой сайт по ссылке http://testytest/
@Виталий Петрович, все так же как с один файлом. Разницы ведь никакой. Код (Text): php -S localhost:8000//запусти сервер Потом из адресной строки браузера localhost:8000/form.html
Ничего не получается. Запускаю в директории php -S localhost:8000 и в адресной строке localhost:8000/form.html выводит ошибку 404. Если в директории указать нужный файл php -S localhost:8000 form.html А затем вывести в адресную строку localhost:8000/form.html, то откроется html-документ с формой. Заполняю формы и ничего не происходит. Скрипт php не выдает сообщение.
Все очень просто - не используйте встроенный сервер. Если работаете в Windows, поставьте себе OpenServer и не морочьте себе голову. Если это линукс, поставьте себе apache, накатите на него modphp и вам для обучения этого хватит с головой. Ну, или если хотите родной пыхосервер, который, кстати, сливает апачевому, то просто внедрите форму в свой скрипт. Работайте из одного файла. Но лучше сделайте себе нормальное серверное окружение, и работайте сразу как настоящий разработчик.
Странно, юзаю встроенный сервер со времён его появления, никогда никаких проблем не было... Товарищи советчики, сколько создатели OpenServer вам заплатили ? (или это вы и есть ?) --- Добавлено --- Сервер запускается не совсем так. Кроме -S localhost:8000 надо ещё указать путь на директорию с файлами с помощью ключа -T (либо ваши файлы form.html и прочие кинуть туда где она по умолчанию, не помню где именно она по умолчанию, но судя по всему ваши файлы у вас не там)
С возвращением! Раз пошла такая пьянка, то я вообще за линукс и сборку окружения руками. Пока так не сделаешь, техстэк будет казаться человеку магией, работающей на воле высшего разума.
Тогда и вовсе давайте говносборки типа денвера рекомендовать ))) перегибать не стоит да в общем-то оно всё по сути так и работает )))
-за линукс и сборку окружения руками -перегибать не стоит рано или поздно любому маломальски грамотному пхпшнику(читай мастеру на все руки) придётся знакомится с линухом. и я думаю чем раньше тем лучше, нет скорее сразу надо знакомится с линухом а уж потом с яп
Денвер умер. Теперь актуальная говносборка для винды - это OpenServer. Вот ее и рекомендуют. А я-то наивный, думал, что оно через сетевое взаимодействие, сокеты, и проксирование запросов работает --- Добавлено --- Это не перегиб. Линукс - родная ось для пыхи, папачей-нжинксов и прочих мускулей. С ними там проще работать, их там проще настраивать, ставить, обновлять, обслуживать. Там это все прозрачно. На винде же хренпойми, что и где, и как оно связано, и дергать надо все через разные рульки, нет никакого порядка. Плюс, такой момент как внешние серверы, которые, в 99% случаев линуксовые. И вот работаешь ты в винде, внешка у тебя линуксовая, а потом опаньки, добро пожаловать в чудесный мир линуксовых прав доступа, линуксовой специфики блокировки файлов, линуксовых слэшей в адресах и прочих линуксовых радостей. И ладно, если это шаред, где за тебя все сделает добрый хостер. А если это VPS, где тебе дали инстанс и крутись как хочешь? Просить туда винду залить? А что дальше? Опенсервер ставить и наружу его открывать? Или мутить IIS+PHP? Или пытаться самому окружение собрать нормальное? Так опять же, на линуксе это проще делать, а на винде, если у тебя есть дырки в коде, ты, без линуксовых прав доступа, тупо помрешь в кратчайшие сроки. Я не призываю сносить винду на домашнем компе и ставить линукс. Это вот да, перегиб. Я предлагаю виртуалочку запилить. Они сегодня работают почти так же быстро как хосты, на которых крутятся. Паравиртуализация и все такое.
Работал так одно время, вполне ничего, за исключением нескольких программ. Потом пригодилось, когда начал профессионально веб-программированием заниматься. А мой брат принципиально работает на линуксе, при том, что он не программист. Ему там нравится.
Я тоже работал на линуксе в частности на Ubuntu.Это конечно не Slackware или Арч,но все же. Никсы как уже много раз тут писали это передовая для веба,поэтому хотя бы базовые знания о таких вещах как собрать и настроить серверное по и как настроить виртуальные хосты я считаю должны быть у каждого кто работает в сфере веба. Но у меня с никсами не сложилось и самое обидное что не сложилось из за шрифтов. Какие же там адовые шрифты.Я долго и мучительно искал решения и настраивал font.conf (я уже детально не помню как файлы назывались), экспериментировал и с хинтингом и антилизингом. Потом дошел до Инфиналити,настроил все и там.И если в самой системе стало более менее терпимо,то в браузерах даже со всеми настройками и установленными пакетами все равно шрифты были ад(ну конечно лучше чем изначально но все же).В итоге я думал что FreeType 2.7 как то решит данную проблему,так как некоторые патенты по сроку давности истекли.Попробовал поставил,все равно.1 час у монитора и плачу.На винде сижу только из за ClearType
Я в 2006-м пытался, разбираться со всем этим (убунты пробовал, фрю) как сейчас не знаю а тогда это была жесть и ад ))) Но да, этот опыт потом пригодился и не раз. Хотя бы раз через это надо хотя бы попробовать пройти... Что жалею что не было опытного оф-лайн педагога рядом который бы в этом разбирался и обучал (важны именно навыки педагога, а не просто админа который знал бы но не умел объяснять) по статьям из интернета мало что можно понять, 90% из них их пишут либо вообще нубы, на крайняк опытные админы но совершенно никакие учителя...
я тоже терпеть не мог линукс из-за шрифтов, особенно когда загрузишься в винду, а потом обратно в nix - ужас просто. тоже всячески их крутил вертел. сейчас сижу вполне комфортно, покрайней мере в Ubuntu unity, и в KDE на Plasma5 Неплохо так сидится, особенно если учесть что win10 слизана с этих кед - кажется будто в той же винде и сидишь.
Как минимум еще нужен сервер базы данных. Mysql чаще всего. Еще можно попробовать самостоятельно повесить nginx перед apache в качестве реверс-прокси. Так или иначе, а придется учиться это делать.
А, ну...PMA, или, там GUI для апача это же не серверное окружение, это вспомогательное ПО. Оно, не лишнее, но это дело вкуса уже. Кому-то оно и без надобности. А, насчет серверного окружения - можно на всякий научиться FTP поднимать.
https://habrahabr.ru/post/120814/ про это речь? вопрос не много не по теме, но действительно ли данная информация? MariaDB (полный аналог MySQL с дополнительными улучшениями)
@Mitai а где именно вопрос? Про Машку? Да, полный аналог. Вернее, это и есть MySQL. Когда Oracle задолбал программистов мускула (Oracle несколько лет назад прикупил Sun, который в свою очередь незадолго до этого прикупили MySQL AB) излишней коммерциализацией изначально открытого проекта, и затягиванием в цикле разработки - ребята ушли забрав с собой исходники, на которые имеют авторские права. То есть почти все. И начали MariaDB и развивали её на первых парах очевидно быстрее, чем развивался MySQL.
@Виталий Петрович ох и флудерасты они- по теме вот php -S localhost:8000 -t c:\www c:\www заменить на папку с файлами - и лучше без пробелов и русских букв. дальше localhost:8000/form.html в браузере после открытия нажимаем F12 ( в хроме и IE работает сразу - в firefox доставить firebug - аддон такой) переходим на вкладку сеть / network у кого что , заполняем форму нажимаем кнопку и в отладчике смотрим куда нас послали ... удивляемся , корректируем , запускаем заного , радуемся --- Добавлено --- вы были очень близки только Т (большой) в конфиге сервера нету - тока что проверял меня послало на много веселых букв
Из флуда можно узнать много интересного, например в книге по рнр 7 автор говорит что мы не будем использовать апач потому что он медленней чем нжникс, а благодаря флуду выяснилось что лучше использовать их в связке, тут более подробно описывают для чего их делают совместно, чем на хабре https://interface31.ru/tech_it/2016/08/nastraivaem-veb-server-nginx-kak-front-end-k-apache.html
@Mitai а у тебя там нигде нет ссылок, что вместо Apache nginx умеет проксировать сразу к пхп-машине, что борется с некоторыми интересными подводными камнями.