PHP代码不工作,没有错误

PHP代码不工作,没有错误,php,Php,我写的这段代码由于未知原因无法工作。PHP不会报告任何错误或警告 <html> <head> <title>PHP Blog</title> </head> <body> <?php require 'login.php'; $db_server = mysql_connect($db_hostname, $db_username, $db_password); if (!$db_server) die("Unabl

我写的这段代码由于未知原因无法工作。PHP不会报告任何错误或警告

<html>
<head>
<title>PHP Blog</title>
</head>
<body>
<?php
require 'login.php';
$db_server = mysql_connect($db_hostname, $db_username, $db_password);

if (!$db_server) die("Unable to connect to MySQL: " . mysql_error());

mysql_select_db($db_database, $db_server)
    or die("Unable to select database: " . mysql_error());
if(isset($_POST['username']) and isset($_POST['password']))
{
    $pass = "test";
    $user = "test";
        if($_POST['username'] == "test" and $_POST['password'] == "test")
        {
            echo <<<_END
<form action="post.php" method="post"><pre>
Title: <input type="text" name="title">
Post:  <textarea rows="5" cols="64" name="post">
</textarea>
       <input type="submit" value="Submit">
</pre></form>
_END;
                if(isset($_POST['title']) and isset($_POST['post']))
                {
                    $title = $_POST['title'];
                    $post = $_POST['post'];
                    $query = "INSERT INTO blog(title,post) VALUES('$title', '$post')";
                    mysql_query($query);
                    echo 'Succesfully posted..';
                    echo '<a href="blog.php">Click here</a>';
                }

        }
        else
        {
            echo "Wrong Password!";
        }
}
?>

PHP博客

因为你的表格应该是:

if(isset($_POST['username']) and isset($_POST['password']))

或者,您可以在会话中保存登录信息并使用它们,而无需让用户重新输入其用户和密码。

如果您提供的代码是post.php,这就是问题所在:

当您按下提交按钮时,post.php仅从表单接收
$\u post['title']
$\u post['post']

使
$\u POST['username']
$\u POST['password']
为空/空。因此,为if语句返回FALSE,并生成一个空白页

根据您的实现,有许多方法可以解决此问题

  • 您可以从表单中传递用户名和密码值。如果愿意,可以使用“输入类型隐藏”或“文本”

    
    
  • isset()中使用
    $\u POST['title']
    $\u POST['POST']
    而不是
    $\u POST['username']
    $\u POST['password']


  • 还有更多..

    您必须在body标记之后立即回显登录表单


    否则,您将始终得到一个空白页面,因为您的用户名和密码将始终为空。

    Gee。我希望没有人想在
    title
    post
    中添加一个撇号。login.php文件中有什么内容?@Tom您还应该退出$\u POST vars,否则插入查询最终将失败。我不会公开使用此代码。我知道这是不安全的。我的帖子的标题是“罗伯特”;下拉表博客--我希望我能看到谁是被否决的选民,我只是想知道我做错了什么……我做了,你的表格,应该在正文标签后面打印,因为IF指令;为了让他/你的代码正常工作,在输入IF条件之前必须设置密码和用户名。我有一个else for IF(isset($\u POST['username'])和isset($\u POST['password']))@Tom不,你有一个else for
    IF($\u POST['username']==“test”和$\u POST['password']==“test”)
    @IonutFlaviusPogacian。。。表单应该打印在OP想要的地方,为了让代码生效,我解释了他应该做什么。我的意思是这太聪明了,为什么我不发布同样的东西
    if(isset($_POST['username']) and isset($_POST['password']))
    
    <input type="hidden" name="username"><input type="hidden" name="password">