2017-10-11 30 views
0

は簡単な検索を行っていましたが、問題になっています。私の_POSTリクエストでは、インデックスが定義されておらず、変数が未定義です。 私は本当に間違いを見つけることができない、誰かが私を助けることができる?プロジェクトは3つの異なるファイルで行われます。PHPフォームのインデックスが未定義で変数が未定義

HTML:queries.phpページに、私はそれはまだエラーとして披露していても、searchの内容を確認し、doens'tことができますが

<form action="ajax/queries.php" method="POST" class="searchbox sbx-google"> 
    <div role="search" class="sbx-google__wrapper"> 
    <input type="text" name="search" placeholder="Įveskite paieškos terminus" autocomplete="off" required="required" class="sbx-google__input"> 
    <button type="submit" title="Submit your search query." class="sbx-google__submit"> 
     <svg role="img" aria-label="Search"> 
     <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#sbx-icon-search-13"></use> 
     </svg> 
    </button> 
    <button type="reset" title="Clear the search query." class="sbx-google__reset"> 
     <svg role="img" aria-label="Reset"> 
     <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#sbx-icon-clear-3"></use> 
     </svg> 
    </button> 
    </div> 
</form> 
<script type="text/javascript"> 
    document.querySelector('.searchbox [type="reset"]').addEventListener('click', function() { this.parentNode.querySelector('input').focus();}); 
</script> 

PHP編集前、私は、インデックス未定義のエラーが出ます処理スクリプトに供給する:

//Query 
if (!isset($_POST)) { 
    if (!isset($_POST["search"])){ 
    $query = htmlspecialchars($_POST['search']); 
    } 
} 

global $query; 
// 
$query = htmlspecialchars($_POST['search']); 

PHPを編集した後、私は変数未定義エラーが発生します

EDIT: https://pastebin.com/XcKPvWvb queries.php https://pastebin.com/v7cL6Jw5 paieska.php(クエリがそれに供給されません) pastebin dot com slash jh5wLPLRのindex.php(HTML)

答えて

0

、あなたは、フォームの入力フィールドをname="search"を与え、また混乱のHTML

I changed method from GET to POST, also changed the name of form,and the search button

<form action="ajax/queries.php" method="POST" name="search_form" class="searchbox sbx-google"> 
    <div role="search" class="sbx-google__wrapper"> 
    <input type="text" name="search" placeholder="Įveskite paieškos terminus" autocomplete="off" required="required" class="sbx-google__input"> 
    <button type="submit" title="Submit your search query." name="search_button" class="sbx-google__submit"> 
     <svg role="img" aria-label="Search"> 
     <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#sbx-icon-search-13"></use> 
     </svg> 
    </button> 

にほんの少しの間違いを更新しました

をしたボタンのそれぞれのif(isset..にはを使用していました! (ない)オペレータ

更新PHPコード

if (isset($_POST['search_button'])) { 
    if (isset($_POST["search"])){ 
    $query = htmlspecialchars($_POST['search']); 
    } 
} 
+0

うまくいきません、私は情報を取得しません –

+0

あなたのHTMLを私に見せることができます! @ J.Doe –

+0

確かに、https://pastebin.com/jh5wLPLR –

0

PHP:あなたがきた

は、いくつかのより多くのコードを追加しますif文を間違った順序で実行していました。

// Check if the post variable is set: 
if (isset($_POST)) { 
// Check if the key search post variable is set: 
    if (isset($_POST["search"])){ 
    // Define the query: 
    $query = htmlspecialchars($_POST["search"]); 
    } 
} 

HTML::私は入力の名前が割り当てられていることを見ることができない入力の名前としてキーに掲載されますので、必ずこれを実行してください。このような文があれば、あなたのしてみてください入力。

さらにお手伝いできる場合は、私にお知らせください。

+0

まだ未定義の変数のエラーを与えます。 –

+0

これは、コードのHTML部分がうまくいっていないため、入力に名前がないためです。 –

+0

両方のファイルでまだ未定義の変数エラー。 –

0

!を両方とも!isset()で削除します。フォーム上

+0

まだ未定義の変数エラーが出ています。 –

関連する問題