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

Форум PHP

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

 

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

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

тема: Методы POST и GET
 
 автор: Router   (25.11.2006 в 01:36)   письмо автору
 
 

Столкнулся с такой ситуацией...
При обработке формы имеется вот такой запрос:

$query = "INSERT INTO author VALUES (

'".$_POST['user_id']."',
'".$_POST['uname']."',
'".$_POST['pas']."',
'".$_POST['mail']."',
'".$_POST['icq']."' )";

Так вот на одной машине все работает нормально, на второй возвращаются пустые значения.
INSERT INTO author VALUES ( '', '', '', '', '' )

Когда меняем POST на GET, то все работает нормально. Может кто-нибудь знает, почему возникает такая ситуация и с чем она связана?

   
 
 автор: Гончий пёс   (25.11.2006 в 02:13)   письмо автору
 
   для: Router   (25.11.2006 в 01:36)
 

Ты знаешь, действительно приходилось сталкиваться с подобным. Причем, чаще лагает под Форточками. Поробуй переопределить переменные:

<?php
$id 
$_POST['user_id'];
$uname $_POST['uname'];
$pass $_POST['pass'];
$mail $_POST['mail'];
$icq $_POST['icq'];

$query "INSERT INTO author VALUES ( '$id', '$uname', '$pass', '$mail', '$icq')";
?>

Какая-то непонятная зависимость. То ли PHP не всегда любит одинарные кавычки, то ли это MySQL не всегда любит одинарные кавычки, но кто-то явно не любит...=)

   
 
 автор: Router   (25.11.2006 в 07:14)   письмо автору
 
   для: Гончий пёс   (25.11.2006 в 02:13)
 

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

   
 
 автор: tAleks   (25.11.2006 в 10:48)   письмо автору
 
   для: Router   (25.11.2006 в 01:36)
 


<?php
echo $query;
?>

   
 
 автор: deman-b   (25.11.2006 в 13:24)   письмо автору
 
   для: Router   (25.11.2006 в 01:36)
 

это наверно из за регистер_глобалз ......

   
 
 автор: cheops   (25.11.2006 в 14:26)   письмо автору
 
   для: Router   (25.11.2006 в 01:36)
 

>Так вот на одной машине все работает нормально, на второй возвращаются пустые значения.
Это машины клиенты или машины сервера?

   
 
 автор: Router   (26.11.2006 в 04:08)   письмо автору
 
   для: cheops   (25.11.2006 в 14:26)
 

Это машины сервера.
register_globals = On

   
 
 автор: FLI   (26.11.2006 в 11:12)   письмо автору
 
   для: Router   (26.11.2006 в 04:08)
 

Возможна php низкой версии, попробуй так!

<?php

$id          
$HTTP_POST_VARS['user_id'];
$uname $HTTP_POST_VARS['uname'];
$pass    $HTTP_POST_VARS['pass'];
$mail     $HTTP_POST_VARS['mail'];
$icq        $HTTP_POST_VARS['icq'];

$query "INSERT INTO author VALUES ( '$id', '$uname', '$pass', '$mail', '$icq')";

?> 

   
 
 автор: cheops   (26.11.2006 в 12:20)   письмо автору
 
   для: Router   (26.11.2006 в 04:08)
 

Попробуйте временно отключить register_globals - ничего не меняется?

   
 
 автор: Trianon   (26.11.2006 в 12:39)   письмо автору
 
   для: Router   (26.11.2006 в 04:08)
 

Покажите форму.
method небось неправильно прописан.

   
 
 автор: XPraptor   (27.11.2006 в 01:22)   письмо автору
 
   для: Trianon   (26.11.2006 в 12:39)
 

$_POST во всех версиях был, это HTTP_POST_VARS не везде. Нужно действительно постмотреть метод формы, может не верно прописан, а может настрйка максимальной длинны POST данных разная и слишком маленькая.

   
 
 автор: Poison   (27.11.2006 в 11:40)   письмо автору
 
   для: XPraptor   (27.11.2006 в 01:22)
 

Скорее всего у формы метод='GET'

   
 
 автор: Саня   (27.11.2006 в 12:17)   письмо автору
 
   для: Poison   (27.11.2006 в 11:40)
 

Или просто не указан, что по умолчанию подразумевает GET.

   
 
 автор: Trianon   (27.11.2006 в 12:18)   письмо автору
 
   для: Саня   (27.11.2006 в 12:17)
 

или указан, но не POST. Что тоже подразумевает GET

   
 
 автор: moonfox   (27.11.2006 в 21:02)   письмо автору
 
   для: XPraptor   (27.11.2006 в 01:22)
 

HTTP POST variables: $_POST
Introduced in 4.1.0. In earlier versions, use $HTTP_POST_VARS.

вообще в старой версии пхп это помогало...
если чего можно использовать сесси или get метод для передачи переменных

   
 
 автор: Router   (28.11.2006 в 01:02)   письмо автору
 
   для: moonfox   (27.11.2006 в 21:02)
 

Всем огромное спасибо. Проблема устранена. Связана действительно с тем, что работал по дефолту GET. Вот только не понял... почему же на другой машине работал и с POST.... :))
Версии php одинаковые...

   
Rambler's Top100
вверх

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