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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: switch case помощь

Сообщения:  [1-10]    [11-20]  [21-22] 

 
 автор: kvins   (03.03.2011 в 11:06)   письмо автору
 
   для: Trianon   (03.03.2011 в 00:54)
 

а ты с каким кодом сравниваешь?? ты по моему сравниваешь 2 значения а у меня получается 3
1 своя страница проверенная паролем
2чужая страница проверенная логином (что он человек залогинелся)
3 человек без нечего попытался попасть на страницу

в принципе я уже решил проблему с помощью кода cheops который ниже просто хочу вас понять =)

  Ответить  
 
 автор: Trianon   (03.03.2011 в 00:54)   письмо автору
 
   для: kvins   (03.03.2011 в 00:35)
 

почему?
Если человек под логином, значит его пароль проверен.

  Ответить  
 
 автор: kvins   (03.03.2011 в 00:37)   письмо автору
 
   для: cheops   (03.03.2011 в 00:34)
 

да наверно по другому не получится =)

  Ответить  
 
 автор: kvins   (03.03.2011 в 00:35)   письмо автору
 
   для: Trianon   (03.03.2011 в 00:30)
 

ну тогда получается что мы обделим человека который под логином на чужой странице , если делать ограничения для не зарегестрированных

  Ответить  
 
 автор: cheops   (03.03.2011 в 00:34)   письмо автору
 
   для: kvins   (03.03.2011 в 00:19)
 

Знаете тут наверное лучше воспользоваться все-таки if ... else, так как характер данных не однородный.
<?php
  
if($_SESSION['access'] == $pass) {
    
// Своя страница
  
} else if(!empty($_SESSION['access'])) {
    
// Авторизован, но страница чужая
  
} else {
    
// Не авторизован
  
}
?>

  Ответить  
 
 автор: kvins   (03.03.2011 в 00:32)   письмо автору
 
   для: cheops   (02.03.2011 в 18:18)
 

получается что то типо


<?php
switch ($_SESSION['access'] == $pass)
{
case true:
echo 'variant 1 - личная страница пользователя';
break;

case : как тут написать?
echo 'variant 1 - страница чужого пользователя';
break;

default: ну а тут думаю надо чета типо иссет чтоль чтоб понять
что нету вообще $_SESSION['access']

echo 'variant 2 - залогинетесь пожалуста';
break;
}
?>

  Ответить  
 
 автор: Trianon   (03.03.2011 в 00:30)   письмо автору
 
   для: kvins   (03.03.2011 в 00:19)
 

логин с неподходящим для него паролем (со стороны киента) должен восприниматься сервером, как несуществующий.

  Ответить  
 
 автор: kvins   (03.03.2011 в 00:19)   письмо автору
 
   для: cheops   (02.03.2011 в 18:18)
 

блин я еще забыл про людей которые не зарегестрированы

надо же 3 случая если
$_SESSION существует и пароль подходит это 1 случай
если существует но не сходятся пароли (или по другому) то другое
а если вообще не существует то тогда просим зайти под своим логином

как еще дописать код?

а так получается любой не зарегестрированый сможет тоже что и зарегестрированый =)

  Ответить  
 
 автор: kvins   (02.03.2011 в 18:28)   письмо автору
 
   для: cheops   (02.03.2011 в 18:18)
 

ееее спасибо за код , буду делать теперь

  Ответить  
 
 автор: cheops   (02.03.2011 в 18:18)   письмо автору
 
   для: kvins   (02.03.2011 в 18:14)
 

Так как у вас всего два случая, то для второго случая уже ничего не имеет значения, так как если первое условие не срабатывает, то должно срабатывать второе условие (почему собственно и ропото поднялся на тему if ... else ...). Я бы вместо втрого условия использовал default - это бы оградило бы возможных неожиданностей, когда и первое условие не сработало и второе возвращает false
<?php
switch (!empty($_SESSION['access']))
{
  case 
true:
    echo 
'variant 1 - личная страница пользователя';
    break;
  default:
    echo 
'variant 2 - страница для всех';
    break;
}
?>

  Ответить  

Сообщения:  [1-10]    [11-20]  [21-22] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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