我编写的这段代码由于未知原因无法正常工作。 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!";
}
}
?>
在我通过单击按钮设置变量 $_POST['title']
和 $_POST['post']
之前一切正常。当我这样做时,我只会得到一个空白页。
最佳答案
如果您提供的代码是post.php,则问题在于:
当您按下提交按钮时,post.php 仅接收$_POST['title']
和$_POST ['post']
来自表单。
使 $_POST['username']
和 $_POST['password']
为空。因此,为 if 语句返回 FALSE,并生成空白页。
有很多方法可以解决这个问题,具体取决于您的实现情况。
您可以从表单中传递用户名和密码值。您可以根据需要使用隐藏的输入类型或文本。
<input type="hidden" name="username"><input type="hidden" name="password">
在
isset()
中使用$_POST['title']
和$_POST['post']
而不是$_POST['username']
和$_POST['password']
还有很多..
关于PHP 代码不工作,没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12033444/