Net sonuçlar jQuery, PHP, MySQL alanında döndü

0 Cevap php

Bir üye bir müşteri adı bir bölümünü girmek için izin veren bir searchfield var ve bir facebook arama yapacağını aşağı düşmesi gibi sonuçlar aynı şekilde geri döndü. Gerçi bir kaç barikatlar çalıştırıyorum:

  1. Metin kutusu temizlenir VEYA üye ekranda başka bir yerde tıkladığında olduğunda, sonuçlar da temizlenmez döndü ve bir yenileme veya sayfa çıkana kadar sayfada oturmak ediliyor. Bu gerçekten oldukça sinir bozucudur.

JS code:

<script type="text/javascript">
$(document).ready(function() {

    $("#searchbox").keyup(function() {
        var searchbox = $(this).val();
        var dataString = 'searchword=' + searchbox;

        if (searchbox.length < 3 ) {} else {
            $.ajax({
                type: "POST",
                url: "contact_search/search.php",
                data: dataString,
                cache: false,
                success: function(html) {

                    $("#display").html(html).show();
                }
            });
        }
        return false;
    });
});
</script>

HTML

<input type="text" id="searchbox" maxlength="20" />
<div id="display"></div>

Search.PHP script

<?php
    if($_POST)
    {
        $q=$_POST['searchword'];

            try {
                $db = new PDO('mysql:host=localhost;dbname=DB', 'USER', 'PW');
                $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                $db->beginTransaction();

                $stmt = $db->prepare("SELECT FNAME, LNAME FROM table WHERE FNAME LIKE ? or LNAME LIKE ? ORDER BY ID LIMIT 5");


                $stmt->execute(array('%'.$q.'%', '%'.$q.'%'));

                $foundrows = $db->query("SELECT FOUND_ROWS()")->fetchColumn();

                $db->commit();
            }

            catch (PDOException $e)
            {
                echo "There was a system DB error. <br>".$e->getMessage();          
            }               

        if(isset($foundrows) && $foundrows == 0) {
            echo "<div class='display_box' align='left'>
                No matching results found</div>";
        } else {        

                while($row = $stmt->fetch()) {
                    $fname = $row['FNAME'];
                    $lname = $row['LNAME'];

                    $re_fname='<b>'.$q.'</b>';
                    $re_lname='<b>'.$q.'</b>';

                    $final_fname = str_ireplace($q, $re_fname, $fname);
                    $final_lname = str_ireplace($q, $re_lname, $lname);
    ?>
        <a href="123.php" target="mainFrame" style="text-decoration:none; color:#000;">
        <div class="display_box" align="left">

        <?php echo $final_fname; ?>&nbsp;<?php echo $final_lname; ?><br/>
        </div></a>

    <?php     
                }
        }
    }   
?>

Herkes önce bu sorunu vardı? Alan boş ise ya da bir tıklama ekranın HERHANGİ diğer alanda meydana if (sonuç döndürülür dışında) nasıl benim php komut sonuçlarını temizlemek istiyorsunuz?

NOTE:

Benim sayfa 4 'sayfa' çerçevesi (sol, üst, orta, orta) seti ile inşa yüzden bu konu biraz daha karmaşık bir normal bir daha olur. Benim gerçek kaynak kodu (php sayfaları olan) içine düzeltmeyi koyduğunuzda birkaç hatalar "nedeniyle güvensiz içerik engellendi" içine çalıştırın.

Özellikle benim php sayfaları her birinin başlık https bağlantıları dışında oturumları önlemek ve oturumları sağlamak için aşağıdaki kodu vardır:

<?php
session_start();

if( $_SERVER['SERVER_PORT'] == 80) {
    header('Location:https://'.$_SERVER['HTTP_HOST'].$_SERVER["REQUEST_URI"]); 
    die();
} 

?>

0 Cevap