Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在HTML文件中调用PHP函数,尝试在不同的代码中使用相同的代码工作正常,但此处不可用_Php_Html_Sql - Fatal编程技术网

无法在HTML文件中调用PHP函数,尝试在不同的代码中使用相同的代码工作正常,但此处不可用

无法在HTML文件中调用PHP函数,尝试在不同的代码中使用相同的代码工作正常,但此处不可用,php,html,sql,Php,Html,Sql,当我按下登录按钮时,它会刷新页面,并且不会做任何事情。我试着输入错误的服务器IP只是为了检查错误,但我猜它没有响应登录按钮并直接刷新页面 无法在HTML文件中调用PHP函数,尝试在不同的代码中使用相同的代码,在那里工作正常,但在这里不行: <title> Database Login </title> <body> </head> <body> <span> <div class="heading"> &l

当我按下登录按钮时,它会刷新页面,并且不会做任何事情。我试着输入错误的服务器IP只是为了检查错误,但我猜它没有响应登录按钮并直接刷新页面

无法在HTML文件中调用PHP函数,尝试在不同的代码中使用相同的代码,在那里工作正常,但在这里不行:

<title> Database Login </title>
<body>

</head>
<body>
<span>
<div class="heading">

 <h3><img src="http://zicom.com/img/ilayashop-1482233381.jpg" alt="Zicom       Logo" >

  <h1><b>MAaaS Login<b></h1><br>
 </span>
</div>

    <div class='admin'>
            <form method='post' action=''>
                    <p class='main'> Enter your Details </p>
            <p> Enter User Name <input type="text" name="name"     id="userInput"></p>


    <p> Enter password <input type="password" name="pass" id="userInput">     </p>
  <br>
 <input id="login" type="submit" name="submit" value="Login">

 </form>
 </div>


<?php

if($_POST){

    $UN = $_POST['name'];
    $PS = $_POST['pass'];

    $scon=odbc_connect("Driver={SQL Server};Server=XXXXXXX;        Database=Sampledata;","XX","XXXXX");
$query="SELECT [password] FROM [Simcarddata].[dbo].[MasterUser] Where username='$UN'";

  $rs=odbc_exec($scon,$query);
  if (!$rs)
    {
    $msg="SQL statement failed with error:\n";
   $msg.=odbc_error($scon).": ".odbc_errormsg($scon)."\n";
  } else {
$number_of_rows = odbc_num_rows($rs);
$msg="$number_of_rows records found.\n";
}
while(odbc_fetch_row($rs))
{

$field1 =  odbc_result($rs,1);
// print ("$PS and $field1");
if ($PS == $field1){
    print ("TRUE");

     header("Location: /test.php");
}
else {
    print ("Incorrect Username or password");
}

}
odbc_close($scon);
  header("Refresh:2");
}
?>
</body>

</html>

如果$\u服务器['REQUEST\u METHOD']='POST',请使用此选项,而不是$\u POST,或者如果$\u服务器['REQUEST\u METHOD'],请使用ifisset$\u POST

=='POST'请使用此选项,而不是使用if$\u POST或ifisset$\u POST

我只是稍微整理了一下HTML标记,并使用了更好的方法检查POST数据-但我认为问题在于格式错误的HTML混淆了表单

<html>
    </head>
        <title> Database Login </title>
    </head>
    <body>
        <span>
            <div class="heading">
                <h3><img src="http://zicom.com/img/ilayashop-1482233381.jpg" alt="Zicom Logo" ></h3>
                <h1><b>MAaaS Login<b></h1>
                <br>
            </div>
        </span>


        <div class='admin'>
            <form method='post'>
                <p class='main'> Enter your Details </p>
                <p>Enter User Name <input type="text" name="name" id="userInput"></p>
                <p>Enter password <input type="password" name="pass" id="userInput"></p>
                <br>
                <input id="login" type="submit" name="submit" value="Login">
            </form>
        </div>


        <?php

            if( $_SERVER['REQUEST_METHOD']=='POST' && isset( $_POST['name'], $_POST['pass'] ) ){

                $UN = $_POST['name'];
                $PS = $_POST['pass'];

                $scon=odbc_connect("Driver={SQL Server};Server=XXXXXXX;Database=Sampledata;","XX","XXXXX");
                $query="SELECT [password] FROM [Simcarddata].[dbo].[MasterUser] Where username='$UN'";

                $rs=odbc_exec( $scon, $query );

                if (!$rs) {
                    $msg="SQL statement failed with error:\n";
                    $msg.=odbc_error($scon).": ".odbc_errormsg($scon)."\n";
                } else {
                    $number_of_rows = odbc_num_rows($rs);
                    $msg="$number_of_rows records found.\n";
                }
                while( odbc_fetch_row( $rs ) ) {

                    $field1 =  odbc_result($rs,1);
                    if ($PS == $field1){
                        print ("TRUE");

                        header("Location: /test.php");
                    } else {
                        print ("Incorrect Username or password");
                    }
                }
                odbc_close($scon);
                header("Refresh:2");
            }
        ?>
    </body>
</html>

我只是稍微整理了一下HTML标记,并使用了一种更好的方法来检查POST数据——但我认为问题在于格式错误的HTML混淆了表单

<html>
    </head>
        <title> Database Login </title>
    </head>
    <body>
        <span>
            <div class="heading">
                <h3><img src="http://zicom.com/img/ilayashop-1482233381.jpg" alt="Zicom Logo" ></h3>
                <h1><b>MAaaS Login<b></h1>
                <br>
            </div>
        </span>


        <div class='admin'>
            <form method='post'>
                <p class='main'> Enter your Details </p>
                <p>Enter User Name <input type="text" name="name" id="userInput"></p>
                <p>Enter password <input type="password" name="pass" id="userInput"></p>
                <br>
                <input id="login" type="submit" name="submit" value="Login">
            </form>
        </div>


        <?php

            if( $_SERVER['REQUEST_METHOD']=='POST' && isset( $_POST['name'], $_POST['pass'] ) ){

                $UN = $_POST['name'];
                $PS = $_POST['pass'];

                $scon=odbc_connect("Driver={SQL Server};Server=XXXXXXX;Database=Sampledata;","XX","XXXXX");
                $query="SELECT [password] FROM [Simcarddata].[dbo].[MasterUser] Where username='$UN'";

                $rs=odbc_exec( $scon, $query );

                if (!$rs) {
                    $msg="SQL statement failed with error:\n";
                    $msg.=odbc_error($scon).": ".odbc_errormsg($scon)."\n";
                } else {
                    $number_of_rows = odbc_num_rows($rs);
                    $msg="$number_of_rows records found.\n";
                }
                while( odbc_fetch_row( $rs ) ) {

                    $field1 =  odbc_result($rs,1);
                    if ($PS == $field1){
                        print ("TRUE");

                        header("Location: /test.php");
                    } else {
                        print ("Incorrect Username or password");
                    }
                }
                odbc_close($scon);
                header("Refresh:2");
            }
        ?>
    </body>
</html>

可能是个愚蠢的问题,但是这个页面有.php扩展名?它也可能是由于您所拥有的格式错误的HTML。另外-一旦你发送了html内容,你就不能使用标题html到处都是-我猜格式错误的html是这里的根本问题。这可能是个愚蠢的问题,但是这个页面有.php扩展名?它也可能是由于您所拥有的格式错误的HTML。还有-发送html内容后不能使用标题html到处都是-我猜格式错误的html是根本问题。按下登录按钮后,页面刷新并返回登录页面。我仍然面临相同的问题,按下登录按钮后,页面刷新并返回登录页面。