2012-02-02 67 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提供有關如何解決巨大的答案你的形式。

相關問題