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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
| <?php
session_start(); //démarrage des sessions
//include_once "debug.php";
$pdo = require('db_mysql.php');
include('msg.php'); //déclaration des fonctions pour gérer les messages
include('write_Menu.php'); // déclaration de la fonction pour afficher le menu
write_Menu($pdo);
$_SESSION['message'] = ""; //on initialise le message à rien
if (isset($_GET['name'])) {
$user_name = $_GET['name']; //on récupère le nom passé dans l'URL (donc méthode GET)
}
else {
header('Location: '."http://dev.dvp.fr/copie/user_authent.php"); //redirection
}
if (isset($_POST['submit_form'])) {
$ville_nom = $_POST['ville_nom'];
if((empty($ville_nom)) )
{
setMessage('Vous devez saisir le nom d\'une ville.');
///supprimer le html dans la string php
}
else
{
//recherche de la ville avec LIKE
$smt = $pdo->prepare('SELECT villes_texte FROM villes WHERE ville_nom LIKE :ville_nom');
$smt ->execute(array(':ville_nom' => '%' .$ville_nom. '%'));
$row = $smt->fetch(PDO::FETCH_ASSOC);
if($row) //si $row pas null, y a un résultat
{
$user_name = $_POST['user_name'];
echo $row['villes_texte'];
echo "<br/><br/>";
echo "Recherches déjà effectuées par ".$_POST['user_name']." :<br/><br/>";
$sql=<<<sql
select V.ville_id,V.ville_nom,US.user_login
FROM search AS S
INNER JOIN villes AS V ON V.ville_id=S.ville_id
INNER JOIN user AS US ON S.user_id=US.user_id
where US.user_login=:user_login
sql;
$smt = $pdo->prepare($sql);
$smt ->execute(array(':user_login' => $_POST['user_name']));
?>
<table>
<?php
//on affiche tous les résultats
// Parcours des résultats en mode PDO::FETCH_ASSOC
while ($u = $smt->fetch(PDO::FETCH_ASSOC)) {
?>
<tr><td><a href="http://dev.dvp.fr/copie/villes.php?id=<?=$u['ville_id'] ?>"><?=$u['ville_nom'] ?></a></td></ti>
<?php
}
?>
</table><br/>
<?php
$sql = <<<sql
insert into search (user_id, ville_id)
values ( (select user_id from user where user_login=:user_login)
, (select ville_id from villes where ville_nom LIKE :ville_nom)
)
sql;
$smt = $pdo->prepare($sql);
$res = $smt ->execute(array(':user_login' => $user_name,':ville_nom' => "%".$ville_nom."%"));
if ($res) {
$_SESSION['user_name'] = $user_name;
setMessage('insert dans search effectué.');
}
else {
setMessage('Echec.');
}
}
else
{
setMessage('Aucun résultat.');
}
}
echo getMessage(); //affichage du message (s'il est vide, on n'affiche rien)
}
else {
if (isset($user_name)) {
?>
<p>bonjour <?php echo $user_name; ?>, <br><br> faites votre recherche.</p>
<?php } ?>
<hr/>
<form method="POST" action="">
<input type="search" name="ville_nom" />
<input type="hidden" name="user_name" value="<?=$user_name ?>"/> <!-- pour transmettre le bon name -->
<input type="submit" name ="submit_form" value="Rechercher une ville" />
</form>
<?php
}
?> |