уничтожение сеанса после показа результатов поиска - PullRequest
0 голосов
/ 08 марта 2019

У меня было свое веб-приложение, и оно есть (форма регистрации, добавление информации, просмотр информации, поиск и все эти варианты на одной странице в меню панели навигации) Я запускаю сеанс для каждого пользователя (при входе в систему), и все в порядке, пока я не ищу что-то, и я не получаю результат поиска, и я перехожу к найденной мной добавленной или просматриваемой информации, означающей, что сеанс разрушен, почему это случилось? Я хочу, чтобы пользователь вошел в систему даже после завершения поиска. Пожалуйста, помогите мне и извинитесь, если я ошибся. это мой код для поисковой части:

<form class="navbar-form navbar-left" action=""  method="post">
                <div class="input-group">
                    <input size=55 type="text"   name="search" class="form-control" placeholder="Search">
                    <span class="input-group-btn">
                        <button type="submit"  class="btn btn-default"><span class="glyphicon glyphicon-search"></span></button>
                    </span>
                </div>
            </form>


    </nav>
</div>

        <?php
if(!isset($_SESSION)){session_start();}
 $conn = mysql_connect("localhost", "root", '');

  mysql_select_db("db103",$conn);
$user=$_SESSION["myname"];
        $fname = '';

if (isset($_POST['search']))
{
    $fname = $_POST['search'];
}
else{}
if(isset($_SESSION["myname"])){
 $sql = "SELECT * FROM telephone_guide where owner='$user' and (firstName like '%$fname%' or secondName like '%$fname%' or phonenumber like '%$fname%' or celnumber like '%$fname%')";


 $result = mysql_query($sql, $conn) ;

//  number of rows fetched
$num = mysql_num_rows($result);

echo("<div class='styl'>");
echo("<table width=300 border=3 >");

echo("<th>ID<th>First Name<th>Second Name<th>tele-Phone Number<th>cel_phone number<th>Date<th>Address");


 while ($arr = mysql_fetch_array($result)) {


echo("<tr><td><a href='update1.php?id1=$arr[0]'>$arr[0]</td><td>$arr[2]</td><td>$arr[3]</td><td>$arr[4]</td><td>$arr[5]</td><td>$arr[6]</td><td>$arr[7]</td></tr>");


 }
echo("</table>");

?>
<br>
<br>
<?php
echo("</div>");} 

    ?>

1 Ответ

0 голосов
/ 08 марта 2019

Вам нужно будет инициализировать сессию, прежде чем что-либо Вы также можете увидеть ob_start () и ob_flush_end () в самом конце вашего скрипта. Это должно подавить ошибки, возникающие из пакетов, уже отправленных из-за интеркалирования html в php

Так что попробуйте

<?php
ob_start();
session_start();
?>




<form class="navbar-form navbar-left" action=""  method="post">
                <div class="input-group">
                    <input size=55 type="text"   name="search" class="form-control" placeholder="Search">
                    <span class="input-group-btn">
                        <button type="submit"  class="btn btn-default"><span class="glyphicon glyphicon-search"></span></button>
                    </span>
                </div>
            </form>


    </nav>
</div>

        <?php

if(isset($_SESSION)){}



 $conn = mysql_connect("localhost", "root", '');

  mysql_select_db("db103",$conn);
$user=$_SESSION["myname"];
        $fname = '';

if (isset($_POST['search']))
{
    $fname = $_POST['search'];
}
else{}
if(isset($_SESSION["myname"])){
 $sql = "SELECT * FROM telephone_guide where owner='$user' and (firstName like '%$fname%' or secondName like '%$fname%' or phonenumber like '%$fname%' or celnumber like '%$fname%')";


 $result = mysql_query($sql, $conn) ;

//  number of rows fetched
$num = mysql_num_rows($result);

echo("<div class='styl'>");
echo("<table width=300 border=3 >");

echo("<th>ID<th>First Name<th>Second Name<th>tele-Phone Number<th>cel_phone number<th>Date<th>Address");


 while ($arr = mysql_fetch_array($result)) {


echo("<tr><td><a href='update1.php?id1=$arr[0]'>$arr[0]</td><td>$arr[2]</td><td>$arr[3]</td><td>$arr[4]</td><td>$arr[5]</td><td>$arr[6]</td><td>$arr[7]</td></tr>");


 }
echo("</table>");

?>
<br>
<br>
<?php
echo("</div>");} 

    ?>
<?php ob_end_flush(); ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...