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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Выполняется и if и else
 
 автор: 777   (22.09.2006 в 09:21)
 
 

Почему выполняются и if и else?

   
 
 автор: P@Sol   (22.09.2006 в 09:22)   письмо автору
 
   для: 777   (22.09.2006 в 09:21)
 

пример кода, плиз

   
 
 автор: 777   (22.09.2006 в 09:45)
 
   для: P@Sol   (22.09.2006 в 09:22)
 


if ($LMI_HASH==$my_hash)
         {
            $query = mysql_query("UPDATE `tabl` SET  `time` = NOW()");
         }
         else
         {
            $msg = "
            С IP: ".$IP." была предпринята попытка взлома.";
            mail($email_admin, "Попытка взлома.", $msg);
            echo "<meta http-equiv=\"refresh\" content=\"0; URL=index.php\">";
         }

   
 
 автор: tuder   (22.09.2006 в 11:27)   письмо автору
 
   для: 777   (22.09.2006 в 09:45)
 

Т.е. при попытке имитации взлома отправляется сообщение, и, кроме этого в базу заносится время обращения? Так?

Тогда отправляется сообщение, после чего заносится в базу, так как произошло обновление страницы уже без взлома.

То есть, выполняются не обе части условия последоватеьно, а поочереди, сначала одна, потом другая.
Убери рефреш и поэксперементируй.

   
 
 автор: 777   (22.09.2006 в 11:34)
 
   для: tuder   (22.09.2006 в 11:27)
 

Нет. Если две пременные равны, то должно только записаться время.
Если переменные не равны, то должно отправится сообщение.

   
 
 автор: tuder   (22.09.2006 в 12:17)   письмо автору
 
   для: 777   (22.09.2006 в 11:34)
 

Все эксперименты - благополучны.
Или пишет или отправляет.

Попробуй ещё сделать где-нть в конце. Может запоминается что-то.

unset($my_hash)

   
 
 автор: cheops   (22.09.2006 в 12:17)   письмо автору
 
   для: 777   (22.09.2006 в 09:21)
 

Хм... не должно быть такого ни при каких обстоятельствах... у вас вложенные операторы if не используются?

   
 
 автор: 777   (22.09.2006 в 12:47)
 
   для: cheops   (22.09.2006 в 12:17)
 

Это у меня находится в другом if, а тот находится в переключателе switch.

   
 
 автор: tuder   (24.09.2006 в 16:58)   письмо автору
 
   для: 777   (22.09.2006 в 12:47)
 

Проверь все скобки. Или полные исходники в студию. Для изучения.

   
Rambler's Top100
вверх

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