Непонятки с PHP
Все вроде работает, только не передаются переменные в PHP-скрипт, т. е.
index.php?www=_about, $www не определена.
Еще такой глюк $somearray=array('#' $somestring;
Тут же вывожу на экран $somearray[1], и выскакивает Notice типа неопределенное смещение "1".
И еще cookies неустанавливаются
setcookie("TestCookie", $value);
echo $TestCookie;
Опять-же неопределенная переменная TestCookie.
Не хотелось-бы думать, что это SP3 виноват.
И еще вчера не смог добавить в форум более одного сообщения. Типа пароль я не ввел, хотя я его вводил.
???
или что-то типа того.
А как насчет остальных глюков?
On 2002-09-23 1447, Cker wrote
Ну ведь раньше все работало!!! Есть некоторый набор проектов и нехотелось-бы во всех них исправлять это.
А как насчет остальных глюков?
Мне в голову одно приходит поставь последнюю версию пхп.. может все нормал станет..
Мол так более безопаснее. Читай php manual
в php.ini найди register_globals
и переправь Off на on
все будет работать
В новой версии PHP эта опция отключена
в php.ini найди register_globals
и переправь Off на on
все будет работать
А лучше привыкнуть к Off. Потому как там написано, что в новых версиях php могут запретить register_globals вобще в целях безопасности.
Проблема с отправкой данных из HTML-формы в PHP-скрипт.
=================================================
Исходное:
---------
1) Платформа: WinXPPro
2) HTTP-сервер: SmallHTTP3
3) Корневой каталог сервера: с:\???\www
4) Каталог PHP: С:\???\PHP
5) Каталог библиотек РНР: C:\???\PHP\ext
6) Расположение php.ini: c:\???\PHP
7) PHP-движок: PHP 5.1.0
=================================================
Имеется HTML-файл с формой:
---------------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title></title>
</head>
<body>
Ввод
<form name="enter" action="/cgi-bin/gb.php" method="post">
<input type="text" name="edit" size="20" maxlength="256">
<input type="submit" value="Послать">
</form>
</body>
</html>
Имееся PHP-скрипт, в который должны пересылаться данные из формы:
-------------------------------------------------
<?php
@$edit=$_POST['edit'];
if (!$edit)
{
echo("Ввод не данных не произведен!!!Повторите попытку!!!");
exit;
}
echo $edit;
?>
На странице ввода данных, после, собственно, ввода и отправки...ничего не происходит.
Совсем ничего, даже не вылазит алерт, что "Ввод данных не произведен...", хотя он, по идее,
должен появляться.
Сначала думал, что проблема в том, что в форме указан относительный путь к скрипту (action="/cgi-bin/gb.php"),
но потом понял, что тут что-то другое: во-первых, не возникает ошибка "Not found...", во-вторых,при
аналогичных относительных путях к другим скриптам, не использующим внутренние переменные,
все работает нормально.
Подозреваю, что дело здесь в том, что скрипт не может получить доступ к массиву $_POST.
Замена метода на GET в форме и в скрипте ничего не дала, использование $_REQUEST тоже.
Не помогло ни использование "длинных" имен переменных, ни разрешение "коротких".
Теперь register_globals=off и register_long_array=off, т.е., "средний" стиль как будто
должен работать, но не работает.
Что делать?
не понятна эта конструкция @$edit=$_POST['edit'];
@ вообщето для скрытия ошибки при вызове функции если она есть (ошибка) и пишется так -
$my_var = @my_func();
еще вопрос - а каталог сайта? или у тебя все в корне сервера?
попробуй добавить сюда value <input type="text" name="edit" size="20" maxlength="256">
не понятна эта конструкция @$edit=$_POST['edit'];
@ вообщето для скрытия ошибки при вызове функции если она есть (ошибка) и пишется так -
$my_var = @my_func()...
1) Добавил value="F*ck thе PHP" в форму (в ту ее часть, что касается input="text", само собой)
2) Убрал собаку.
Результат: вылетает нотис "Undefined index edit..." в строке такой-то - т.е., нет такой переменной, потому как из формы ничего не пришло...
3) С горя вернул собаку на место...
...А на счет положения собаки - в моем случае, это не имеет принципиального значения: ошибка подавляется в строке с одним оператором...
Что еще можно сделать?..
1) Добавил value="F*ck thе PHP" в форму (в ту ее часть, что касается input="text", само собой)
2) Убрал собаку.
Результат: вылетает нотис "Undefined index edit..." в строке такой-то - т.е., нет такой переменной, потому как из формы ничего не пришло...
3) С горя вернул собаку на место...
...А на счет положения собаки - в моем случае, это не имеет принципиального значения: ошибка подавляется в строке с одним оператором...
Что еще можно сделать?..
Поставь в первую строчку phpinfo(32) и смотри пришло что либо вообще или нет.
Поставь в первую строчку phpinfo(32) и смотри пришло что либо вообще или нет.
...Ничего...
...Вообще всё это странно - не работают никакие скрипты, даже то, что работало раньше - не знаю, что происходит...
...Я переустанавливал PHP, но дело-то в том, что все настройки были полностью продублированы с рабочей версии...
...а-а-а...:{...повеситься, что ли?..
...ну что делать-то?
...помогите!
...вы не представляете, как сложно учиться программировть по книгам, не имея специального образования...
копируешь свой скрипт под другим именем, в старом все удаляешь и пишешь
echo "<pre>";
print_r($GLOBALS);
echo "</pre>";
echo phpinfo();
?>
то что получилось архивируешь и пресоеденяешь к своей месаге