Тестирование на корректную электронную почту addy / пароль TSql - PullRequest
0 голосов
/ 30 сентября 2010

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

<?php

$em = $_REQUEST["email"];
$pa = md5($_REQUEST["password"]);

//connectioninfo hidden   

$connectionInfo = array( "UID"=>$uid,                              
                         "PWD"=>$pwd,                              
                         "Database"=>$databaseName);
$conn = sqlsrv_connect( $serverName, $connectionInfo);

$tsql = "SELECT email, password FROM users WHERE email = $em AND password = $pa";

$stmt = sqlsrv_query( $conn, $tsql);    

if($stmt)
{
    $ot =
    "Hi, " . $em;
}
else
{
  $ot =
  "<p>Oh, no! My Account is currently unavailable right now, please try again later.</p>";
}

?>

Ошибка, которую я продолжаю получать:

О нет! Моя учетная запись в настоящее время недоступна, повторите попытку позже.

Может кто-нибудь, пожалуйста, помогите мне понять, почему при входе в систему не отображается сообщение Hi, $ em, и как я могу это исправить.

Кроме того, просто чтобы убрать это с пути, да, я am , используя правильные данные для входа. :)

Спасибо Джейс

1 Ответ

1 голос
/ 30 сентября 2010

У вас есть несколько проблем:

  1. Вы используете REQUEST вместо POST.Вы действительно должны использовать POST.
  2. Ваш код уязвим для внедрения SQL: http://php.net/manual/en/security.database.sql-injection.php
  3. У вас нет кавычек вокруг строковых литералов, что, вероятно, вызывает вашу проблему.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...