将PHP表单数据传递到HTML页面

时间:2014-04-01 20:29:44

标签: php html forms mysqli

以下是我的登录脚本的PHP代码:

   <?php

session_start();
if(isset($_POST['submitted']))
{

$username = $_POST['username'];
$password = $_POST['password'];



            $connect = mysqli_connect("localhost", "root", "root", "test");
            if (mysqli_connect_errno()){
                echo mysqli_connect_error();
            } 

            $query = "SELECT * FROM members where username = '$username'";

            $result = mysqli_query($connect, $query);

        $log = mysqli_fetch_array($result);
        $dbusername=$log['username'];
        $dbpassword=$log['password'];
        //echo "<h1> ". $log['username']." ".$log['password']."</h1>";
        if($username == $dbusername && $password == $dbpassword)
        {
            $_SESSION['username'] = $dbusername;
            $_SESSION['password'] = $dbpassword;
            header("Location: Correct.html {$_POST["redirect"]}"); 
        }else
        {
            header("Location: Incorrect.html {$_POST["redirect"]}"); 
        }

} else {
    echo "boo";
}

    ?>

如您所见,如果用户输入现有的用户名和密码组合,则会将用户重定向到“Correct.html”页面。问题是将信息传递到'Correct.html'页面。我希望传递“用户名”变量,以便该页面显示“欢迎'用户名'”消息。现在从我的所有尝试中我都知道我需要在'Correct.html'页面上的以下代码才能成功传递此变量:

    <?php
session_start();
if(isset($_SESSION['username'])){
    echo "Your session is running " . $_SESSION['username'];
}
?>

我还发现,为了实现这一点,我需要将页面的扩展名从.HTML更改为.PHP。现在的问题是,如果我更改扩展名,我的'Correct.php'页面将不再加载,并且我显示一个空白屏幕。我已经尝试了在线HTML到PHP转换器(它似乎回应了我的代码的每一行),但这仍然不起作用。

任何人都可以帮助我完成以下两件事之一:

  1. 为我提供一个在HTML脚本中传递PHP变量的解决方案(更容易,但如果可能,还不确定?)
  2. 正确地将我的HTML代码转换为PHP(更长,但会确保变量可以轻松传递)
  3. 请记住,我已经有一个MySQL数据库和表设置(你可能已经从代码中找到了)。

2 个答案:

答案 0 :(得分:0)

如果正确设置了Web服务器,文件名的扩展名不重要。如果它是Apache HTTP:AddType application/x-httpd-php .php .htm .html,或类似的东西。

header()需要完整的URI。因此,传入域名和路径以及文件名。并删除标题调用中的{$_POST["redirect"]}内容(不确定您尝试使用该内容)。

答案 1 :(得分:0)

我只是将其作为答案提供解释......

这是我引用的example answer。 它的作用是查看发送到浏览器的URL,搜索&#34;?&#34;,这意味着有一个参数被传递。然后它会在&#34;?&#34;之后抓住所有内容。并将其拆分为&#34;&amp;&#34;以提供所有传递的参数。然后它会遍历它找到的内容,并创建一个传入的列表。例如,&#34; username = bob&#34;,&#34; thissite = spiffy&#34;。

您可以在任何HTML文件中使用它来处理传入的参数。不需要像PHP这样的服务器端脚本。