2017-02-11 5 views
0

Контейнеры и есть переменная «sresult», которая как-то не определена. Но я не понимаю, почему, я думал, что можно передать переменную в другую Div-Container.PHP/PDO «Уведомление: неопределенная переменная», но она находится в том же файле

Это мой кулак Div-контейнер:

<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> 

я пытался поставить все вместе в одном Div-контейнер, но даже там Ждут» т работал.

+0

Какая неопределенная переменная? Как вы думаете, мы можем представить остальную часть текста ошибки? –

+0

'$ sresult', если определено только когда'! Empty ($ _POST ['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.