Alertbox在搜索数据之前显示

时间:2013-09-15 15:34:02

标签: javascript php

在下面的代码中我正在从mysql中搜索数据。在此代码中没有搜索数据警告框正在显示代码执行时。请告诉我是否可以在警告框中放置表格以及如何? / p>

<?php  
$search = (isset($_POST['search']) ? $_POST['search'] : null);

  mysql_connect("localhost", "root", "") OR die (mysql_error());
  mysql_select_db ("slseatapp") or die(mysql_error());

  $query = "SELECT * FROM `coursemaster` WHERE `course_code` LIKE '%$search%' or `course_name` like '%$search%'";

  $result = mysql_query($query) or die (mysql_error());

   $msg ;
     if($result) 
     {    
        while($row=mysql_fetch_row($result))   
       {      
            $msg=$msg ."ID=".$row[0].",COURSE CODE=".$row[1].",COURSE NAME=".$row[2];

       }   
        echo"<script>alert('$msg');</script>";  
     }
   else
     { 
       echo "No result";  
     }
 ?>

<form action="look.php" method="post">  
 <center> SEARCH:<input type="text" name="search" placeholder="SEARCH"><br></center>  
 <center> <input type="submit" name="hhhh" class="btn-success btn"></center>
</form>   

1 个答案:

答案 0 :(得分:1)

  执行代码时,在没有搜索数据警告框的代码中显示

是的,您正在分配$search,但从不检查它是否为空。对于if ($search !== '') { ... }mysql_connect块末尾的所有代码,您需要?>,这样您才能在有搜索内容时进行搜索。

  

工作正常

不是真的。您在查询创建中使用SQL注入(使用mysqli或PDO参数化语句而不是尝试自己创建用户输入的查询),并且在回显包含脚本块的脚本块时使用JavaScript注入(跨站点脚本)未转义的变量内容(考虑创建结果数组并对其进行JSON编码以将其传递给JavaScript JSON.parse())。这在公共互联网上部署是安全的。

  

请告诉我是否可以在警报框中放置一张桌子

你做不到。 alert()具有最小的显示功能,通常被认为对用户不利,因为作为模式对话框,它会挂起浏览器中的所有其他内容,直到被解雇。 alert()对于调试很有用,但是为了向用户展示数据,您应该使用包含所需内容的页内<div>