2017-12-04 9 views
-1

私は学校プロジェクトのデータベース駆動サイトを作っています。 (それ以降はシャットダウンされる私的なウェブサイト なので、私は著作権の規則に固執しませんでした)。データベース内の検索が機能していません| PhP HTML5 CSS mySQL

1:私は 'verbinding.php' という名前のファイルを経由して自分のデータベースを接続した

<?php 
$verbinding = mysqli_connect('localhost','*********','**********','**********'); 
?> 

2(私はオランダ人だけど、それは英語で 'connection.php' になります):私はしましたデータベースとフォームをコーディングしたファイルを作成しました。

<!DOCTYPE html> 
<html lang="nl"> 
    <head> 
    <meta charset="UTF-8"> 
    <link rel="STYLESHEET" href="dieren.css" type="text/css" /> 
     <title> PO dierentuin </title> 
    </head> 
    <?php include 'verbinding.php' 
    ?> 

    <body> 
<div id="zoekvenster"> 
    <p>Zoek door onze database als een varkentje met een heel goed neusje</p> 
<form method="post" action="zoeken.php" id="zoekbox"> 
     Zoekwoord <input type="text" name="zoekwoord"><br> 
     <label><input type="radio" name="categorie" value="animalnumber" id=Cat_1>Diernummer</label><br> 
     <label><input type="radio" name="categorie" value="species" id=Cat_2>Diersoort</label><br> 
     <label><input type="radio" name="categorie" value="stay" id=Cat_3>Verblijf</label><br> 
     <label><input type="radio" name="categorie" value="gender" id=Cat_4>Geslacht</label><br> 
     <label><input type="radio" name="categorie" value="place of birth" id=Cat_5>Nationaliteit</label><br> 
     <input type="submit" name="submit" value="Zoeken"> 
</form> 
</div> 
<h2>All animals we have</h2> 
<div id="inleiding"> 
<?php 
    $sqlquery = "SELECT * FROM Dierentuin"; 
    $resultaat = mysqli_query($verbinding, $sqlquery); 
    $queryResultaat = mysqli_num_rows($resultaat); 
echo" 
    <table border='1'> 
<tr> 
<th>Animalnumber</th> 
<th>Species</th> 
<th>Race</th> 
<th>Date of birth</th> 
<th>Voeding</th> 
<th>Stay</th> 
<th>Mass</th> 
<th>Gender</th> 
<th>Place of birth</th> 
</tr>"; 

    if ($queryResultaat > 0) { 
     while ($row = mysqli_fetch_assoc($resultaat)) { 
      echo "<tr>"; 
      echo "<td>".$row['Diernr']."</td>"; 
      echo "<td>".$row['Soort']."</td>"; 
      echo "<td>".$row['Ras']."</td>"; 
      echo "<td>".$row['Leeftijd']."</td>"; 
      echo "<td>".$row['Voeding']."</td>"; 
      echo "<td>".$row['Verblijf']."</td>"; 
      echo "<td>".$row['Gewicht_in_kg']."</td>"; 
      echo "<td>".$row['M/V']."</td>"; 
      echo "<td>".$row['Nationaliteit']."</td>"; 
      echo "</tr>"; 
     } 
     echo "</table>"; 
    } else { 
     echo "Something went wrong"; 
    } 
?> 
<br> 
<br> 
<br> 
</div> 
     <footer> 
     <p>This assingment was produced by Tieme and Marijn. 5VWO Marne College.</p> 
     </footer> 

    </body> 
</html> 

3:私もzoekenが検索のためにオランダであるため、ウィッヒは「search.php」として参照される「zoeken.php」ファイルを持っています。

<?php 
include('verbinding.php'); 
$zoekwoord = $_POST["zoekwoord"]; 
$categorie = $_POST["categorie"]; 
echo $categorie; 
echo $zoekwoord; 
$query = ("SELECT * FROM dierentuin WHERE $categorie is '$zoekwoord'"); 
$resultaat = mysqli_query($verbinding, $query); 
    if ($resultaat > 0) { 
     while ($row = mysqli_fetch_assoc($resultaat)) { 
      echo ".'$row'['animalnumber']."; 
      echo "Het werkt iniedergeval"; 
     } 
    } else { 
     echo "Something went wrong"; 
    } 

2番目のファイルのフォームを見ると、1つのテキストボックスといくつかのラジオがあることがわかります。たとえば、出産の場所で「コンゴ」を記入して、出身地のラジオボックスを確認すると、コンゴで生まれた宇宙人のみが表示されます。

私は私のウェブサイト上でこれを行う場合は、関係なく、私はそれを埋めるものを第三ファイルの「他」に行かないし、それは何かが間違っていた」と言っ

誰もが私がやっていることを知っているん違う?

ご協力いただきありがとうございます。

MarijnとTieme。 (オランダ)が

+0

あなたのコードはまた、クエリが$ categorieが//代わりに使用「です」があるエラーを//持ち、SQLインジェクション攻撃に対して脆弱である= – user1844933

答えて

0

( "$のcategorieは '$のzoekwoord' ですdierentuin SELECT * FROM"); 変数を変数と比較しています。

それはdierentuinからその

SELECT *のようにする必要がありますWHERE DBfieldname = "$の変数名" とDBfieldname2 = "$のvariable_name2");

+0

あなたはこれで何を意味するのですか?あなたが検索するフィールド名を選択するので、DBfieldnameは$カテゴリです。 – TiemevanE

+0

dbfileldsnameは、$なしで検索して使用するデータベースのフィールド名を意味します。 – pankaj

+0

あなたは私を得ることができない、または私はあなたを取得しません。私のコードを変更する方法を説明できますか?これは私のフォームが[link](http://oi65.tinypic.com/2ywg2eq.jpg)のようなもののリンクです。 – TiemevanE

関連する問題