php - After sending a search query page become blank -
i working on little search engine in php & mysql. yesterday, restyled (i did changes @ html part, no php code touched) result page, after unable search term.
new code:
<?php header( 'cache-control: no-store, no-cache, must-revalidate' ); header( 'cache-control: post-check=0, pre-check=0', false ); header( 'pragma: no-cache' ); require_once("lucene.php"); ?> <?php $row1 = []; $row2 = []; $search_word = false; if(isset($_post["submit"])) { //edit credentials $con = mysqli_connect("localhost", "root", "pass", "db"); if(mysqli_connect_error()) echo "connection fail"; else { $search_word = true; $input = $_post["s_input"]; // tokenize input $tokens = tokenize($input); //compute weight of every token $token_weight = compute_weight($tokens, $con); $sql1 = "select *, match(description) against('". $input ."') score web match(description) against('".$input."') order score desc"; $sql2 = "select *, match(description) against('". $input ."') score web match(description) against('".$input."') order score desc"; $result1 = mysqli_query($con, $sql1); $result2 = mysqli_query($con, $sql2); $sql3 = "select * web"; $numdocs = (mysqli_num_rows(mysqli_query($con, $sql3))); $maxoverlap = sizeof($tokens); $ctr2 = 0; while($ctr2 != $maxoverlap){ //compute inverse_document_frequency of term $sql3 = "select *, match(description) against('".$tokens[$ctr2]."') web match(description) against('".$tokens[$ctr2]."')"; $docfreq = (mysqli_num_rows(mysqli_query($con, $sql3))); $idf[$tokens[$ctr2]] = idf($numdocs, $docfreq); $ctr2++; } $ctr = 0; while($r1 = mysqli_fetch_array($result1)){ $row1[$ctr]['id'] = $r1['id']; $row1[$ctr]['title'] = $r1['title']; $row1[$ctr]['description'] = highlight_words($r1['description'], $tokens); $row1[$ctr]['credit'] = $r1['credit']; $row1[$ctr]['url'] = $r1['url']; $document = strtolower($row1[$ctr]['description']); $ctr2 = 0; $summation = 0; while ($ctr2 != sizeof($tokens)) { //compute term_frequency(term in document) $term_frequency = tf($tokens[$ctr2], $document); //get idf of term $inverse_document_frequency = $idf[$tokens[$ctr2]]; //compute norm $norm = norm($document); $ctr2++; $summation += $term_frequency*$inverse_document_frequency*$inverse_document_frequency*$norm; } $querynorm = querynorm($idf, $tokens); $coord = coord($tokens, $document, $token_weight); $lucene_score = $summation * $coord * $querynorm; $row1[$ctr]['score'] = $lucene_score; $ctr++; } $row1 = orderby($row1); /* desc score = number of word ocurrences * weight + match_against weight + 2(if exact words occur) */ $ctr = 0; while($r2 = mysqli_fetch_array($result2)){ $row2[$ctr]['id'] = $r2['id']; $row2[$ctr]['title'] = $r2['title']; $row2[$ctr]['description'] = highlight_words($r2['description'], $tokens); $row2[$ctr]['credit'] = $r2['credit']; $row2[$ctr]['url'] = $r2['url']; $desc = strtolower($row2[$ctr]['description']); $ctr2 = 0; $total_weight = 0; $flag = 0; while ($ctr2 != sizeof($tokens)) { $weight = substr_count($desc, $tokens[$ctr2]) * $token_weight[$tokens[$ctr2]]; if ($weight == 0) $flag++; $total_weight += $weight; $ctr2++; } //occurence of exact word * weight * 2 $exact_word_weight = substr_count($desc, $input) * $total_weight * 5; $total_weight += $flag; $row2[$ctr]['score'] = $r2['score'] + $total_weight + $exact_word_weight; $ctr++; } $row2 = orderby($row2); } mysqli_close($con); } ?> <!doctype> <html> <head> <title>search engine</title> <link rel="stylesheet" type="text/css" href="css/reset.css"> <link rel="stylesheet" type="text/css" href="css/search.css"> <!-- jquery --> <script src="js/jquery.js"></script> <!-- solve simplex javascript --> <script src="js/validation.js"></script> </head> <body> <div id="wrapper"> <nav> <form name="search_form" id="search_form" validate method="post"> <div class="left"> <a href="#"><img src="images/logo.png" attr="google logo"></a> <input type="text" class="textbox" id="obj_function" name="s_input"> <button type="submit" id="search_button" name="submit"> </form> </div> <div class="right"> <a href="#" id="box"><img src="images/button.png"></a> <a href="#" id="sign_in">sign in</a> </div> </nav> <div class="nav2"> <ul> <li class="active">web</li> <li><a href="">images</a> </li> <li><a href="">videos</a></li> <li><a href="">more <span><img src="images/dropdown.png"></span></a></li> <li><a href="">search tools</a></li> </ul> </div> <div class="search_results"> <ol> <li> <?php $ctr = 0; while ($ctr != count($row2)){ echo "<h1><a href=''#'> ".$row2[$ctr]['title']."</a></h1>"; echo "<div class='grey_green_links'>"; echo "<p class='green'>".$row2[$ctr]['url']."<span><img src='images/search_result_link_dropdown.png'></span></p>"; echo "<tr class = 'active'><td>"."<b>description: </b>".($row2[$ctr]['description']."</td><td></td></tr>"); echo "<tr><td><br></br></td><td></td></tr>"; $ctr++; } ?> </li> </ol> <div class="page_nav"> <img src="images/pagination_logo.png" alt="pagination page logo"> <ol> <li><a href="#">1</a></li> <li><a href="#">2</a></li> <li><a href="#">3</a></li> <li><a href="#">4</a></li> <li><a href="#">5</a></li> <li><a href="#">6</a></li> <li><a href="#">7</a></li> <li><a href="#">8</a></li> <li><a href="#">9</a></li> <li id="next"><a href="#">10</a></li> <li><a href="#">next</a></li> </ol> </div> <footer> <div class="top"> <p> <img src="images/your_location_dot.png"> <span class="light_grey">mars, tx - internet address -</span> use precise lcoation - learn more </p> </div> <div class="bottom"> <ul> <li>help</li> <li>send feedback</li> <li>privacy</li> <li>terms</li> </ul> </div> </footer> </div> </body> </html> i thinks bug somewhere in section of code, can't figure out should be. can @ it, , maybe lend me hand ?
<form name="search_form" id="search_form" validate method="post"> <div class="left"> <a href="#"><img src="images/logo.png" attr="google logo"></a> <input type="text" class="textbox" id="obj_function" name="s_input"> <button type="submit" id="search_button" name="submit"> </form>
i rewrited little bit , it's working, help.
Comments
Post a Comment