Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

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

 

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

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

тема: Как совместить GET и POST
 
 автор: Владимир22   (18.12.2008 в 16:58)   письмо автору
 
 

При приёме переданных данных, используется код,типа:
$name=$_POST['name']; или $name=$_GET['name'] ;
Вопрос:
как быть, если предполагается получение данных и $_POST , и $_GET ???
$name=($_POST['name'] || $_GET['name'] ); // так не проходит....

  Ответить  
 
 автор: Trianon   (18.12.2008 в 17:00)   письмо автору
 
   для: Владимир22   (18.12.2008 в 16:58)
 

$_REQUEST
там же будет и $_COOKIE.

  Ответить  
 
 автор: GeorgeIV   (18.12.2008 в 17:25)   письмо автору
 
   для: Trianon   (18.12.2008 в 17:00)
 

надо только пояснить, что будет, если придет одновременно и $_COOKIE['name'] и $_POST['name'] и $_GET['name'].
Лучше наверно использовать не очень красивую, но однозначно определяющую конструкцию
$name = (isset($_POST['name']))?($_POST['name']) : (isset($_GET['name'] ) ? ($_GET['name'] ) : ( isset($_COOKIE['name']) ? $COOKIE['name'] : false ) );

Надеюсь, со скобками не напутал

  Ответить  
 
 автор: sim5   (18.12.2008 в 17:31)   письмо автору
 
   для: GeorgeIV   (18.12.2008 в 17:25)
 

А как одновременно могут прийти $_POST['name'] и $_GET['name']? А COOKIE вам запрашивать.

  Ответить  
 
 автор: GeorgeIV   (18.12.2008 в 17:33)   письмо автору
 
   для: sim5   (18.12.2008 в 17:31)
 

теоретически запросто, в форме можно добавить переменную и к урлу

  Ответить  
 
 автор: sim5   (18.12.2008 в 17:39)   письмо автору
 
   для: GeorgeIV   (18.12.2008 в 17:33)
 

Это понятно, но как вы одновременно отправите форму и сделаете запрос через урл, да и зачем это надо?

  Ответить  
 
 автор: GeorgeIV   (18.12.2008 в 17:44)   письмо автору
 
   для: sim5   (18.12.2008 в 17:39)
 

в поле action к урлу можно добавить любой параметр и он уйдет как GET вместе с POST параметрами с формы
Я же говорю, это чисто теоретически, нотвдруг кто то применит такой способ на практике. А уж кук с таким name может придти запросто, если система разрабатывалась годами и разными поколениями.

  Ответить  
 
 автор: sim5   (18.12.2008 в 17:48)   письмо автору
 
   для: GeorgeIV   (18.12.2008 в 17:44)
 

Умно, но вот только зачем? Для какого геморроя, скажите мне, делать в форме поле name, и добавлять эту же переменную к урл action? Не проще ли писать без лишнего и не морочить голову себе? )

  Ответить  
 
 автор: Trianon   (18.12.2008 в 17:47)   письмо автору
 
   для: sim5   (18.12.2008 в 17:39)
 

<form action="form.php?var=value" >

  Ответить  
 
 автор: sim5   (18.12.2008 в 17:50)   письмо автору
 
   для: Trianon   (18.12.2008 в 17:47)
 

Я уже спросил выше. А что так можно, это мне известно. Но вот такую переменную, думаю, нужно ставить не для того чтобы голову ломать кто из них кто, а для иных задач, как вы думаете?

  Ответить  
 
 автор: Trianon   (18.12.2008 в 17:43)   письмо автору
 
   для: GeorgeIV   (18.12.2008 в 17:25)
 

напутали.

  Ответить  
 
 автор: GeorgeIV   (18.12.2008 в 17:45)   письмо автору
 
   для: Trianon   (18.12.2008 в 17:43)
 

Проверьте
<form action="/tezzt.php?d=5" method="POST">
<input type="submit" value="ok">
<input type="hidden" name="d" value="10">
</form>
<?php
if (isset($_POST['d']))
{
echo 
$_POST['d']."<br>";
echo 
$_GET['d']."<br>";
echo 
$_REQUEST['d']."<br>";
}

  Ответить  
 
 автор: Trianon   (18.12.2008 в 17:49)   письмо автору
 
   для: GeorgeIV   (18.12.2008 в 17:45)
 

зачем?

  Ответить  
 
 автор: GeorgeIV   (18.12.2008 в 18:17)   письмо автору
 
   для: Trianon   (18.12.2008 в 17:49)
 

Да хотя бы потому, что бывают ситуации, когда в один и тот же обработчик данные могут придти или по ГЕТ или по ПОСТ или с куками. Эта строка гарантирует приоритетность.
Я же уже писал, что в одном запросе это маловероятно для ПОСТ и ГЕТ, но с куками может быть.

Вопрос то был
Вопрос: 
как быть, если предполагается получение данных и $_POST , и $_GET ???

  Ответить  
 
 автор: Trianon   (18.12.2008 в 18:31)   письмо автору
 
   для: GeorgeIV   (18.12.2008 в 18:17)
 

я спросил, зачем мне что-то проверять?

  Ответить  
 
 автор: GeorgeIV   (18.12.2008 в 18:32)   письмо автору
 
   для: Trianon   (18.12.2008 в 18:31)
 

Ответ на фразу - "напутали"

  Ответить  
 
 автор: Trianon   (18.12.2008 в 18:32)   письмо автору
 
   для: GeorgeIV   (18.12.2008 в 18:32)
 

Я знаю, что напутали.

  Ответить  
Rambler's Top100
вверх

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