html如何调用php文件访问SQLServer数据库?

html中的输入框元素:

<input id="passwordfield" type="password" class="DefaultInputStyle">

html中的button元素:

<button class="DefaultButtonStyle" onclick="trylogin(passwordfield.value)" ">登录</button>

html中的script脚本内容:

    <script>
        function trylogin(str) {
            var xmlhttp;
            if (window.XMLHttpRequest) {
                xmlhttp = new XMLHttpRequest
            } else {
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange = function() {
                if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                    document.getElementById("usernamefield").value = "successful";
                }
            }
            xmlhttp.open("GET", "CheckUserNameAndPassword.php", true)
            xmlhttp.send();
        }
    </script>

SQLServer的udl文件属性:
[oledb]
; Everything after this line is an OLE DB initstring
Provider=SQLOLEDB.1;Password=12345;Persist Security Info=True;User ID=sa;Initial Catalog=Diary;Data Source=DESKTOP-LBLP1PJ\SQLEXPRESS01

SQL数据库中的表和内容

img

如果我想要在点击按钮时,将输入框中的文本作为name,查找数据库中匹配的value值并重写进输入框,那么php文件的代码该怎么写呢?

php链接读取mssqlserver可以参考以下文章

下面示例居于odbc链接mssqlserver【注意:在 php.ini 中将 extension=odbc,extension=pdo_odbc前面的分号(;)去掉开启odbc】。不过题主既然是php,干嘛不用标配数据库mysql。

输入和验证逻辑共用一个页面

img

CheckUserNameAndPassword.php

<meta charset="utf-8">
<?php
//同一个页面判断是否提交了数据在做验证
if(isset($_GET["username"])&&isset($_GET["password"])){
    $username=$_GET["username"];
    $password=$_GET["password"];
    $con = odbc_connect('DRIVER={SQL Server};SERVER=.;DATABASE=test','sa','123');
    //$con = odbc_connect('DRIVER={SQL Server};SERVER=DESKTOP-LBLP1PJ\\SQLEXPRESS01;DATABASE=test','sa','12345');//题主的驱动应该这样
    $query = "select * from mytable where name='${username}' and [value]='${password}'";

    $result = odbc_do($con,$query);
    $count=odbc_num_rows($result);
    ob_clean();//清除缓存,就是去掉上面的meta标签内容
    echo $count; //输出账号密码对应的记录数量
    die();//结束输出
}

?>
 
<form id="myform1">
    <div>账户名称</div>
    <input id="usernamefield" name="username" type="text" autocomplete="off" />
    <div>账户密码</div>
    <input id="passwordfield" name="password" type="password" autocomplete="off" />
    <button onclick="Tryloginsystem()" type="button">登录</button>
</form>
<script type="text/javascript">
    function Tryloginsystem(str) {
       var xhr=new XMLHttpRequest();
       //get提交需要将数据放到url后,post的话放到xhr.send中发送数据,而且注意设置content-type为application/x-www-form-urlencoded
       xhr.open('get','CheckUserNameAndPassword.php?username='+encodeURIComponent(usernamefield.value)+'&password='+encodeURIComponent(passwordfield.value));
       xhr.onreadystatechange=function(){
           if(4==xhr.readyState){
                var text=xhr.responseText;
                if(200==xhr.status)usernamefield.value=text=='0'?'用户名或者密码错误!':'successful';
                else alert('服务器出错\n'+text);
           }
       };
       xhr.send(null);
    }
</script>


img


有其他问题可以继续交流~

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632