|
|
|
| Формируется ссылка содержащая такие переменные:
print "<td><a href=?st=35&table=$tb&id=$id>Delete</a></td>";
В строке состояния пишет:
localhost/index.php?st=35&table=store&id=53
Вроде все класно. Но переменная table не доходит....
echo "Table = $table and Id = $id";
$this->del_row($table, $id);
Выводит:
Table = and Id = 53
Что за хрень??? На моем компе все работало. Прикрепили к порталу и все. Я php.ini и httpd.conf сверял построчно. Одно и то же. Почему такая ... твориться. Ладно бы все не передавало. А то часть доходит, часть нет :((( | |
|
|
|
|
|
|
|
для: Maloy
(26.05.2005 в 12:40)
| | Может теряется где или перезаписывается переменная? В URL слово store точно присутствует - не может оно теряться при формировании ссылки? | |
|
|
|
|
|
|
|
для: cheops
(26.05.2005 в 13:07)
| | Это необъяснимое явление. Типа НЛО или еще какой хрени... Может ЦРУ работает? :) Вообще глобальные переменные разрешены, цифры то передаются. Я сделал $_POST["table"]=$tb . И все заработало, чего и следовало ожидать.
Но, переменная $tb у меня уже была, а что делать если из формы переменные не передаются...?
Вот я формирую чекбоксы:
print "<td><input type=\"checkbox\" name=\"values[]\" value=\"$id\"></td>";
Получал скромный массив выбраных посредством нажатия кнопки Submit. Теперь ничего нет. Просто пустой массив... Чем это объяснить??? | |
|
|
|
|
|
|
|
для: Maloy
(26.05.2005 в 13:39)
| | Хм... а вы не можете приложить код - давайте мы его потестируем, может удасться воспроизвести ситуацию. А на сервере другие проекты кроме вашего имеются? У них всё нормально или нет? | |
|
|
|
|
|
|
|
для: cheops
(26.05.2005 в 13:49)
| | Да. Сервер корпоративный, делался на заказ. Причем очень хитро... Там довольно трудно понять что куда идет. Я просто сделал один файл, класс. Закрученый на себя и туда впихнул. На моем компе все работало отлично.
А тут такая хрень... У меня класс 45 Кб, я его сюда не затащу... Думал, может кто сталкивался. | |
|
|
|
|
|
|
|
для: Maloy
(26.05.2005 в 12:40)
| | Теряется только переменная table? Если сменить название, то что будет? Не пробовали?
Если теряется только переменная table, то можно предположить, что защита какая-то стоит на Apache, которая вырезает подозрительные слова из запроса. А table слово, несомненно, подозрительное, т.к. часто употребляется в атаках типа SQL-иньекций. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(27.05.2005 в 07:43)
| | Вот кусок кода завязанный сам на себя. При нажатии показывает Table =
elseif ($st == 21) {
$this->cont();
echo "Table = ".$tab;
if (!isset($table)) {
echo '<FORM METHOD="post" ACTION="">';
echo 'Виберіть таблицю: <select name="tab" size="1">';
echo '<option value="formul">Формуляр</option>';
echo '<option value="izd">Издательство</option>';
echo '</select>';
echo '<input type="hidden" name="st" value=21>';
echo '<input type="submit" value="Вибрать"></form>';
|
| |
|
|
|
|
|
|
|
для: Maloy
(27.05.2005 в 11:45)
| | Так а где слово table в форме? Откуда оно должно появиться? | |
|
|
|
|
|
|
|
для: XPraptor
(27.05.2005 в 12:06)
| | [code]
echo "Table = ".$tab;
if (!isset($table)) {
echo '<FORM METHOD="post" ACTION="">';
echo 'Виберіть таблицю: <select name="tab" size="1">'; | |
|
|
|
|
|
|
|
для: Maloy
(27.05.2005 в 11:45)
| | А вот здесь не может затираться?
Чистый эксперимент проводили? Т.е. только одна форма и больше ничего.
<?
echo "Table = ".$tab;
if (!isset($table)) {
echo '<FORM METHOD="post" ACTION="">';
echo 'Вибер_ть таблицю: <select name="tab" size="1">';
echo '<option value="formul">Формуляр</option>';
echo '<option value="izd">Издательство</option>';
echo '</select>';
echo '<input type="hidden" name="st" value=21>';
echo '<input type="submit" value="Вибрать"></form>';
}
?>
|
Если же и чистый эксперимент ничего не дает и register_globals разрешены в php.ini и они не переопределяется в виртуальных хостах и на apache не прилажен какой-нибудь хитрый модуль…, то приходится признать, что это аномалия.
PS: Так может плюнуть на это и использовать суперглобальные массивы POST - все равно это рекомендуется. Да и хостеры начинают отключать register_globals. | |
|
|
|
|
|
|
|
для: Maloy
(26.05.2005 в 12:40)
| | Получается прикольная ситуация. global_register = On, но РНР это мало волнует, передает только цифры... Остальное нужно выковыривать $_POST["tab"].... Аномалия! :) | |
|
|
|