1

我的 PHP 脚本有问题,我有一个搜索栏,但是当我将它重定向到类而不是运行脚本时,它会显示 PHP 脚本。我是 OOP PHP 编程风格的新手。

我正在尝试在我的数据库上实现一个非常简单的 OOP 搜索查询。但我很困惑为什么它将我重定向到 classes/class.House.inc 而不是执行脚本。我哪里错了?

我曾尝试在网上寻找在线 OOP 教程,但运气不佳 :( 欢迎任何帮助!

索引.php

    <form method="post" action="classes/class.House.inc" name="search" id="searchform">
    <input type="text" name="term" id="searchinput"/>
    <input type="submit" name="submit" id="searchsubmit" value=""/>
    </form>

类/class.House.inc

   <?php 

   class House extends Database {

    public function search (){

            $query = "SELECT * FROM houses WHERE postcode like '%$term%'";

                    $result = $this->mysqli->query($query);

                    $num_result = $result->num_rows;    
                    if($num_result > 0){
                        while($rows =$result->fetch_assoc()){               
                            $this->data[]=$rows;
                            //print_r($rows);
                        header ("Location: ../search.php");
                        }           
                        return $this->data;
                }}}
    ?>

搜索.php

    <table width="500" border="1" cellpadding="5">
    <tr>
      <th width="16" scope="row">id</th>
      <td width="95">bedrooms</td>
      <td width="140">description</td>
      <td width="104">roadname</td>
       <td width="71">postcode</td>
    </tr>
  <?php
        $obj = new House();
        $obj->search();
        foreach($obj->data as $val){
      extract($val);
      ?>
<tr>
<td scope="row"><?php echo $id; ?></td>
<td><?php echo $bedrooms; ?></td>
<td><?php echo $description; ?></td>
<td><?php echo $roadname; ?></td>
<td><?php echo $postcode; ?></td>
    </tr>
      <?php
  }
  ?>
  </table>
4

1 回答 1

0

在 index.php 修复表单

 <form method="post" action="search.php" name="search" id="searchform">

并在 search.php 添加这一行

<?php
        require("classes/class.House.inc");
        $obj = new House();
        $obj->search();
        foreach($obj->data as $val){
        extract($val);
?>

以及为什么脚本显示,因为 apache 配置你需要将 inc 文件作为脚本可以原谅

于 2012-11-04T10:45:14.340 回答