-
Notifications
You must be signed in to change notification settings - Fork 0
/
recherche.php
73 lines (65 loc) · 3.28 KB
/
recherche.php
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
<?php session_start(); ?>
<!DOCTYPE html>
<html>
<head>
<title>Recherche - MySoNet.Online</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="header"><?php if (isset($_SESSION['pseudo'])) {echo $_SESSION['pseudo'].' - ';} ?>MySoNet.Online</div>
<div class="container">
<? php
// Vérifier si l'utilisateur est connecté
if(!isset($_SESSION['pseudo']) || !isset($_SESSION['ip'])) {
echo "<h3>Vous devez être connecté pour rechercher de nouveaux amis. <a href='rechercher.php'>Retour à la page de connexion</a>";
echo "<script>setTimeout(function(){window.location.href = 'rechercher.php';}, 5000);</script></h3></div></body></html>";
exit();
}
// Vérifier le formulaire
$pseudo = $_POST['pseudo'];
if (!isset($pseudo)) {
echo "<h3>Aucun pseudo fourni. <a href='rechercher.php'>Retour à la page de connexion</a>";
echo "<script>setTimeout(function(){window.location.href = 'rechercher.php';}, 5000);</script></h3></div></body></html>";
exit();
}
if (!preg_match('/^[a-zA-Z0-9_-]{2,50}$/', $pseudo)) {
die("<h3>Le pseudo contient des caractères non autorisés ou n'a pas la longueur requise. Exemple : MonPseudo_1234<br>Vous allez être redirigé...<script>setTimeout(function(){window.location.href = 'rechercher.php';}, 5000);</script></h3></div></body></html>");
}
include 'db.php';
// Requête pour rechercher des utilisateurs
$stmt = $pdo->prepare("SELECT username FROM mysonetusers WHERE username LIKE :pseudo");
$pseudoLike = "%" . $pseudo . "%";
$stmt->bindParam(':pseudo', $pseudoLike, PDO::PARAM_STR);
$stmt->execute();
// Afficher les résultats
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
// Récupérer le pseudo de l'ami potentiel
$ami_pseudo = htmlspecialchars($row['username'], ENT_QUOTES, 'UTF-8');
// Récupérer les ID des utilisateurs en fonction de leurs pseudos
$stmt2 = $pdo->prepare("SELECT id FROM mysonetusers WHERE username = ?");
$stmt2->execute([$_SESSION['pseudo']]);
$demandeur_id = $stmt2->fetchColumn();
$stmt2->execute([$ami_pseudo]);
$demande_id = $stmt2->fetchColumn();
// Vérifier si une demande d'ami existe
$stmt2 = $pdo->prepare("SELECT statut FROM demandes_ami WHERE id_demandeur = ? AND id_demande = ?");
$stmt2->execute([$demandeur_id, $demande_id]);
$statut_demande = $stmt2->fetchColumn();
$buttonText = "Demander en ami";
$buttonDisabled = "";
if ($statut_demande) {
$buttonText = $statut_demande;
$buttonDisabled = "disabled";
}
echo '<div class="friend-request">
<h3 class="friend-name">' . $ami_pseudo . '</h3>
<form class="friend-form" method="post" action="ajouterami.php">
<input type="hidden" name="ami_pseudo" value="' . $ami_pseudo . '">
<button class="friend-button" type="submit" ' . $buttonDisabled . '>' . $buttonText . '</button>
</form></div>';
}
if ($stmt->rowCount() == 0) {
echo "<h3>Aucun utilisateur trouvé avec le pseudo '$pseudo'.</h3>";
}
echo '</div><div class="content"><a href="rechercher.php">Retour à la page de recherche</a></div></body></html>';
?>