2011-06-03 7 views
0

これは私の現在のコードです(人が検索するもので何かを交換してください):検索機能の作成方法は?

$result = mysql_query("SELECT * FROM characters WHERE namn = 'Jargon'"); 

while($row = mysql_fetch_array($result)) 
    { 
    echo "<div class='content_left'>"; 
    echo "<div class='blue_text_header'>Information</div>"; 
    echo "<h1>"; 
    echo $row['Namn']; 
    echo "</h1>"; 

    echo "<br /><br /><br /><br /><br /><br /><br />"; 
    echo "<div class='red_text_header'>Obekräftade fall</div>"; 
    echo str_replace(',','<br />', $row['unconfirmed']); 

    echo "</div>"; 
    echo "<div class='content_right'>"; 

    echo "<div class='orange_text_header'>Andra namn</div>"; 
    echo str_replace(',','<br />', $row['Alias']); 

    echo "<br />"; 
    echo "<br /><br /><br /><br />"; 

    echo "<div class='green_text_header'>Bekräftade fall</div>"; 
    echo str_replace(',','<br />', $row['confirmed']); 
    } 

mysql_close($con); 

、あなたが見るように、それが出力にどのような情報を選択し、「​​」であると私は、ユーザーが何をすべきかを決定しますたいです出力されるので、簡単な検索フォームのようになります。人々が「こんにちは」のように書くと、「専門用語」が切り換えられるようになります。

可能であれば、私に検索フォームとpost.phpファイルの両方を作ってもらえますか?

答えて

0

変更し、あなたの最初の行:

if (!isset($_GET['name']) { // Handle a missing name variable in some way 
    // (if you like you can even include the form on this page itself, allowing 
    // the page to submit data back to itself, with this isset() check 
    // determining whether to show the form or process the form) 
    print "You must enter a name"; 
    exit; 
} 
$result = mysql_query("SELECT * FROM characters WHERE namn = '".mysql_real_escape_string($name)."'"); 
...と追加し、このような形式:よう

<form action="post.php" method="get"> 
<label for="name">Name</label><input name="name" id="name"/> 
<input type="submit"/> 
</form> 
0

クエリ文字列を動的に作成することをお勧めします。 mysql_query(sprintf("SELECT * FROM characters WHERE namn = '%s'",mysql_real_escape_string($myInputVar)));を使用してクエリを作成します。ユーザが入力したmysql_escape_stringの入力を適切にエスケープしていることを確認して、SQLインジェクション攻撃まで自分自身を開かないようにしてください!これらの

+0

-1の場合、SQLインジェクションホールを大きく開いたままにしました。 – Johan

+1

+1注入とsprintfについてのあなたの説明のために、ここで厳密には必要ではないが、物事をより良い構造にすることができますが、新しい人には多すぎるかもしれません。 –

+1

ええ、あなたはmysql_real_escape_stringが必要です –

1
$input_clean = mysql_real_escape_string($input); 
$result = mysql_query("SELECT * FROM characters WHERE namn LIKE '%$input_clean%'"); 

$入力は= "hello" を、あなたが取得する場合の結果"こんにちは"、 "こんにちは世界"、 "私はこんにちは"など、しかし、あなたは "こんにちはボブ"のようなものを手に入れません。それをHTMLフォームに関するbrettz9の答えと組み合わせれば、あなた自身が検索プログラムを手に入れます。

+0

私は彼の例がその種の検索を暗示しているとは見ていませんでしたが、 "検索"の可能な意味を予想するための+1は、 –

関連する問題