PHP代码无法在IE8中运行

时间:2012-06-01 15:26:34

标签: php forms internet-explorer

我有一个莫名其妙的IE8 PHP问题。下面的代码在chrome和FF中运行良好,但不适用于IE8。表单正在提交,如果没有选择搜索词或​​复选框,则会显示错误,如果两个数据库搜索都失败,则会显示No Actors和No Movies,并且都会显示echo。但是,如果其中一个搜索成功,则不会显示任何内容,甚至连演员/电影都没有找到让我感到难过的回声。

以下是代码:

<?php
if($_POST[submitbutton]){
    $search = trim(mysql_real_escape_string($_POST[search]));

    if(!$search){
        echo "Please enter a search term!";
    }else if(!$_POST['checkbox']){
        echo "Please select at least one database to search!";
    }else{
        //search names
        if(in_array("actors", $_POST['checkbox'])){
            $query = mysql_query("SELECT name_id, realname, mainalias FROM names WHERE realname LIKE '%$search%' OR mainalias LIKE '%$search%'");

            if(mysql_num_rows($query)==0){
                echo "<h2>No Actors by that name found!</h2>", "<p>";
            }else{
                echo "<h2>Actors Found:</h2>";
                while ($record = mysql_fetch_assoc($query)){
                    $realname = $record['realname'];
                    $name_id = $record['name_id'];
                    echo "<a href='index.php?page=name&id=$name_id'>", $realname, "</a><hr>";
                }
            }
        }

        //search titles
        if(in_array("movies", $_POST['checkbox'])){
            $query = mysql_query("SELECT title_id, title FROM titles WHERE title LIKE '%$search%'");

            if(mysql_num_rows($query)==0){
                echo "<h2>No Movies by that name found!</h2>", "<p>";
            }else{
                echo "<h2>Movies Found:</h2>";
                while ($record = mysql_fetch_assoc($query)){
                    $title = $record['title'];
                    $title_id = $record['title_id'];
                    echo "<a href='index.php?page=title&amp;id=$title_id'>", $title, "</a><br>";

                echo "<hr>";
                }
            }
        }
    }
} //end post submitbutton
?>

2 个答案:

答案 0 :(得分:0)

应该

$search = trim(mysql_real_escape_string($_POST[search]));

$search = trim(mysql_real_escape_string($_POST['search']));

我不知道这与你的问题有什么关系,但是它突然出现在我身上。

答案 1 :(得分:0)

<?php
if(isset($_POST['submitbutton'], $_POST['search'])){ //use isset for check exists vars
    $search = trim(mysql_real_escape_string($_POST['search'])); // ['POST vars']

    if(!$search){
        echo "Please enter a search term!";
    }else if(!isset($_POST['checkbox'])){
        echo "Please select at least one database to search!";
    }else{
        //search names
        if(in_array("actors", $_POST['checkbox'])){
            $query = mysql_query("SELECT name_id, realname, mainalias FROM names WHERE realname LIKE '%$search%' OR mainalias LIKE '%$search%'");

            if(mysql_num_rows($query)==0){
                echo "<h2>No Actors by that name found!</h2>", "<p>";
            }else{
                echo "<h2>Actors Found:</h2>";
                while ($record = mysql_fetch_assoc($query)){
                    $realname = $record['realname'];
                    $name_id = $record['name_id'];
                    echo "<a href='index.php?page=name&id=$name_id'>", $realname, "</a><hr>";
                }
            }
        }

        //search titles
        if(in_array("movies", $_POST['checkbox'])){
            $query = mysql_query("SELECT title_id, title FROM titles WHERE title LIKE '%$search%'");

            if(mysql_num_rows($query)==0){
                echo "<h2>No Movies by that name found!</h2>", "<p>";
            }else{
                echo "<h2>Movies Found:</h2>";
                while ($record = mysql_fetch_assoc($query)){
                    $title = $record['title'];
                    $title_id = $record['title_id'];
                    echo "<a href='index.php?page=title&amp;id=$title_id'>", $title, "</a><br>";

                echo "<hr>";
                }
            }
        }
    }
} //end post submitbutton
?>