Подскажите где я тут не прав ? в браузере передаю методом ПОСТ index.php?name=5&link=2 if (isset($_POST['name'],$_POST['link'])) { echo $_POST['name']; } и нечего... типа условие не верно... но ведь я и нейм и линк передаю... пробовал if (isset($_POST['name']) and isset($_POST['link'])) { echo $_POST['name']; } тот же эффект. но если делаю так: if (isset($_POST['name']) { $name=$_POST['name']; } if (isset($_POST['link'])) { $link=$_POST['link']; } echo $name.$link; То все как бы работает... все выводит и т.д. Подскажите что я делаю не так в верхнем примере, и если не сложно как лучше всего это реализовывать...
я сократил, там дальше субмит и т.д. суть не в этом, суть в самом if isset не работает условие... уже день парюсь ...
я понимаю что это должно работать, но блин, не хочет выводить echo $_POST['name']; хоть ты застрелись... admyx это точно работает ? потому что я такое пробовал... если работает то я даже не знаю в чем проблема.[/php]
Я предполагаю, что ты в GET передаешь name и link. А вот попробуй PHP: <? if(isset($_GET['name']) && isset($_GET['link'])) { echo $_GET['name']; }
Для таких случаев можно проверить массив $_REQUEST['name'] и этим самым проверив, а передается ли вообще что-то туда. PHP: <?php echo '<pre>'; print_r($_REQUEST); ?>
не поверишь, но это помогло, спасибо =) хотя я всетаки не понимаю.. передаю то я методом пост из формы ... как написал vital <form action=index.php method=POST> и передает вот это: /link.php?name=%DF%ED%E4%E5%EA%F1&link=ya.ru&submit=%D1%EE%F5%F0%E0%ED%E8%F2%FC но это все так же работает и с кодом PHP: if (isset($_POST['name']) { $name=$_POST['name']; } if (isset($_POST['link'])) { $link=$_POST['link']; } echo $name.$link; как такое может быть ? (работает и так и так) а $_REQUEST['name'] это получается универсальный массив, подходит как для GET так и для POST ? вобще может кто-то доступными словами сказать чем отличаются эти два метода, желательно с уклоном почему ГЕТ не может быть ПОСТ. [/php] вот код PHP: echo '<pre>'; print_r($_REQUEST); выдает к примеру это Array ( [name] => 444 [link] => 55555 [submit] => Сохранить ) а обработчик PHP: if (isset($_GET['name'],$_GET['link'])) { echo "ВСЕ ОК"; $name=$_GET['name']; $link=$_GET['link']; $rnd=mt_rand (1000,500000); $result=mysql_query("INSERT INTO links (name,link,rnd) VALUES ('$name','$link','$rnd')"); } говорит что нече не передавалось.... вроде бы элементарные вещи, а разобраться не могу...
GET не предназначен для передачи большого кол-ва информации и метод GET может применяться не только в формах например HTML: <a href="index.php?id=1323">text</a> тоже является GET запросом да. но лучше его использовать только для одним словом не стоит скрипты им насыщать. черевато путаницей PHP: <? if(isset($_REQUEST['aaa'])) { echo $_REQUEST['aaa']; } else { echo "<form action='aaa.php?aaa=qwerty' method=POST><input type=text name=aaa><input type=submit></form>"; } ?>
вот пример: POST страница с формами PHP: <form action='index.php' method='POST'><input type='text' name='login'><br><input type='submit' value='bla-bla-bla'></form> и когда ты нажмешь кнопочку, то у тебя адрес будет index.php а вот GET: PHP: <form action='index.php' method='POST'><input type='text' name='login'><br><input type='submit' value='bla-bla-bla'></form> и когда ты тут нажмешь кнопочку, то у тебя будет index.php?login=*** *** - это то что ты ввел в форме...
Pomaska Таки можно и так HTML: <form method="post" action="http://server/module/page?act=something&do=write&when=now"> </form> p.s. работает только при post