Функция isset и передача переменных через массив POST в файл обработчик

aaachilov

Новичок
Приветствую!
Два дня смог продержаться без Вашей помощи - уже прогресс)))
Подскажите пожалуйста!
Сейчас в процесе написания скрипта нужно передать значение переменных методом post
Соответственно в файле который принимает значение переменных решил проверить установлены ли переменные.
Так вот - написал вот так используя функцию isset
PHP:
if (isset($_POST['id'])) {
$id = $_POST['id']; 
} else {
$Err.="Ошибка передачи данных с поля id!<br>";
};
Но умышленно изменив название переменной у меня не вывелось ошибки.
Убрал функцию isset, то есть нписал код так
PHP:
if ($_POST['id']) {
$id = $_POST['id']; 
} else {
$Err.="Ошибка передачи данных с поля id!<br>";
}
Проверка стала работать нормально!
Подскажите в чём может быть дело - на странице кроме этих кодов также имеется подключение к базе
PHP:
$Err='';
if (!$link = mysql_connect ('localhost','root','12345')){
	$Err.="Ошибка подключения к базе данных!<br>";
	exit();
};
@mysql_query("SET NAMES 'cp1251'", $link);
mysql_select_db('php', $link);
и вывод ошибок
PHP:
<?php if ($Err) echo '<font color=red><b>'.$Err.'</b></font><br>';?>
Не хочется продолжать дальше писать код, пока не пойму причину(((
Заранее спасибо!
 

aaachilov

Новичок
Извините , но я не понимаю для чего мне функция var_dump.
Что бы заработало я сделал - но не понял почему не работает.
Возмо мне не известно - в литературе не нашёл описания подробного функции isset, но мне в голову приходит мысль что она проверяет не наличие информации в массиве, а передался он или нет? Я верно понимаю?
 

Ragazzo

TDD interested
Приветствую!
Два дня смог продержаться без Вашей помощи - уже прогресс)))
Подскажите пожалуйста!
...
Заранее спасибо!
Лучше прочтите книгу нормальную какую-то и будет прогресс больше, лучше начать с этой http://www.ozon.ru/context/detail/id/4030251/. Литературу по функциям нужно искать тут http://php.net/manual/ru/function.isset.php
 

Gibiskus

Новичок
вместо var_dump можно вот такой функцией пользоваться - удобно!
PHP:
function ddump() {	
	echo '<div style="position: fixed; top: 0px; height:1000px; left: 20px; background-color: #ccc; text-aligh: left: width: 400px; font: 16px black Arial;">';
	foreach ( func_get_args() as $row ) 
		echo var_dump($row)."\n", '<br/>';
	echo '</div>';
	exit;
}
 

tz-lom

Продвинутый новичок
хотя бы в <pre> вардамп закатывал бы
хотя всё это не нужно, нужен xdebug
 

fixxxer

К.О.
Партнер клуба
да хоть во что закатай, на вопросе как отлаживать аяксики, все эти "решения" заканчиваются
 

Arlevnar

Новичок
isset($_POST['id']) и $_POST['id'] можешь заменить на !empty($_POST['id'])
Но только проблемма у тебя в том что с формы не приходят POST данные.
1.Проверь атрибут action если отправка через form или js если отправка данных идёт через JS.
2.Проверь принимает ли POST-ие переменные скрипт вообще по определению.
PHP:
if (isset($_POST)) {
 print_r($_POST);
}
 
Сверху