Форма входа для приложения PHP - PullRequest
0 голосов
/ 21 мая 2018

Я работаю над приложением, которое создаю с использованием HTML и PHP, и пытаюсь заставить работать форму контакта, но получаю ошибки HTTP.

Я использую базу данных SQL Azure, и япопробовал ниже, но это не будет работать.Я создал HTML-форму для чтения в имени пользователя и пароля, а затем у меня есть отдельный файл, который я собираюсь прочитать в имени пользователя и пароле и проверить, соответствуют ли они значениям в таблице пользователей в моей базе данных.Если нет, форма очистится, и они введут новые учетные данные.Кто-нибудь может определить проблему здесь?Мой код:

login_page.html:

 <html>
 <head>
<title>Login</title>
 </head>
 <body>

<br>
<br>

<center><div class="container">
<a href=""><img src="L.jpg" alt="DCU" style="width:200px;height:200px;"></a>
<br>
<a href=""><img src="LN.jpg" alt="DCU" style="width:400px;height:90px;"></a>
 <br>
<br>

<form action="verify.php">
<div class="row">
  <div class="col-25">
    <label for="User Name">Username</label>
  </div>
  <div class="col-75">
    <input type="text" name="Username" placeholder="Username">
  </div>
</div>
 <br>
  <div class="row">
  <div class="col-25">
    <label for="Password">Password</label>
  </div>
  <div class="col-75">
    <input type="password" name="Password" placeholder="Password">
  </div>
  </div>
  <br>
<div class="row">
  <input type="submit" value="Login">
 </div>
 </form>
</div></center>



</body>
</html>

verify.php

 <?php 
 if(isset($_POST['submit'])){ 
 $serverName = "xxxx";
 $options = array(  "UID" => "xxx",  "PWD" => "xxxx",  
 "Database" => "xxxx");
 $conn = sqlsrv_connect($serverName, $options);

 if( $conn === false )
 {
 echo "Could not connect.\n";
 die( print_r( sqlsrv_errors(), true));
 }  


$usr = $_POST['username']; 
$pas = = $_POST['password']; 
$sql = sqlsrv_query("SELECT username FROM dbo.users  
    WHERE username='$usr' AND 
    password='$pas' 
    LIMIT 1"); 
if(sqlsrv_num_rows($sql) == 1){ 
    $row = sqlsrv_fetch_array($sql); 
    session_start(); 
    $_SESSION['username'] = $row['username']= TRUE; 
    header("Location: index.html"); 
    exit; 
    }else{ 
    header("Location: login_page.html"); 
    exit; 
     } 
     }else{    //If the form button wasn't submitted go to the index 
     page, or login page 
     header("Location: login_page.html");     
     exit; 
      } 
     ?> 

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

Пожалуйста, включите Ведение журнала диагностики , что поможет вам получать более подробные сообщения об ошибках на уровне веб-сервера и на уровне приложения.Вы также можете удаленно использовать Visual Studio режим отладки для создания трассировок и получения подробных сообщений об ошибках.

0 голосов
/ 21 мая 2018

В HTML вы не устанавливаете метод формы равным POST (что невероятно важно для обработки конфиденциальных данных).Поскольку метод не определен, по умолчанию он будет GET, что означает, что ваш код PHP никогда не будет выполняться после первого условного выражения;он ожидает получения POST запроса, но это не то, что передается.

Если вы добавите следующее в тег формы, оно должно сработать (или, по крайней мере, напечатать вам что-нибудь):

<form action="verify.php" method="post">

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...