GET + POST + дубли

$lider

Бывает
GET + POST + дубли

Привет.
Для формы наполненной текстом какой метод лучше применить POST или GET?
А для отправки файла?

Как правильно получать переменные в скрипте:
if (!isset($_REQUEST["text"])) или if (!isset($text)) ??
Почему при одних настройках сервера работают обо варианта а при других только 1-й?

Отправили данные формы, скрипт добавил в базу, пользователь обновил страницу, +дубль записи.
Как побороть?

p.s. дико да? поменял сервер, все формы отвалились :(
 

Фанат

oncle terrible
Команда форума
когда видишь дату регистрации - руки опускаются.

-~{}~ 28.10.08 11:21:

интересно, кто-нибудь пытался мультипарт форму гетом отправлять?
 

$lider

Бывает
когда видишь дату регистрации - руки опускаются.
Я понимаю... Самому стыдно.
Сайт писался ОЧЕНЬ давно.
Был установлен на сервер где ВСЕ работало.
И дальше писал по такому-же принципу на ЭТОТ сервер.
Первый раз получилось и дальше все так писал.
Теперь поменяли настройки и привет...

Я конечно понимаю, обучение и т.д.
Ну сработал военный принцип - работает - НЕ ЧИНИ :(
 

Фанат

oncle terrible
Команда форума
ну по ссылке все есть. и в каком случае какой метод применять и как правильно переменные передавать
 

$lider

Бывает
Полегчало...
http://phpfaq.ru/globals
Спасибо.

Получается без разницы: если метоl POST что обращусь $_POST['var']; что $_REQUEST["var"]
 

Beavis

Banned
$lider
Есть разница.. в $_REQUEST может оказаться совершенно другое значение, чем в $_POST... например, из cookie
 

$lider

Бывает
Понял.
Еще вопрос:
в чем грабли?
сделал уже вроде по учебнику :(

PHP:
<?
if (isset($_POST["submit"]))
{
	if (empty($_POST["login"]) OR empty($_POST["password"])) $err_mess="Заполните все поля!";
	else
	{
		include("dbconnect.php");
		$result = mysql_query("SELECT `id`,`login`,`password`,`mail` FROM `_user` WHERE `login`='".$_POST["login"]."' AND `password`='".$_POST["password"]."' AND `active`='yes'");
		if ($myrow = mysql_fetch_array($result))
		{
			session_start(); 
			session_register("sess"); 
			$sess['id']=$myrow['id']; 
			$sess['login']=$myrow['login']; 
			$sess['mail']=$myrow['mail'];
			if (isset($_POST["cooki"]) AND $_POST["cooki"]=="on") setcookie ("user_id", md5($sess['id']),time()+60*60*24*365);
			header("Location: add_new.php?n=aphorism&".$PHPSESSID);
		}
		else $err_mess = "Данные не верны либо аккаунт не активирован!";
	};
};
Перенаправляет на /add_new.php?n=aphorism& но сессия не заводится...

-~{}~ 28.10.08 16:12:

php.ini

session.save_handler = files
session.use_cookies = 1
session.name = PHPSESSID
session.use_trans_sid = 0
 
Сверху