0

我有一个包含两种形式的网页。然后我有一个单独的 .php 文件,其中包含我希望在每个提交时发生的代码。

第一个表单是搜索表单,该操作在以下 php 文件上执行。

<?php
include newCustomer.php;
connect('final');//connect to DB

$query = $_POST['searchDB']; 
    $query = htmlspecialchars($query);
    $query = mysql_real_escape_string($query); 

     $data = mysql_query("SELECT * FROM customer WHERE First_Name LIKE '$query'") ;//query the DB with search field in colleumn selected//

     //$data = mysql_query("SELECT * FROM customer INNER JOIN address ON customer.ID = address.Customer_ID LEFT OUTER JOIN sites ON address.ID = sites.address_ID WHERE upper(customer.$field) LIKE'%$query%'") ;

    if($data === FALSE) {
    $error = 'Query error:'.mysql_error();
    echo $error;
    }
    else
    {

    $test = array();
    $colNames = array();
    while($results = mysql_fetch_assoc($data)){// puts data from database into array, loops until no more

    $test[] = $results;

        }
         $anymatches=mysql_num_rows($data); //checks if the querys returned any results
        if ($anymatches != 0) {
    $colNames = array_keys(reset($test));

    }

            if ($anymatches == 0) 
                    { 
                        echo "Sorry, but we can not find an entry to match your query<br><br>"; 
                    } 

    } 
header("location: newCustomer.php");
echo test;
die();
?>

我想在 newCustomer 页面上使用数组中包含的数据。但我无法让它出现,我尝试在 search.php 文件中的随机位置回显“测试”,但它不会出现在 newCustomer 页面上。

如何在两者之间传递信息?

4

3 回答 3

0

我假设你和你newCustomer.php的在同一个文件夹中search.php,所以你缺少引号''只是围绕它,更改为

include 'newCustomer.php';
于 2013-06-06T14:49:46.207 回答
0

phpheader函数将用户重定向到一个新页面,它在客户端(在他们的浏览器中)执行此操作,而不是服务器端。

因此,当您这样做时header("location: newCustomer.php");,不会发生在服务器端,而只会发生在客户端。这意味着不能将任何信息从上面的代码(表单操作页面)传递到 newCustomer.php。

要解决这个问题,您需要将数据存储在服务器上的某个位置,然后从 newCustomer.php 中检索它。很难确切地说在你的具体情况下你应该做什么,因为我不知道你的代码,但为此你可以使用sessioncookies、 database 等。

于 2013-06-06T15:02:49.577 回答
0

您可以将数组设置为会话变量,然后您可以在下一页加载时访问该变量。

例如 $_SESSION['myarray'] = $myarray

然后当下一页加载加载会话 session_start(); 然后你可以通过 $_SESSION['myarray']

或者,您可以将数组转换为字符串(用特殊字符分隔项目,例如,)并将其传递到页面的标题,然后在下一页获取该字符串并使用一个名为 explode() 的函数来获取该字符串并将其变成一个数组。

于 2013-06-06T15:08:36.250 回答