Bonjour,
J'ai un moteur de recherche. Lorsque le client choisit ses options via un formulaire et est recuperer afin de creer une requete. J'affiche 4 resultats par page ce qui fait que je rapelle ma requete pour construire les autres pages. J'ai choisi de mettre ma requete dans une session php . Voici le code :
Je voudrais votre avis, autre idée ? Est ce securisée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 session_start(); if(!$_SESSION['rech']) { header("Location:recherche.php?mess=2"); } include ("logbdd.php"); include ("fonctionquote.php"); $dep=''; $ext= " AND "; if(isset($_GET['lim']) && !is_numeric($_GET['lim'])) header("Location:recherche.php"); if(!isset($_GET['lim'])){ $lim = 0; } else { $lim= $_GET['lim']; } $nbre= 4; if(isset($_SESSION["requete"])){ $reqbis = "SELECT * FROM annonce WHERE (".$_SESSION["requete"].") AND activ='1' GROUP by idannonce LIMIT ".$lim.", ".$nbre.""; $result = mysql_query($reqbis) or die(mysql_error()); } else { $req = "SELECT * FROM annonce WHERE ("; $filters = array(); $filters[]= "typeoffre='".$_POST['tyre']."'"; if(isset($_POST['depvilla']) && $_POST['depvilla']=='2') { $dep='23'; } if(isset($_POST['depvilla']) && $_POST['depvilla']=='1') { $dep='78'; } if($_POST['typelog']) $filters[] = "typelog='".quote_smart($_POST['typelog'])."'"; if($_POST['nbrpersonnes'] != 0) $filters[] = "nbrpersonnes >= '".quote_smart($_POST['nbrpersonnes'])."'"; if(isset($_POST['piscine'])) $filters[] = "piscine='".quote_smart($_POST['piscine'])."'"; if($dep!='') $filters[] = "depvilla='".quote_smart($dep)."'"; if(isset($_POST['ville']) && strlen($_POST['ville']) > 2 && $_POST['ville'] != 'Choisir') $filters[] = "ville='".quote_smart($_POST['ville'])."'"; if($_POST['cham'] !=0) $filters[] = "cham >= '".quote_smart($_POST['cham'])."'"; $requ= implode(" ".$ext." ", $filters); $req.= implode(" ".$ext." ", $filters); $req.=") AND activ='1'"; $total= $req; $resulttotal = mysql_query($total) or die(mysql_error()); $nbtotal= mysql_num_rows($resulttotal); $req.= " GROUP by idannonce LIMIT 0, 4"; $_SESSION["requete"] = $requ; $_SESSION["nbretotal"]= $nbtotal; $_SESSION['tyre'] = $_POST['tyre']; $result = mysql_query($req) or die(mysql_error()); }
Merci
Partager