2012-01-25 17 views
0

私はここで私の運を試しています。私は現在、人々がメッセージを送信し、その人のプロフィールページから友人としてユーザーを追加できるWebサイトを開発中です。私は基本的な<button></button>節を使用して[友達として追加]というボタンを持っています。これを行うための最善の回避策は何でしょうか?ボタンをSQLステートメントを実行させる

たとえば、[Add this friend]ボタンをクリックすると、SQLの文章がINSERT into friends (uid, fid, isapproved) VALUES ('1', '2', '1')になります。

私は現在、PHPとMySQLだけで作業しています。どんな提案も大歓迎ではありません。みんなありがとう。

+1

? – RedFilter

+0

私は何とかフェルナンドが以下に答えたものと同じことを心に持っていました。私はちょうど他のどの方法がそこから利用可能であるかを知りたいと思っていました。 –

答えて

1

AJAXを使用していない場合は、このようなもので十分です。

addfriend.tpl.phpファイル

<form method="post" action="action_addfriend.php"> 
<input type="hidden" value="<?=$userid;?>" name="userid" /> 
<input type="submit" value="Add as Friend" /> 
</form> 

あなたは一部にクリアされていないaction_addfriend.phpファイル

<?php 

if ($_POST) 
{ 
    $fid = htmlspecialchars(stripslashes($_POST['userid'])); 
    $fid = mysql_real_escape_string($fid); 
    include("your_connectdb_file.php"); 
    mysql_query("INSERT into friends (uid, fid, isapproved) VALUES ('1', '$fid', '1')"); 
    mysql_free_result(); 
} 
?> 
+0

私はこの方法に同意しますが、私は上記のクエリを使用しないことをお勧めします。この問合せは、SQLインジェクションに対して広く開いています。 $ fid変数にユーザが指定したデータを保護するためのプリペアドステートメントとともに、PDOまたはmysqliを使用してください。 – Ray

+0

実稼働サーバーでプログラミングしている場合は、すべての権限、検証、およびサニタイズが必要です。ところで、あなたは - > mysql_real_escape_string()を使用する必要があります – B4NZ41

+0

@ray:SQLをブレーキする可能性のあるものはありません – dynamic

3
  • ボタンコールjavascriptが機能します。 (多分jqueryのを使用してAJAX、)
  • Javascript機能の記事のphpファイル 'addfriend' へ
  • PHPファイルがmysqlを実行し、JSON
  • Javascript機能がcallbackを呼び出し、あなたがしている場合を示し、値
+0

ありがとう!私は現在AJAXを使用していませんが、将来あなたの答えが多く役立つので、それを予知しています。 –

0

を返す返しますPHPをJavaScript言語を使用せずにスクリプト言語としてのみ使用する場合は、そのボタンを特定のuser_idの追加友人要求を処理するページに直接移動させる必要があります。

同じページで作業する場合は、javascriptとAjaxを使用して、リクエストを静かに処理し、成功した場合は応答を返すphpファイルをバックグラウンドで呼び出す必要があります。

0

友人の追加を担当するURLにPOSTおよび/またはGETデータを含むAJAXリクエストを送信します。たとえば、mysupersocialnetwork.org/friend/add/ このページリクエストはPHPを起動し、PHPはスクリプトを実行します。

関連する問題