2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Php, Неправильная работа метода post
Сообщение19.07.2017, 17:07 


24/06/17
22
Здравствуйте.
Недавно начал изучать php, возникла такая проблема:
1)создал файл new 1.html:
код: [ скачать ] [ спрятать ]
Используется синтаксис PHP
<html>
        <head>
        <title>Форма</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
        </head>
        <body>

        <h1>Введите ваше имя</h1>
    <form method="post" action="2.php">
        <input type="text" name="username">
        <input type="submit">
        </form>
        </body>
        </html>

2)Создал файл 2.php:
Используется синтаксис PHP
<html>
        <head>
        <title>Моя первая PHP-страница</title>
       
        </head>
        <body>
        <?php
        echo "<h1>Привет, " . $_POST["username"] . "</h1>";
        ?>
        </body>
        </html>

Пункт 1 работает хорошо: ввожу в окошко свое имя, но дальше браузер выдает:

Привет, " . $_POST["username"] . ""; ?>

Как понимаю метод post не правильно работает. Подскажите что делать?
Оба файла находятся в одной папке с:xampp\htdocs\site.local

 Профиль  
                  
 
 Re: Php, Неправильная работа метода post
Сообщение19.07.2017, 17:14 
Заслуженный участник


16/02/13
4195
Владивосток
С PHP, помнится, интересная история. Переменные POST (аналогично и прочие) могут попадать либо в глобальный массив, либо в глобальные переменные индивидуально в зависимости от настроек хоста. Поищите и проверьте.

 Профиль  
                  
 
 Re: Php, Неправильная работа метода post
Сообщение19.07.2017, 19:52 
Заслуженный участник
Аватара пользователя


31/01/14
11307
Hogtown
А в чем заключается действие формы: занесение в датабазу? отправление емейла? Или просто в ответе "Привет, Вася" (или какое у Вас там имя)?

 Профиль  
                  
 
 Re: Php, Неправильная работа метода post
Сообщение19.07.2017, 20:50 


15/11/15
1080
Red_Herring в сообщении #1234644 писал(а):
А в чем заключается действие формы: занесение в датабазу? отправление емейла? Или просто в ответе "Привет, Вася" (или какое у Вас там имя)?
Пока, очевидно, последнее. Но, возможно, ТС пока просто тренируется, и будет первое или второе )
iifat в сообщении #1234610 писал(а):
Переменные POST (аналогично и прочие) могут попадать либо в глобальный массив, либо в глобальные переменные индивидуально в зависимости от настроек хоста.
Обычно не либо (или), а и (и в массиве, и в локальных переменных).

Тут все проще. ТС запустил файл не через сервер, а напрямую. PHP не обрабатывается. Вам нужно (при запущенном сервере) набрать в адресной строке браузера адрес типа
http://localhost/2.php

 Профиль  
                  
 
 Re: Php, Неправильная работа метода post
Сообщение19.07.2017, 21:23 
Заслуженный участник


27/04/09
28128
Почти оффтоп, но может быть полезным:
Ruus в сообщении #1234606 писал(а):
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
В HTML5 достаточно просто <meta charset="utf-8">. И, кстати, почему вы забыли указание кодировки во втором файле?

 Профиль  
                  
 
 Re: Php, Неправильная работа метода post
Сообщение20.07.2017, 02:57 
Заслуженный участник


16/02/13
4195
Владивосток
gevaraweb в сообщении #1234667 писал(а):
Обычно не либо (или), а и (и в массиве, и в локальных переменных)
Ничего не знаю насчёт обычно. Повторюсь: есть две независимые опции, независимо же включающие либо отключающие то и другое.
gevaraweb в сообщении #1234667 писал(а):
ТС запустил файл не через сервер, а напрямую
Может, и так, но с чего вы это взяли? Что с этим будет делать POST? К тому ж, помнится, PHP обрамляется комментариями, так что в этом случае весь кусок просто бы исчез.

 Профиль  
                  
 
 Re: Php, Неправильная работа метода post
Сообщение20.07.2017, 08:16 


24/06/17
22
gevaraweb в сообщении #1234667 писал(а):
ТС запустил файл не через сервер, а напрямую. PHP не обрабатывается. Вам нужно (при запущенном сервере) набрать в адресной строке браузера адрес типа http://localhost/2.php
Вроде через сервер, ведь оба файла находятся в папке htdocs/site.local .Набирая в адресной строке это ничего хорошего не выдает, оно и понятно, этот файл ждет значение переменной username.

-- 20.07.2017, 09:22 --

iifat в сообщении #1234610 писал(а):
Переменные POST (аналогично и прочие) могут попадать либо в глобальный массив, либо в глобальные переменные индивидуально в зависимости от настроек хоста. Поищите и проверьте.
А вы не знаете где их в xampp искать? Или я что то не понял?

-- 20.07.2017, 09:29 --

Код:
<html>
   <head>
   <title>Моя первая PHP-страница</title>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   </head>
   <body>


   <?php
   echo "<h1>Hello " . $_post["username"] . "</h1>";
   $username
   ?>
   
   
   </body>
   </html>

добавил username чтобы проверить, не сохранилось ли в ней значение переменной...
Hello " . [math]$_post["username"] . ""; $username ?> - то же самое.

 Профиль  
                  
 
 Re: Php, Неправильная работа метода post
Сообщение20.07.2017, 21:55 


15/11/15
1080
iifat в сообщении #1234739 писал(а):
Ничего не знаю насчёт обычно. Повторюсь: есть две независимые опции, независимо же включающие либо отключающие то и другое.

Вы правы. Я лишь хотел внести уточнение, чтобы ТС не пошел по ложному пути. Обычно - подразумевался виртуальный сервер, где ТС, конечно, мог изменить настройки, но что весьма маловероятно. Ваши проблемы были, скорее всего, с физическим сервером. Ну да ладно.

gevaraweb в сообщении #1234667 писал(а):
Тут все проще. ТС запустил файл не через сервер, а напрямую. PHP не обрабатывается. Вам нужно (при запущенном сервере) набрать в адресной строке браузера адрес типа
http://localhost/2.php

Точнее, наберите адрес http://localhost/new 1.html
Ruus в сообщении #1234755 писал(а):
Hello " .$_post["username"] . "";$username ?> - то же самое.

Осторожнее. PHP местами чувствителен к регистру. И точно не будут равны по умолчанию переменные $_post["username"] и $username.

 Профиль  
                  
 
 Re: Php, Неправильная работа метода post
Сообщение20.07.2017, 23:05 
Заслуженный участник


27/04/09
28128
iifat в сообщении #1234739 писал(а):
К тому ж, помнится, PHP обрамляется комментариями, так что в этом случае весь кусок просто бы исчез.
<?php … ?> выглядит больше как processing instruction, и не уверен, что в стандарт HTML (в отличие от XML) они входят и стандарт предписывает их не отображать ни при каких условиях.

 Профиль  
                  
 
 Re: Php, Неправильная работа метода post
Сообщение21.07.2017, 02:04 
Заслуженный участник


16/02/13
4195
Владивосток
Ruus в сообщении #1234755 писал(а):
А вы не знаете где их в xampp искать?
Не знаю. Похоже, за последние пятнадцать-двадцать лет PHP несколько изменился и мои предположения неактуальны. Скорее, и правда стоит к регистру в именах переменных присмотреться.
Вот, кстати, сюда загляните, не пропуская комментариев. В частности, там пишут
Цитата:
в случае использования в запросе в качестве HTTP Content-Type application/x-www-form-urlencoded или multipart/form-data
Не скажу точно, где это надо писать, но у вас ничего подобного нет.

 Профиль  
                  
 
 Re: Php, Неправильная работа метода post
Сообщение28.07.2017, 07:50 


24/06/17
22
gevaraweb в сообщении #1234667 писал(а):
Тут все проще. ТС запустил файл не через сервер, а напрямую. PHP не обрабатывается. Вам нужно (при запущенном сервере) набрать в адресной строке браузера адрес типа http://localhost/2.php
Всем большое спасибо :D .Все заработало после того как набрал http://localhost/site.local, вышли все файлы, лежащие в папке site.local.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group