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

标签 php html sql

当我按下“登录”按钮时,它会刷新页面并且不执行任何操作。我尝试输入错误的服务器 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>

最佳答案

我只是稍微整理了 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 文件中调用 PHP 函数,尝试在不同的代码中使用相同的代码,它工作正常但在这里不行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49146625/

相关文章:

php - 如何修复 Opencart 中的产品缩略图大小?

iphone - 编写基于 'web application' 的针对黑莓、iphone 和 android 的表单

javascript - 绑定(bind)特定复选框以禁用 VueJS 中的特定下拉菜单?

javascript - 如何映射对象数组并更改样式?

sql - 尝试确定特定零件号的下一个机器操作是什么

php - 将我的失败 æøå 字符替换为 MySQL 或 PHP cde 中的 æøå

php - ubuntu php eclipse 菜鸟问题

php - 将 td 悬停在 while 循环中时如何获取特定 ID

mysql从字符串字段中获取最大数量

mysql - 独特的案例陈述