Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Передача данных из формы
 
 автор: psychedelic   (08.01.2005 в 15:45)   письмо автору
 
 

Народ, решил я начать учить PHP, поставил четверту версию, вебсервер, апач2.. ОС у мя XP... ну вобщем все оки-доки.. Рядом книга, начал заниматься, но.... у меня такая вот дурацкая проблема... посмотрите этот элементарный скрипт:

<html>
<form>
Type ur name:<br>
<input type=text name=username><br><br>
<input type=submit value="Submit">
</form>

<br><br>
u typed:

<?php
echo ($username);
?>
</html>

Все просто да? По идее как введешь имя в форму, это имя должно печатать команда echo... Но у меня не печатает... Когда ввожу имя и submit, в линке добавляет ...php?username=имя а внизу ниче... пусто... ниче не печатается... :( никак не могу понять в чем дело... этот пустяк тормозит меня и я не могу продвинуться дальше... Помогите друзья...

   
 
 автор: PantiL   (08.01.2005 в 15:53)   письмо автору
 
   для: psychedelic   (08.01.2005 в 15:45)
 

У тебя не указано в какой скрипт передаются значения.
Вот там где открывается тег <form> надо так:
<form action="myscript.php" method="get">

где myscript - название твоего скрипта...

   
 
 автор: psychedelic   (08.01.2005 в 17:18)   письмо автору
 
   для: PantiL   (08.01.2005 в 15:53)
 

Что только я не пробовал... Не пашет :(((

   
 
 автор: elenaki   (08.01.2005 в 17:25)   письмо автору
 
   для: psychedelic   (08.01.2005 в 17:18)
 

стесняюсь спросить, а РНР-то вообще работает?

   
 
 автор: psychedelic   (08.01.2005 в 20:11)   письмо автору
 
   для: elenaki   (08.01.2005 в 17:25)
 

все работает :)

username пишется в линк после ввода... все точно... также работает echo, но только с обычным текстом... а вот $username не печатает :(((

   
 
 автор: cheops   (08.01.2005 в 20:16)   письмо автору
 
   для: psychedelic   (08.01.2005 в 20:11)
 

А директива register_globals в php.ini включена (On) или выключена (Off)?

   
 
 автор: elenaki   (09.01.2005 в 19:35)   письмо автору
 
   для: cheops   (08.01.2005 в 20:16)
 

а без скобок? просто echo $username;
зачем скобки-то?
а если в другом файл записать скрипт вывода и передавать ему параметр через форму?
странная ситуация.

   
 
 автор: elenaki   (08.01.2005 в 15:54)   письмо автору
 
   для: psychedelic   (08.01.2005 в 15:45)
 

а если написать в теге form method=POST? хотя у меня и так печатает...

если не указано имя скрипта в action, управление передается файлу, где находится форма.


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

   
 
 автор: cheops   (08.01.2005 в 16:06)   письмо автору
 
   для: psychedelic   (08.01.2005 в 15:45)
 

В первую очердь проверьте значение директивы register_globals, отвественную за передачу параметров переданных методами GET и POST непосредственно в переменные PHP, в конфигурационном файле php.ini. В новых версиях PHP, в целях безопасности, она по умолчанию отлючена
register_globals = off

её следует либо включить, либо сразу использовать супрглобальные массивы. Подробнсти по ссылке - http://www.softtime.ru/info/articlephp.php?id_article=13

   
 
 автор: Axxil   (09.01.2005 в 20:28)   письмо автору
 
   для: psychedelic   (08.01.2005 в 15:45)
 

А существуют ли ограничения на размеры текста посылаемых с помощью методов get и post?
У меня проблема что если я отсылаю небольшой текст из textarea, то всё нормально записывается в базу (формат поля longtext). если же размер текста превышает определённую величину, данные отсылаются но в базу на пишутся.
в чём может быть проблема.
у формы метод post

   
 
 автор: glsv (Дизайнер)   (09.01.2005 в 21:28)   письмо автору
 
   для: Axxil   (09.01.2005 в 20:28)
 

>данные отсылаются но в базу на пишутся
Думается, что если бы это были какие то ограничения, например, на данные, посылаемые методом GET, то данные просто бы обрезались. А когда они совсем не записываются. Тут что то другое....
Тем более отсылка данных идет методом POST.

   
 
 автор: cheops   (09.01.2005 в 22:55)   письмо автору
 
   для: Axxil   (09.01.2005 в 20:28)
 

За размер данных передаваемых методом POST несёт отвественность директива post_max_size в конфигурационном файле php.ini, по умолчанию её значение равно 8 Мб
post_max_size = 8M

Для метода GET тоже имеется ограничение и оно составляет что-то около 8 Кб (могу врать).

   
 
 автор: Axxil   (10.01.2005 в 11:15)   письмо автору
 
   для: cheops   (09.01.2005 в 22:55)
 

А вообще что это могло бы быть.
Потому что не работает.
Может формат поля в базе не тот?

   
 
 автор: cheops   (10.01.2005 в 11:29)   письмо автору
 
   для: Axxil   (10.01.2005 в 11:15)
 

Нужно на форму и обработчик смотреть... если надумаете их приводить - лучше в отдельной теме, и если считате что загвоздка в MySQL - лучше сразу в форуме MySQL http://www.softtime.ru/forum/index.php?id_forum=3

   
 
 автор: Axxil   (10.01.2005 в 11:32)   письмо автору
 
   для: cheops   (10.01.2005 в 11:29)
 

OK, если сам не разберусь, вечером закину

   
 
 автор: glsv (Дизайнер)   (10.01.2005 в 11:35)   письмо автору
 
   для: Axxil   (10.01.2005 в 11:15)
 

> А вообще что это могло бы быть.
Может скрипт посмотреть? А то сложно так сказать.
PS: Если будете выкладывать, то создайте новую тему.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования