|
|
|
| Допустим get передается переменная $mode (index.php?mode=1) она может принимать значения 'text1', '1text1, 'te784xt'
Я делаю вот так:
<?php
$mode = $_GET['mode'];
switch ($mode){
case 'text1':
//code1
break;
case '1text1':
//code2
break;
case 'te784xt':
//code3
break;
}
?>
|
Вопрос, как вывести сообщение о том, что переданная переменная приняла недопустимое значение?
У меня только одна мысль - вбить в массив все допустимые значения $mode и проверять постоянно. А можно как-нибудть выйти из switch? Чтонибудь типа:
<?php
$mode = $_GET['mode'];
switch ($mode){
case 'text1':
//code1
break;
case '1text1':
//code2
break;
case 'te784xt':
//code3
break;
} ELSE { print 'Переданное значение недопустимо'; } // такое у меня вылетает в ошибку парсинга.. (
?>
|
Спасибо, заранее ) | |
|
|
|
|
|
|
|
для: Грабитель
(20.01.2007 в 02:12)
| |
switch ($var) {
//...
default:
//...
}
|
| |
|
|
|
|
|
|
|
для: Sergey89
(20.01.2007 в 02:24)
| | Спасибо! ;) | |
|
|
|
|
|
|
|
для: Грабитель
(20.01.2007 в 02:29)
| | А зачем $mode = $_GET[mode] ?
Это же не POST...... она сразу доступна | |
|
|
|
|
|
|
|
для: bronenos
(20.01.2007 в 08:37)
| | POST-переменная тоже сразу будет доступна. | |
|
|
|
|
|
|
|
для: bronenos
(20.01.2007 в 08:37)
| | А зачем $mode = $_GET[mode] ?
При "register_globals off" $mode изначально существовать не будет, даже, если есть $_GET['mode']. С POST тоже самое. А при включенном register_globals, переменные будут автоматически создаваться из POST, GET, COOKIE. | |
|
|
|
|
|
|
|
для: Unkind
(20.01.2007 в 10:22)
| | При "register_globals off ", если некоторые переменные нужно поместить в глобальной области, можно исполбзовать системную функцию import_request_variables("[get, post, cookie]", "преффикс, по которому идет обращение к переменным") | |
|
|
|