2012-02-02 25 views
0

因此,我正在为我的网站制作一种博客系统,并且我有2个表格。一个用于存储用户,他们的密码和图像(URL),另一个用于存储所有博客帖子,包含image_url,作者,日期和内容。 我的HTML的相关部分是:PHP/MYSQL - 从数据库信息检查用户标识

<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

你的问题是什么? – Vyktor 2012-02-02 16:44:16

+0

“哦,是的,我们称之为小鲍比表”http://bobby-tables.com/ – MMM 2012-02-02 17:44:11

+1

看来你已经公开发布你的MySQL用户名和密码了。如果那是你的真实密码,那么(a)你应该使用更好的密码; (b)您应该立即更改密码。只需编辑帖子将其删除将无济于事;人们已经看到了它,并进一步保留在[修订历史记录](http://stackoverflow.com/posts/9116145/revisions)中。 – derobert 2012-02-02 18:13:16

回答

1

你没有一个提交按钮。这是一个HTML问题,而不是PHP/MySQL问题。

<input type="submit" value="Post" /> 
+0

对不起,我认为我的PHP代码有问题。 – Kroltan 2012-02-03 11:17:30

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提供有关如何解决巨大的答案你的形式。

相关问题