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

Форум PHP

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

 

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

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

тема: Проблема с передачей переменных методом GET
 
 автор: evgenijj   (24.08.2006 в 23:01)   письмо автору
 
 

Столкнулся с проблемой, и так и не смог с ней разобраться.
<?
if ( !isset($_GET["test"]) )
{
echo "<form name='frm' action='".$_SERVER["PHP_SELF"]."?action=action'
method='GET'>";
echo "<input type='text' name='test' value='test'>";
echo "<input type='submit' value='Go!'>";
echo "</form>";
}
else
{
echo "Переменная action=".$_GET["action"]."<br>";
echo "Переменная test=".$_GET["test"]."<br>";
}
?>
После нажатия кнопки "Go!" получаю
Notice: Undefined index: action in D:\work\localhost8\www\test.php on line 11
Переменная action=
Переменная test=test

А почему? Что-то идеологически неверно?

   
 
 автор: namo   (24.08.2006 в 23:31)   письмо автору
 
   для: evgenijj   (24.08.2006 в 23:01)
 

Дело в том что при передачи гет через форму <form name='frm' action='".$_SERVER["PHP_SELF"]."?action=action' --- ?action=action --- передаватся небудет, для этого нужно в пределах формы добавить ещё один инпут: <input type="hidden" name="action" value="action">

   
 
 автор: EXP   (25.08.2006 в 10:54)   письмо автору
 
   для: namo   (24.08.2006 в 23:31)
 

Название темы подошло (:

скрипт должен обработать $ur=../old/new и $chmod=0777, Если посылаю из формы не узнаёт не то не другое, причём chmod (если $ur записать в сам скрипт) получается 000. A eсли 0777 записать тоже туда, chmod получится 411. Вроде кодировки не влияют на цифры, тогда как понять?

   
 
 автор: P@Sol   (25.08.2006 в 10:55)   письмо автору
 
   для: EXP   (25.08.2006 в 10:54)
 

привидите пример вашего кода

   
 
 автор: EXP   (25.08.2006 в 11:42)   письмо автору
 
   для: P@Sol   (25.08.2006 в 10:55)
 

Примерно так
<? 
$ur
=$_GET['ur'];или ../old/new

$ch=$_GET['ch'];или 0777

include("file.dat");

if(
$p == $pass) {if(забыл($ur))

chmod($ur$ch); ecno"ok";} 

else 

{echo
"full"

else 

{
header("Location: index.php"); exit(); }

?>
И никаких заголовков, а скрипт посыла утф8.

   
 
 автор: P@Sol   (25.08.2006 в 12:11)   письмо автору
 
   для: EXP   (25.08.2006 в 11:42)
 

1. надо $ch=$_GET['ch']; или $ch="0777";
2.
<?
$ur
=$_GET['ur'];// или /old/

$ch=$_GET['ch']; // или $ch="0777";

echo $ur."-".$ch."*";

if(
$ur)
{
        echo 
"chmod($ur$ch);";
        
chmod($ur$ch);
        echo
"ok";
}

при http://localhost/test.php?ur=old2/&ch=0777 выводит:

old2/-0777*chmod(old2/, 0777);ok


но права на папку old2 всегда 0000:(

   
 
 автор: EXP   (25.08.2006 в 12:33)   письмо автору
 
   для: P@Sol   (25.08.2006 в 12:11)
 

Эт я к примеру написал, по всякому попробовал. С урл щас буду пробовать htaccess utf8 по умолчанию ставить, а 8ричные вообще непойму, 16ричные давно пощитал-бы. Наверно пхп 0777 как 10ричные понял.

   
 
 автор: evgenijj   (25.08.2006 в 14:08)   письмо автору
 
   для: namo   (24.08.2006 в 23:31)
 

Я так и сделал: прописал <input type="hidden" name="action" value="action">. Но вопрос не в том, как обойти эту проблему, а в том, почему? Если отправлять данные методом POST, то в скрипте доступны переменные $_GET["action"]="action" и $_POST["test"]="test". Чертовщина какая-то!

   
 
 автор: EXP   (25.08.2006 в 15:29)   письмо автору
 
   для: evgenijj   (25.08.2006 в 14:08)
 

У меня до того вообще передавалось без $x=$_GET['x']; а в эт раз оказалось $_GET нельзя писать маленькими буквами, пол дня бился, а chmod десятичный 777=0511

   
 
 автор: evgenijj   (25.08.2006 в 21:49)   письмо автору
 
   для: EXP   (25.08.2006 в 15:29)
 

Мы вроде оба по-русски говорим, но похоже, друг друга не понимаем.
Если вдруг у Вас переменные, переданные методом POST или GET, доступны не только через суперглобальные массивы $_GET и $_POST, а еще и по именам, это означает, что у Вас в php.ini RegisterGlobals=On. Я спрашиваю несколько о другом.

   
Rambler's Top100
вверх

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