2015-05-24 2 views
0

У меня возникли проблемы с перенаправлением моего кода на другую страницу после отправки правильного имени пользователя и пароля. После ввода имени пользователя и пароля и отправки submit страница не перенаправляется.Страница входа в систему не перенаправляется

страница просто перезагружает и очищает входные поля (даже если это липкая форма), и остается на той же странице, за исключением URL добавляет ?submit=Submit к концу URL ..

я не получаю любые ошибки mysql - база данных прекрасно соединяется с запросом, который соответствует строке с комбинацией имени пользователя/пароля, похоже, проходит.

Он должен перебирать базу данных, проверять, существует ли комбинация имени пользователя/пароля и перенаправляться на указанную страницу. Я не уверен, что я не вижу/пропускаю здесь, что перенаправляет страницу. Любой вход был бы весьма признателен.

PHP:

<?php 
     define('DB_LOCATION', 'x'); 
     define('DB_USERNAME', 'x'); 
     define('DB_PASS', 'x'); 
     define('DB_NAME', 'x'); 

     $dbc = mysqli_connect(DB_LOCATION, DB_USERNAME, DB_PASS, DB_NAME) 
      or die('Error connecting to database'); 

    $error_message= ""; 

    if (isset($_POST['submit'])) { 

     $user_name = $_POST['user']; 
     $user_password= $_POST['pass']; 


     // ADD QUERY TO CHECK IF USER/PASS COMBO IS CORRECT 
     if(!empty($user_name) && !empty($user_password)) { 

     $query = "SELECT * FROM employees WHERE username='$user_name' and password='$user_password'"; 

     $result = mysqli_query($dbc, $query) 
      or die ('Error querying username/password request'); 

      if(mysqli_num_rows($result) == 1) { 

       $user_name = $row['user']; 
       $user_password = $row['pass']; 

       header("Location: www.mysite.com "); 

      } // end if rows 

      else { 
       $error_message = "You were not able to log in"; 
      } // end else 


     } // end query 


    } // end isset 

?> 

HTML

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <title>Login</title> 
    <link type="text/css" rel="stylesheet" href="/LESSON5/5_Signup_CSS.css"> 

</head> 
<body> 
<h1>Welcome to my website!</h1> 
<h2>Please login below.</h2> 
<h3>Don't have an account? <a href="/LESSON5/2%20-%20CREATE%20AN%20ACCOUNT.php">Create one here.</a></h3> 

<div class="formFormat" > 
<div id="table1"> 
<form name =loginForm method="post" action="<?php echo $_SERVER[' PHP_SELF' ];?>"> 
    <table id="cssTable"> 
    <tr> 
     <td>Username:</td><td><input type="text" id="user" name="user" value="<?php echo $user_name ?>" /></td> 
    </tr> 
    <tr> 
     <td>Password:</td><td><input type="text" id="pass" name="pass" value="<?php echo $user_password ?>"/></td> 
    </tr> 
     </table> 
    </form> 
    </div> 

    <div id="table2"> 
    <form> 
    <table> 
    <tr> 
    <td><input type="submit" name="submit"/></td> 
    </tr> 
    <tr> 
     <td id="createAccount"><a href="/LESSON5/2%20-%20CREATE%20AN%20ACCOUNT.php">Create an account</a></td> 
    </tr> 
    <tr> 
    <td><?php echo $error_message ?></td> 
    </tr> 

    </table> 
</form> 
    </form> 
    </div> 
</div> 

<?php 
    mysqli_close($dbc); 
?> 

</body> 
</html> 

ответ

0

Удалить <form>, как раз перед <div id="table2"> и </form>, а также.

+0

Спасибо! Я создал две формы для разделения содержимого CSS, ошибочно думая, что нажатие «Submit» захватывает значения для любого входа на странице независимо от того, находятся ли входы в одном

. –

0

Удалить <form> и </form> как раз перед <div id="table2">, но я говорю, что вы создаете простую функцию, которая обрабатывает перенаправления, как показано ниже.

Почему бы вам не попробовать что-то подобное, что создает функцию для перенаправления.

function Redirect($url, $permanent = false) 
{ 
    header('Location: ' . $url, true, $permanent ? 301 : 302); 
    exit(); 
} 

Redirect('Location: www.mysite.com', false); 
Смежные вопросы