2017-02-11 3 views
0

コンテナと何らかの形で定義されていない変数 "sresult"があります。なぜ、私は変数を別のものに渡すことが可能だと思いましたDiv-コンテナ。PHP/PDO "Notice:Undefined variable"しかし同じファイルにあります

これは私の拳本部-コンテナです:

<div id = "header"> 
    <h1>User-Search</h1> 
    <?php if(!empty($user)): ?> 
    <?php 

    echo'<form action="search.php" method="POST"> 
    <input type="text" placeholder="User Search" name="search_user"> 
    <input type="submit"> 
    </form>'; 

    if(!empty ($_POST['search_user'])): 

    $search_user = "SELECT username FROM users WHERE username like :search_user"; 
    $edited_search_user = "%".$_POST['search_user']."%"; 
    $suser = $conn->prepare($search_user); 
    $suser->bindParam(':search_user', $edited_search_user); 
    $suser->execute(); 
    $sresult = $suser->fetchAll(); 

    ?> 
     <?php endif; ?> 
     <?php endif; ?> 
    </div> 

そして、これは私の第二のいずれかです。

<div id = "textarea"> 
    <?php 
    if(count($sresult)> 0) 
    { 
     foreach ($sresult as $srow) 
     { 
      echo'<table>'; 
      echo'<th>Username : </th>'; 
      echo'<td>'.$srow["username"].'</td'; 
      echo'</table>'; 
     }  

    } 
     else { 
      echo 'No User found !'; 
      } 

    ?> 

    </div> 

私は1本​​部・コンテナで一緒にすべてを入れてみましたが、そこでもそれはdidnの働いた。

+0

未定義の変数は何ですか?残りのエラーテキストは想像できると思いますか? –

+0

'$ sPost [' search_user ']) '! –

答えて

0

変数$sresultだけあなたがフォームを送信するとき(なぜなら!empty ($_POST['search_user'])の)定義されているので、$sresultはそれで何かを行う前に存在しているか調べなければなりません。これはempty()で行うことができます:それはちょうど、変数の要素のサイズ/数をチェックし、それが存在するかどうかを確認しないよう

<div id = "textarea"> 
<?php 
if(!empty($sresult) > 0) 
{ 
    foreach ($sresult as $srow) 
    { 
     echo'<table>'; 
     echo'<th>Username : </th>'; 
     echo'<td>'.$srow["username"].'</td'; 
     echo'</table>'; 
    }  

} 
else { 
    echo 'No User found !'; 
}?> 
</div> 

機能countは動作しません。そのため、emptyを使用してください。

関連する問題