xTMx9 Ответов: 1

Не удается правильно войти в систему, запрос не выполняется.


Я новичок в PHP, и это первая попытка кодирования.
У меня есть форма входа в систему с электронной почтой и паролем,когда пользователь отправляет форму ,должно быть соединение с сервером MS SQL, а затем проверьте, действительны ли значения.
check1 отображается, но все остальное-нет.
Является ли это правильным способом подключения к MS sql server?Большинство статей в интернете используют MYSQL, поэтому я не могу найти много информации о SQL Server.
Я отчаянно хочу знать, почему код не работает, пожалуйста, помогите мне, ребята.
ОБНОВЛЕНИЕ : я хочу убедиться, что у меня установлены правильные драйверы sql. можете ли вы проверить это для меня (ссылки безопасны ,imagesuploaded to imgur)
вот файлы, которые я скачал с сайта Microsoft: ссылка
И вот я переехал в многопоточной 64-разрядной библиотеки DLL в PHP директории Ext : ссылка
Наконец, я добавил их для расширения в PHP.Ини : ссылка

что еще мне нужно сделать? потому что у меня все еще нет ничего, связанного с sqlserv, когда я захожу на страницу phpinfo() на сервере!

Вот что я пробовал до сих пор:

Что я уже пробовал:

<form class="form-horizontal" method="post" action="Login.php">    
<input type="email" id="inputEmail" class="form-control" name="username" placeholder="Email address" required >
<input type="password" id="inputPassword" class="form-control" name="password" placeholder="Password" required >
<button class="btn btn-lg btn-primary btn-block" type="submit" name='Submit' value='Submit'>Login</button>
 </form>

Вот код PHP:
if (isset($_POST['Submit']))
{
    Login();
}
function Login()
{   
    $username = trim($_POST['username']);
    $password = trim($_POST['password']);
    $serverName = "TAREX-09\MSSQLSERVER"; //name of server(locally)
    $connectionOptions = array("Database" => "Insurance");
    echo 'check1';
    //Connect using Windows Authentication.
    $conn = sqlsrv_connect($serverName, $connectionOptions);
    echo 'check2';
    if (!$conn)
    {
        echo 'failed';
        //die(FormatErrors(sqlsrv_errors()));
    }

    $tsql = "SELECT EmailAddress,Password
               FROM Customer_Detail
               WHERE EmailAddress=$username AND Password=$password ";
    $getlogin = sqlsrv_query($conn, $tsql);
    if ($getlogin === false)
    {
        echo 'Login Failed';
    } else
    {
        echo 'Login Success';
    }

phil.o

Подключение к базе данных осуществляется под учетной записью, которая запускает службу Apache. Предоставляли ли вы этой учетной записи права доступа к базе данных?

xTMx9

я использую IIS для подключения к базе данных. IIS уже может получить доступ к базе данных в другом приложении(Asp.net) значит, доступ уже предоставлен, не так ли?

xTMx9

У меня есть этот логин в папке безопасности sql server в папке logins :
IIS APPPOOL\DefaultAppPool

phil.o

Эти страницы могут направить вас на правильный путь:
Установите драйвер SQL Server для PHP[^]
Настройка базы данных для PHP-приложения в IIS[^]

xTMx9

я хочу убедиться, что у меня установлены правильные драйверы sql. можете ли вы проверить это для меня (ссылки безопасны ,imagesuploaded to imgur)
вот файлы, которые я скачал с сайта Microsoft: ссылка
И вот я переехал в многопоточной 64-разрядной библиотеки DLL в PHP директории Ext : ссылка
Наконец, я добавил их для расширения в PHP.Ини : ссылка

что еще мне нужно сделать? потому что у меня все еще нет ничего, связанного с sqlserv, когда я захожу на страницу phpinfo() на сервере!

1 Ответов

Рейтинг:
0

W∴ Balboos, GHB

Предполагая, что у вас установлены дополнения SQL Server (per phil. o, выше), ваш SQL-запрос имеет проблему:

$tsql = "SELECT EmailAddress,Password
         FROM Customer_Detail
         WHERE EmailAddress=$username AND Password=$password ";


И $username, и $password-это строки. Они должны быть окружены одинарными кавычками для SQL:
$tsql = "SELECT EmailAddress,Password
              FROM Customer_Detail
              WHERE EmailAddress='$username' AND Password='$password'";


Но, опять же, убедитесь, что у вас установлена функциональность MS SQL Serve. PHP обычно поставляется с MySQL в качестве стандартного компонента (look up LAMP);


xTMx9

я хочу убедиться, что у меня установлены правильные драйверы sql. можете ли вы проверить это для меня (ссылки безопасны ,imagesuploaded to imgur)
вот файлы, которые я скачал с сайта Microsoft: ссылка
И вот я переехал в многопоточной 64-разрядной библиотеки DLL в PHP директории Ext : ссылка
Наконец, я добавил их для расширения в PHP.Ини : ссылка

что еще мне нужно сделать? потому что у меня все еще нет ничего, связанного с sqlserv, когда я захожу на страницу phpinfo() на сервере!

W∴ Balboos, GHB

https://www.microsoft.com/en-us/download/details.aspx?id=20098 достанут вам драйверы (от Microsoft, сами). Это пакет, и то, что вам нужно установить, зависит от вашей настройки, а также от того, как вы их установите.

Моя версия PHP на сервере Vertrigo. Я поместил файлы расширений в каталог и включил/отключил их, пока не нашел те, которые работают для меня. Следуйте их инструкциям и выполняйте онлайн-поиск ваших вопросов о том, как это сделать с вашей конкретной системой.

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

xTMx9

вот откуда я скачал драйверы... и последовал за "устаревшим" чтением меня шаг за шагом, как показано на фотографиях, которые я загрузил. Я использую архитектуру x64 для php, поэтому я выбрал эти 2 файла с x64 и перепробовал их все.Не сработало.
Это действительно дерьмо, что сейчас 2016 год, и процесс получения sql server для работы с php все еще труден и сложен.
Хотя я должен работать на sql server вместо mysql, я думаю, что буду использовать mysql, если не выясню проблему к завтрашнему дню.