所以,我正在为我的网站制作博客系统,我有2张桌子。一个用于存储用户,他们的密码和图像(URL),另一个用于存储所有博客帖子,包括image_url,作者,日期和内容。 我的HTML的相关部分是:
<form action="../scripts/send.php" method="post"><input type="text" name="author" placeholder="Your name" style="width:30%;"/><input type="password" name="pass" placeholder="Password" style="width:30%;"/><br /><input type="text" name="title" placeholder="Post Title" style="width:60%;" /><br /><textarea name="content" rows="20" style="width:60%;"></textarea><br /><button >Post</button></form>
我的PHP代码(send.php)是:
<?php
mysql_connect("localhost","kroltan","eclipsepdt123") or die("Can't connect to DB");
mysql_select_db("kroltan_main") or die("Can't select to DB");
$result = mysql_query("SELECT * FROM `users`") or die("Can't fetch data");
if(mysql_num_rows($result) > 0){
while($row = mysql_fetch_assoc($result)){
if ($row['name'] == strtolower($_POST['author'])){
if ($row['pass'] == strtolower($_POST['pass'])){
$name = $_POST['name'];
$comm = $_POST['comment'];
$result = mysql_query("INSERT INTO blog_posts (img_url, author, title, content) VALUES(".$row['img'].", ".$_POST['author'].", ".$_POST['title'].", ".$_POST['content'].")") or die("Can't send data");
header("Location: /?/=Talk");
}
}
}
}
?>
当我尝试在网站上创建新帖子时,它不起作用。我甚至没有被重定向到页面
答案 0 :(得分:1)
您没有提交按钮。这是一个HTML问题,而不是PHP / MySQL问题。
<input type="submit" value="Post" />
答案 1 :(得分:1)
我很抱歉,但是mysql的使用很糟糕:)
首先,让我们从修复查询开始:
$error = '';
if( isset( $_POST['user']) && isset( $_POST['pass'])){
$user = mysql_real_escape_string( $_POST['user']);
$pass = mysql_real_escape_string( $_POST['pass']);
$q = mysql_query( "SELECT * FROM users WHERE user = '$user' AND pass '$pass'");
if( !$q){
$error = 'Query error: ' . mysql_error();
} else {
if( mysql_num_rows( $q)){
// Redirect
} else {
$error = 'Wrong user name or password';
}
}
} else {
$error = 'Missing post data.';
}
die( 'Error: ' . $error . "\n");
MattyB就如何修复表单提供了很好的答案。
答案 2 :(得分:0)
您不需要按钮,您想要输入提交类型:
<INPUT TYPE=submit VALUE="Post"/>