【发布时间】:2014-01-01 19:31:44
【问题描述】:
我编写的这段代码由于未知原因无法正常工作。 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'] 之前,一切正常。当我这样做时,我只会得到一个空白页。
【问题讨论】:
-
天啊。我希望没有人愿意在
title或post中加上撇号。 xkcd.com/327 -
你在 login.php 文件中有什么?
-
@Tom 您还应该转义您的 $_POST 变量,否则 INSERT 查询最终会失败。
-
我没有在公共场合使用此代码。我知道这是不安全的。
-
我的帖子标题是罗伯特'; DROP TABLE 博客;--
标签: php