IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   Проблемка (http://www.imho.ws/showthread.php?t=129485)

winbond 13.02.2008 10:47

Проблемка
 
Добрый день.

Я делаю сайты иногда, но на html. А тут один растет и растет... за 50 страниц уже. Решил перевести его на php, хоть сам не разу не работал с ним. Отправил заявку хостеру на подключение v.5(ибо книга валяется дома). Получил подтверждение о подключении. Вчера проверяю работу там на сайте прямо(дома просто некуда поставить апач+php - места на дисках нет):

Простая форма (form.html) :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Тест ПХП</title>
<link href="main.css" rel="stylesheet" type="text/css">
</head>

<body>
<form action="phptest/test.php">
Введи текст: <input type="text" name="txt" value="123">
<input type="Submit" value="Отправить">
</form>
</body>
</html>

И не менее простой обработчик(phptest/test.php):
<?
echo "<html> <body>";
echo "Содержимое поля: $txt";
echo "</body> </html>";
?>

Выводится страница(phptest/test.php?txt=123):

<html> <body>Содержимое поля: </body> </html>

Переменные не выводит ни в какую. Функция phpinfo() работает нормально и подтверждает существование переменных. :молись: В чем может быть проблема? То ли я забыл мелочь какую, то ли хостер накосячил...

elj 13.02.2008 12:09

Поиск рулит ;)

http://www.phpway.h1.ru/u_passing.shtml

winbond 13.02.2008 12:57

Про что он рулит? Если про проверку переменных, ну ОК... я просто не стал заморачиваться при первой проверке php на сайте.

Последую совету:
<?
if (!isset ($txt))
{
echo "<html> <body>";
echo "<p>Переменная <strong>txt</strong> не определена</p>";
echo "</body> </html>";
}
else
{
echo "<html><body>";
echo "Содержимое поля: $txt";
echo "</body></html>";
}
?>

Естественно выдало что переменной не существует, так это я и так знаю, что не видит в упор переменные. А вот почему не видит?:confused::idontnow:

elj 13.02.2008 13:16

Возможно на сервере хостера включена "register_globals", тогда значения переменных нужно доставать чере массив переменных, как написано.

Код:

<?php
$varn = $HTTP_GET_VARS['txt'];
echo "<html> <body>";
echo "Содержимое поля: $varn";
echo "</body> </html>";
?>


Saruman 13.02.2008 14:22

а ещё правильнее, тем более в php5 - через $_GET, $_POST и т.п., т.к. длинные имена уже давным-давно deprecated

winbond 13.02.2008 14:47

Цитата:

Сообщение от elj (Сообщение 1521595)
Возможно на сервере хостера включена "register_globals", тогда значения переменных нужно доставать чере массив переменных, как написано.

Код:

<?php
$varn = $HTTP_GET_VARS['txt'];
echo "<html> <body>";
echo "Содержимое поля: $varn";
echo "</body> </html>";
?>


Спасибо, попробовал и заработало ) Правда в phpinfo(): register_globals Off почему-то.
Это так каждую переменную из массива вытягивать значит? О, аллах! :mad: (почесал репку) Да оно и хтмл тогда неплох... подумаешь... 50+ страничек каких-то:beer:

P.S. Разобрался. Всем спасибо. Тему можно closed.

elj 13.02.2008 14:52

Пожалста. ;)
Да, не...не обязательно. Можно все переменные сразу запихнуть в массив, а потом таскать по скока надо и когда надо из массива. Скачали бы книгу какую по ПХП, чтоли.

winbond 13.02.2008 19:45

Кстати от хостера ответа так и не дождался, хоть он впридачу и мой провайдер ) А на статах сайта видно что вчера по моему е-майл запросу о проблеме(ну я время смотрел) с их адреса заходили раз *цать в течении трех часов подряд :о)

Спасибо, ребята )

Naked 14.02.2008 13:56

есть еще такая функция extract(), (__http://ru2.php.net/manual/ru/function.extract.php) которая из глобального массива делает нормальные переменные, но все же я бы не советовал этого делать - лучше использовать через массивы и держать выключенным регистр глобал, по этому поводу есть много статей про безопасность;)

CFR 25.02.2008 13:56

Он потому и Off что выключен - соответственно вы не можете получать значения переданных в запросе параметров в автоматически созданных переменных.
Проблемы индейцев шерифа не волнуют - хостер предоставил вам php, так вы думаете, он вас еще и РНР будет учить? НЛ.

winbond 03.03.2008 11:09

Цитата:

Сообщение от CFR (Сообщение 1526165)
Он потому и Off что выключен - соответственно вы не можете получать значения переданных в запросе параметров в автоматически созданных переменных.
Проблемы индейцев шерифа не волнуют - хостер предоставил вам php, так вы думаете, он вас еще и РНР будет учить? НЛ.

Хм... Хостеру всего-то надо было ответить про отключенный параметр, к примеру тут это не особо кого напрягло(ИМХО). Ходить три часа на мой сайт и тупо смотреть на форму и скрипт саппортам вот не лениво же было. Впрочем это другая тема...


Часовой пояс GMT +4, время: 14:07.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.