Различные вопросы по PHP и MySQL

243K
.
Koenig (05.06.2012/07:42)
dakilla, в твоем случае не так много информации надо передать, сохранять нет смысла, спокойно залезет в урл
так а как? помоги пожалуйста чето до меня никак не дойдёт как это можно обьединить в моем случае
.
(\/)____o_O____(\/)
dakilla,
$n = isset($_REQUEST['n']) ? abs(intval($_REQUEST['n'])) : 0;

$url = '';
$url2 = '';

if (isset($_POST['vubor'])) {
switch ($_POST['vubor']) {
case 1:
header('Location: ' . $url);
exit;
break;
default:
header('Location: ' . $url2);
exit;
break;    
}    
}

if (isset($_POST['n'])) {
echo '<form action="?n=' . $n . '" method="post"> 
        Вы уверены ?<br/> 
        <select name="vubor" title="Выберите"> 
        <option value="1">Да</option> 
        <option value="2">Нет</option> 
        </select><br/> 
        <input type="submit" name="submit" value="Подтвердите"/> 
        </form>';    
} else {
echo '<form action="" method="post"> 
    <input type="text" name="n" maxlength="25"/><br/> 
    <input type="submit" name="submit" value="Далее"/> 
    </form>';    
}
 
echo '<pre>';  print_r($_POST);
.
Koenig (05.06.2012/07:39)
не сохраняет
[php]
if (empty($_GET)) {
$age = 1;
$name = 'test';

$_SERVER['FORM_DATA'] = array(
'name' => $name,
'age' => $age
О-ё-ё-й! Прошу прощения! Сижу на работе и чот запарился совсем... Нубас блин. Конечно же я имею ввиду массив $_SESSION!!! Сотня извинений. =)
.
(\/)____o_O____(\/)
SlyDeath, по сути та же запись в файл, по сути тоже временный
.
Koenig (05.06.2012/08:12)
SlyDeath, по сути та же запись в файл, по сути тоже временный
Просто проще для новичков и плохо разбирающихся, и делается в две строчки - установка и ансет (либо до конца жизни сессии).
.
SlyDeath, В общем сделал так как вы советовали )) получил универсальную форму подтверждения, но теперь вопрос можно ли быть уверенным что $form_1['n'] из примера ниже больше 0 и меньше 80 или нужно делать дополнительные проверки?
if(isset($_SESSION['form_1'])){
	$form_1 = unserrialize($_SESSION['form_1']);
											
	// Запись $form_1['n'];
	
	
	
							
	unset($_SESSION['form_1']);
}else{
	if(isset($_POST['submit'])){
		$n = isset($_POST['n']) ? abs(intval($_POST['n'])) : 0;
														
		if($n > 0 && $n < 80){
			if(isset($_POST['vubor'])){
				if($_POST['vubor'] == 1){
					$_SESSION['form_1'] = serrialize(
						array(
							'n' => $n
						)
					);
				}
							
				//redirect
			}else
				echo'<form action="' . a_url('index'). '" method="POST"> 
					Вы уверены ?<br/> 
					<select name="vubor" title="Выберите"> 
						<option value="1">Да</option> 
						<option value="2">Нет</option> 
					</select><br/> 
					<input type="submit" name="submit" value="Подтвердите"/> 
				</form>';
		}else
			echo'Ошибка!';
	}else
		echo'<form action="' . a_url('index') . '" method="POST"> 
			<input type="text" name="n" maxlength="25"/><br/> 
			<input type="submit" name="submit" value="Далее"/> 
		</form>';
}
.
и вообще возможно ли в $_SESSION дописать/подменить из вне
.
Именно в данный момент вы используете суперглобальный массив как обычный POST или GET потому конечно все данные из формы попадут туда, и их как и при POST или GET надо фильтровать обычными способами. Кроме формы никак не возможно получить доступ к ячейке массива которую вы создаёте, иначе бы сессии ломали постоянно. =) Это уже дело сниферов и фишинга, но врядли кто-то узнает как вы назвали ячейку для хранения данных, ведь это идёт на уровне пэхэпэ. По поводу 0 и 80 у вас есть проверка и всё ок. =)
.
$_SESSION часто используют онлайн магазины для хранения выбранных товаров ещё не зареганным пользователем.
.
Я уже достал наверно вас обоих )) но что-то я не доверяю если честно этой $_SESSION )) точно враже туда ничего добавить не смогут из вне? может всетаки фильтровать переменные перед записью в mysql или это уже лишнее
Всего: 7969