За последние 24 часа нас посетили 16823 программиста и 1644 робота. Сейчас ищут 947 программистов ...

Помогите найти косяк

Тема в разделе "PHP для новичков", создана пользователем Шаман, 17 июл 2009.

  1. Шаман

    Шаман Активный пользователь

    С нами с:
    13 июн 2009
    Сообщения:
    67
    Симпатии:
    0
    Адрес:
    СПб
    доброго времени суток, помогите пожалуйста найти ошибку

    скрипт работает прекрасно, но не работает последняя инклуда(хз почему), при этом если из кода убрать условный оператор, инклуда работает. выходит косяк в условном...... но какой??? скрипт то работает...

    Код (Text):
    1.  
    2. <?
    3. include('../conf.php');
    4. include('../header.php');
    5. $eng="authotrization";
    6. $rus="авторизация";
    7. ?>
    8. <div id='nav'>
    9. <?
    10. include('../nav.php');
    11. ?>
    12. </div>
    13.  
    14. <?php
    15.  session_start();
    16.  
    17.  include('func.php');
    18.  
    19.  if(USER_LOGGED) {
    20.      if(!check_user($UserID)) logout();
    21.  ?>
    22.      <h1>Здравствуйте, <?php echo $UserName; ?>!</h1>
    23.      <h2>Ваш ID: <?php echo $UserID; ?>.</h2>
    24.      <h4><a href="?logout">Выход</a></h4>
    25.  <?php
    26.  }
    27.  else { ?>
    28.      <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    29.      <table>
    30.      <tr>
    31.      <td>Имя:</td><td><input type="text" name="user"></td>
    32.      </tr>
    33.      <tr>
    34.      <td>Пароль:</td><td><input type="password" name="pass"></td>
    35.      </tr>
    36.      <tr>
    37.      <td colspan="2"><input type="submit" name="login" value="Войти"></td>
    38.      </tr>
    39.      </table>
    40.      </form>
    41.  <?php
    42.  }
    43.  ?>
    44.  
    45. <?php
    46. include('../footer.php');
    47. ?>
     
  2. shurastik

    shurastik Активный пользователь

    С нами с:
    22 фев 2008
    Сообщения:
    285
    Симпатии:
    0
    Адрес:
    Латвия
    include('../footer.php'); - вот эта?
     
  3. Шаман

    Шаман Активный пользователь

    С нами с:
    13 июн 2009
    Сообщения:
    67
    Симпатии:
    0
    Адрес:
    СПб
  4. shurastik

    shurastik Активный пользователь

    С нами с:
    22 фев 2008
    Сообщения:
    285
    Симпатии:
    0
    Адрес:
    Латвия
    а не показывается она всегда? или только когда залогинен?

    if(!check_user($UserID)) logout();

    что это дело творит?
     
  5. Шаман

    Шаман Активный пользователь

    С нами с:
    13 июн 2009
    Сообщения:
    67
    Симпатии:
    0
    Адрес:
    СПб
    это разлогает как я понял если не прошла проверка юзера......

    но дело в том что все работает если я внедряю этот скрипт в менюшку сайта к примеру........ я щас я вынес авторизацию на отдельную страницу и вот эта фигня происходит(((

    а происходит она когда я на страничке авторизации или на сообщении о залогинивании или незалогинивании)) то есть ТОЛЬКО на этом файле
     
  6. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    собственно по самому сабжу - приезжай - отсыплю...

    =)
     
  7. Шаман

    Шаман Активный пользователь

    С нами с:
    13 июн 2009
    Сообщения:
    67
    Симпатии:
    0
    Адрес:
    СПб
    *ROFL* ну спасибо

    а насчет кода нет идей?)
     
  8. Шаман

    Шаман Активный пользователь

    С нами с:
    13 июн 2009
    Сообщения:
    67
    Симпатии:
    0
    Адрес:
    СПб
    я разобрался в чем дело, вот только не знаю как решить эту проблему. конфликт происходит из-за того что на сайте есть еще проверка if(USER_LOGGED). та что я привел происходит только при авторизации, а вторая на каждой странице для менюшки пользователя(т.е. если авторизирован - профиль,выход, а если нет - регистрация,авторизация). А мне такие проверки еще не раз понадобятся..... что делать?

    ПЫ.СЫ. скриптик тут же http://www.php.ru/forum/viewtopic.php?t=15658 на форуме брал , и только щас столкнулся с проблемой, так как раньше делал только одну проверку.

    проблема решена, спасибо