powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Вопрос от новичка
9 сообщений из 9, страница 1 из 1
Вопрос от новичка
    #39751272
Antibiotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.
Решил изучить PHP. Установил Open Server все настроил, связка PHP+MySQL+phpMyAdmin работает. Взял книжку, сел читать, и на одном из примеров вылетает ошибка.
Пишу слово в слово, вот код:

Код: php
1.
2.
3.
4.
5.
6.
7.
<?php
   echo "Приветствую Вас\n";
   echo "Ввести свое имя:\n";
   $name = trim(fgetc(STDIN));
   
   echo "Спасибо, " . $name . ", рад с Вами познакомиться \n\n";
?>



И вот что получается:

Приветствую Вас Ввести свое имя:
Warning: fgetc() expects parameter 1 to be resource, string given in D:\OpenServer\OSPanel\domains\localhost\MyFirst\index.php on line 4
Спасибо, , рад с Вами познакомиться

Заранее спасибо! Просто интересно разобраться, почему в книге так написано, а на деле не работает.
...
Рейтинг: 0 / 0
Вопрос от новичка
    #39751274
Antibiotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я понимаю что он ругается на 4-ю строку, но конкретно на что, не могу понять
...
Рейтинг: 0 / 0
Вопрос от новичка
    #39751388
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как запускали скрипт? Если не ошибаюсь, константа STDIN работает только в CLI.
...
Рейтинг: 0 / 0
Вопрос от новичка
    #39751402
Antibiotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
просто в браузере открыл
...
Рейтинг: 0 / 0
Вопрос от новичка
    #39751415
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ууууу.... Тогда Вам ещё и принципы работы веба изучать, и принципы взаимодействия вебсервера со скриптами. В браузере Вы могли открыть/увидеть только результат работы скрипта. Стало быть, сам скрипт был "фик знает как" вызван вебсервером.
Возможно, это могло бы сработать, если вебсервер будет вызывать скрипт как CGI-программу, но данные на stdin надо ещё передать, а это не из разряда "просто открыл", хотя и не слишком сложно. :)

Возможно, в книжке где-то написано, что данный скрипт следует запускать из консоли, но Вы не обратили на это внимания.
...
Рейтинг: 0 / 0
Вопрос от новичка
    #39751428
Antibiotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если честно, то об этом ничего в книге не написано, перечитал несколько раз. Сам думал по началу что где-то что-то упустил. Но нет.
Кстати, немного не в тему посоветуйте хорошую книгу по PHP. Заранее спасибо.
...
Рейтинг: 0 / 0
Вопрос от новичка
    #39751458
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antibiotikперечитал несколько раз. Сам думал по началу что где-то что-то упустил. Но нет.Тогда просто запустите скрипт в консоли.

Однако, логика скрипта явно хромает. Автор просит ввести имя. А потом читает из stdin ОДИН символ (хммм... или байт?). Не знаю, как у автора, но вот у меня лично имя явно длиннее и содержит несколько символов. Более правильно в данном контексте использовать функцию fgets(), которая читает строку. Или написать цикл с посимвольным чтением ввода, но это больше костыль в данном случае.


Antibiotikпосоветуйте хорошую книгу по PHPОфициальное руководство, оно есть на русском http://php.net/manual/ru/ и поддерживается в более-менее актуальном состоянии. В редких случаях английская версия содержит более точное или полное описание.
Для понимания основ - сайт http://phpfaq.ru/
...
Рейтинг: 0 / 0
Вопрос от новичка
    #39751498
Antibiotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkleАвтор просит ввести имя. А потом читает из stdin ОДИН символ (хммм... или байт?). Не знаю, как у автора, но вот у меня лично имя явно длиннее и содержит несколько символов. Более правильно в данном контексте использовать функцию fgets(), которая читает строку. Или написать цикл с посимвольным чтением ввода, но это больше костыль в данном случае.

Честное слово не вру, книга: "PHP и MySQL Исчерпывающее руководство" автор Бретт Маклафлин 2013 год, 39-я страница.

vkle , за ссылки большое спасибо1
...
Рейтинг: 0 / 0
Вопрос от новичка
    #39751558
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntibiotikЧестное слово не вруДа никто и не сомневался.
Может, автор что-то конкретное хотел показать, что "будет вот так работать".
А может, при наборе текста было продиктовано "эс", а не "эс-как-доллар" :-)
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Вопрос от новичка
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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