私は私のコードで小さな問題を抱えていると私はそれが何であるかを把握することはできません。..検索エンジンのスクリプト - 未定義の変数
私はPHPのサンプル検索エンジンのツールを作成しようとしている、すべてが良い作品私は、データベースから、いくつかの記事を検索するtryiedするまで...私はそれを行うとき、それは...私は$ headerおよび$バイオが宣言されていない
<?php
include('connection.php');
$query =mysqli_real_escape_string($dbc, $_POST['query']);
$q = mysqli_query($dbc, "SELECT id FROM search WHERE header LIKE '%$query%' OR bio LIKE '%$query%'");
$num = mysqli_num_rows($q);
echo $num;
if(!$query){
echo "Enter a query...";
} else {
if($num != 0)
{
echo "<hr>";
while ($fetch = mysqli_fetch_assoc($q)){
$id = $fetch['id'];
$header = $fetch['header'];
$bio = $fetch['bio'];
echo "<strong>" . $header . "</strong>";
echo "<blockquote><p>" . $bio . "</p></blockquote>";
echo "<hr>";
}
} else {
echo "No results where found .. ";
}
}
?>
とフォームを言う
<div style = "width:300px; margin:auto;">
<h1> Add Search Criteria</h1>
<p> Type a header and bio below to add to search engine</p>
<p>
<input id="header" name = "header" type="text" placeholder="header" style="width:100%;">
</p>
<p>
<textarea id="bio" name="bio" cols="40" rows="7" placeholder="Write a bio.."></textarea>
</p>
<p>
<center>
<button id="submit">Submit Search</button>
</center>
</p>
<div id="add_error" style="text-align:center"></div>
<hr>
<h1>Search The Database</h1>
<p>Please type something to search to database</p>
<p>
<input name = "query" id="query" type="text" placeholder="search">
<button id="search">Search</button>
</p>
<div id="search_error">
</div>
</div>
これが出力するもの
注意:未定義のインデックス:Cのヘッダー:ライン上の\ wamp64 \ WWW \名前がMyWebSite \検索\のsearch.php 25 コールスタック
{メイン}タイムメモリ機能場所
1 0.0021 242472( )... \ search.php:0
(! )注意:不定インデックス:Cでのバイオ:\ wamp64 \ WWW \名前がMyWebSiteライン上の検索の\ search.php 26 コールスタック
時間メモリー機能場所
1 0.0021 242472 \ {メイン}().. 。\ search.php:0
選択したクエリにヘッダーとバイオカラムを追加します。 –
あなたのクエリーに、 'SELECT id、header、bio FROM search WHERE header LIKE '%$ query%' OR bio LIKE '%$ query%''のような 'header'と' bio'の両方を追加します。しかし、あなたは本当に攻撃を防ぐために準備されたクエリを使うべきです。 – Sablefoste