2012-02-02 15 views
0

私は自分のサイトのブログシステムを作っています.2つのテーブルがあります。 1つはユーザー、パスワードと画像(URL)を格納するためのもの、image_url、作成者、日付、およびコンテンツとともに、すべてのブログ投稿を格納するものです。私のHTMLの 関連する部分は次のとおりです。PHP/MYSQL - DB情報からユーザIDを確認する

<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

+0

「ああ、私たちが彼と呼ぶ小さなボビーテーブル」http://bobby-tables.com/ – MMM

+1

MySQLのユーザー名とパスワードを公開しているようです。それが実際のパスワードであれば、(a)より良いパスワードを使用する必要があります。 (b)すぐにパスワードを変更する必要があります。それを削除するために投稿を編集するだけでは役に立ちません。人々はすでにそれを見ており、さらにそれは[改訂履歴](http://stackoverflow.com/posts/9116145/revisions)に残っています。 – derobert

答えて

1

は、あなたが送信ボタンを持っていません。これはHTMLの質問であり、PHP/MySQLの質問ではありません。

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

申し訳ありませんが、私はPHPコードに何か問題があったと考えていました。 – Kroltan

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を解決する方法についての素晴らしい答えを提供あなたのフォーム。

関連する問題