За последние 24 часа нас посетили 59209 программистов и 1818 роботов. Сейчас ищут 868 программистов ...

Не перекидывает на страницу приветствия

Тема в разделе "PHP для новичков", создана пользователем kolhoz, 6 сен 2017.

  1. kolhoz

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

    С нами с:
    7 ноя 2016
    Сообщения:
    31
    Симпатии:
    0
    Пытаюсь сделать примитивную регистрацию на php.

    Есть страница login.php

    Код (Text):
    1. <?php
    2. session_start();
    3. ?>
    4.  
    5. <?php require_once("includes/connection.php"); ?>
    6. <?php include("includes/header.php"); ?>
    7.  
    8. <?php
    9.  
    10. if(isset($_SESSION["session_username"])){
    11. // echo "Session is set"; // for testing purposes
    12. header("Location: intropage.php");
    13. }
    14.  
    15. if(isset($_POST["login"])){
    16.  
    17. if(!empty($_POST['username']) && !empty($_POST['password'])) {
    18.     $username=$_POST['username'];
    19.     $password=$_POST['password'];
    20.  
    21.     $query =mysql_query("SELECT * FROM usertbl WHERE username='".$username."' AND password='".$password."'");
    22.  
    23.     $numrows=mysql_num_rows($query);
    24.     if($numrows!=0)
    25.  
    26.     {
    27.     while($row=mysql_fetch_assoc($query))
    28.     {
    29.     $dbusername=$row['username'];
    30.     $dbpassword=$row['password'];
    31.     }
    32.  
    33.     if($username == $dbusername && $password == $dbpassword)
    34.  
    35.     {
    36.  
    37.  
    38.     $_SESSION['session_username']=$username;
    39.  
    40.     /* Redirect browser */
    41.     header("Location: intropage.php");
    42.     }
    43.     } else {
    44.  
    45. $message =  "Invalid username or password!";
    46.     }
    47.  
    48. } else {
    49.     $message = "All fields are required!";
    50. }
    51. }
    52. ?>
    53.  
    54.  
    55.  
    56.  
    57.     <div class="container mlogin">
    58.             <div id="login">
    59.     <h1>LOGIN</h1>
    60. <form name="loginform" id="loginform" action="" method="POST">
    61.     <p>
    62.         <label for="user_login">Username<br />
    63.         <input type="text" name="username" id="username" class="input" value="" size="20" /></label>
    64.     </p>
    65.     <p>
    66.         <label for="user_pass">Password<br />
    67.         <input type="password" name="password" id="password" class="input" value="" size="20" /></label>
    68.     </p>
    69.         <p class="submit">
    70.         <input type="submit" name="login" class="button" value="Log In" />
    71.     </p>
    72.         <p class="regtext">No account yet? <a href="register.php" >Register Here</a>!</p>
    73. </form>
    74.  
    75.     </div>
    76.  
    77.     </div>
    78.    
    79.     <?php include("includes/footer.php"); ?>
    80.    
    81.     <?php if (!empty($message)) {echo "<p class=\"error\">" . "MESSAGE: ". $message . "</p>";} ?>
    82.    

    Но почему-то даже если правильно ввести логин и пароль не перекидывает на страницу intropage.php. А если просто открыть страницу intropage.php после того как ввели правильные логин и пароль, то там видно что пользователь авторизовался

    Вот страница intropage.php

    Код (Text):
    1. <?php
    2. session_start();
    3. if(!isset($_SESSION["session_username"])) {
    4.     header("location:login.php");
    5. } else {
    6. ?>
    7.  
    8.  
    9. <?php include("includes/header.php"); ?>
    10. <div id="welcome">  
    11.     <h2>Welcome, <span><?php echo $_SESSION['session_username'];?>! </span></h2>
    12.     <p><a href="logout.php">Logout</a> Here!</p>
    13. </div>
    14.  
    15. <?php include("includes/footer.php"); ?>
    16.    
    17.  
    18. <?php
    19. }
    20. ?>
     
  2. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @kolhoz
    Добавь еще обязательно:
    PHP:
    1. if($username == $dbusername && $password == $dbpassword)
    2.     {
    3.     $_SESSION['session_username']=$username;
    4.     /* Redirect browser */
    5.     header("Location: intropage.php");
    6.    exit();
    7.     }
    После перенаправленныя exit();
     
    MouseZver нравится это.
  3. Sergey_Tsarev

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

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    Вот тут что у тебя?
    PHP:
    1. <?php include("includes/header.php"); ?>
    Включен вывод ошибок?

    Если до заголовка у тебя выводится хотя бы один знак, то перенаправления не произойдёт.