我的网站上有一个搜索栏,用于调用在数据库中进行查询的脚本。
查询完成后,我想将结果返回到第一页,但是:
我不想经历一个会话,因为用户可能打开了几个标签,我不想通过序列化在url中传递结果,因为搜索栏中的结果真的不太好。< / p>
您是否知道如何在不使用ajax的情况下将数组从一个页面传递到另一个页面?
我发送一个值:search.php
<form action="../core/data_search.php" method="post" id="research_form">
<input type="text" id="search" name="search" />
<input type="submit" value="Rechercher" id="research" />
</form>
我的研究脚本是:
<?php
session_start();
require_once("conf.php");
$id = $_SESSION["id"];
if ($_POST && !empty($_POST)) {
$data = $_POST['search'];
//Recherche d'une adresse mail
if ( preg_match ( " /^[^\W][a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)*\@[a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)*\.[a-zA-Z]{2,4}$/ " , $data) ){
$column = "WHERE `email` = '$data' AND `add_by_user` = '$id'";
//Recherche d'un code postal complet (ou la recherche strictement égal à la colonne)
}elseif (preg_match(" /^(?:(?:(?:0[1-9]|[1-8]\d|9[0-5])(?:\d{3})?)|97[1-8]|98[4-9]|2[abAB])$/ ", $data)) {
$column = "WHERE `zip_code` LIKE '$data%' AND `add_by_user` = '$id'";
}elseif (preg_match(" /^([a-zA-Z]+[ '-]?[a-zA-Z]+){1,30}$/ ", $data)) {
$column = "WHERE `first_name` = '$data' OR `last_name` = '$data' AND `add_by_user` = '$id'";
//Recherche par date de fin de formation
}elseif (preg_match(" /^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/ ", $data)) {
$column = "WHERE `end_formation_date` = '$data' AND `add_by_user` = '$id' ";
}else{
header("Location : ../search.php?return=error");
exit();
}
$data = $bdd->query("SELECT * FROM customers $column ");
$result = $data->fetchAll(PDO::FETCH_ASSOC);
// Here i replace the end of script for use Ajax
if($result){
echo json_encode($result);
}
}
我需要在search.php中有这种类型的结果
<form action="../core/data_search.php" method="post" id="research_form">
<input type="text" id="search" name="search" />
<input type="submit" value="Rechercher" id="research" />
</form>
<section>
<p>firstname : <?=$firstname?> <!--received to my queries script--></p>
<p>lastname : <?=$lastname?> <!--received to my queries script--></p>
<p>age : <?=$age?> <!--received to my queries script--></p>
</section>
答案 0 :(得分:-1)
查询完成后,结果已存储在变量中。所以你可以在页面上显示。
如果要将其传输到另一个页面,可以将序列化数组存储到HTML隐藏表单元素中。 这要求用户提交表单以将数组传递到下一页。