代码之家  ›  专栏  ›  技术社区  ›  Ryan Gadsdon

用于使用SQL Server登录表单的PHP脚本

  •  0
  • Ryan Gadsdon  · 技术社区  · 8 年前

    我在本地经营一个网站。我已经为登录表单创建了一个php脚本。

    <?php
    
    #starts a new session
    session_start();
    
    #includes a database connection
    $serverName = "SQLServerNamehere"; //serverName\instanceName
    $connectionInfo = array( "Database"=>"DatabaseNameHere", 
    "UID"=>"ServerUsernameHere", "PWD"=>"ServerPasswordHere");
    $conn = sqlsrv_connect( $serverName, $connectionInfo);
    
    if( $conn ) {
    echo "Connection established.<br />";
    }else{
    echo "Connection could not be established.<br />";
    die( print_r( sqlsrv_errors(), true));
    
    #catches user/password submitted by html form
    $email = $_POST['email'];
    $password = $_POST['password'];
    
    #checks if the html form is filled
    if(empty($_POST['email']) || empty($_POST['password'])){
    echo "Fill all the fields!";
    }else{
    
    #searches for email and password in the database
    $query = "SELECT * FROM [dbo].[Test] WHERE UserEmail(SQL Table 
    column)='{$email}' AND UserPassword(SQL table column)='{$password}'";
    $result = sqlsrv_query($conn, $query);  
    
    #checks if the search was made
    if($result === false){
    die( print_r( sqlsrv_errors(), true));
    }
    
    #checks if the search brought some row and if it is one only row
    if(sqlsrv_has_rows($result) != 1){
    echo "Email/password not found";
    }else{
    
    #creates sessions
    while($row = sqlsrv_fetch_array($result)){
    $_SESSION['id'] = $row['id'];
    $_SESSION['name'] = $row['name'];
    $_SESSION['user'] = $row['user'];
    $_SESSION['level'] = $row['level'];
    }
    #redirects user
    header("Location: homepage.html");
    }
    }
    
    ?>
    

    此文件名为signin.php

    我的html登录表单名为signin.html:

    <form class="login-form" action = 'signin.php' method="post">
      <input type="text" placeholder="email"/>
      <input type="password" placeholder="password"/>
      <button>login</button>
    </p> -->
    
    </form>
    

    现在,当用户在输入正确的凭据后单击login按钮时,我希望用户被重定向到homepage选项卡,但是当您输入凭据并单击login按钮时,它只显示PHP代码。我是新来的,有人能给我解释一下我怎样才能让这个工作吗?谢谢

    1 回复  |  直到 8 年前
        1
  •  3
  •   digitalhigh    8 年前

    如果它显示的是PHP代码,那么您的web服务器不会被设置为处理PHP文件。

    如何做到这一点取决于您的操作系统和web服务器堆栈,但通常情况下,您需要安装一个PHP处理程序,然后向web服务器添加配置,以告诉它当请求进入一个PHP文件时,将该代码传递给PHP应用程序并将其作为呈现的网页返回。

    有关更多信息,请参阅PHP文档:

    http://php.net/manual/en/install.php

    推荐文章