Ce site utilise des cookies pour améliorer uniquement votre expérience utilisateur.
Vous pouvez lire à tout moment comment nous utilisons les cookies sur le site.
Nous allons maintenant nous attaquer à la gestion des demandes d'amis. Pour cela vous allez créer une nouvelle page que nous allons appeler demandes-amis.php.
Dans cette nouvelle page, dans un premier temps nous allons faire une requête SQL afin d'afficher toutes les demandes d'un receveur.
$mes_demandes = $DB->query("SELECT r.*, u.nom, u.prenom
FROM relation r
LEFT JOIN utilisateur u ON u.id = r.id_demandeur
WHERE r.id_receveur = ? AND r.statut = ?",
array($_SESSION['id'], 1));
$mes_demandes = $mes_demandes->fetchAll();
Dans cette requête nous allons chercher les informations telles que le nom et prénom des demandeurs.
Du côté du HTML nous allons afficher le résultat obtenu avec un formulaire contenant 2 boutons.
<table>
<tr>
<th>Nom prénom</th>
<th></th>
<th></th>
</tr>
<?php
foreach($mes_demandes as $md){
?>
<tr>
<form method="post">
<td>
<?= $md['nom'] . ' ' . $md['prenom']?>
<input type="hidden" name="id_demande" value="<?= $md['id']?>"/>
</td>
<td>
<input type="submit" name="accepter" value="Accepter"/>
</td>
<td>
<input type="submit" name="refuser" value="Refuser"/>
</td>
</form>
</tr>
<?php
}
?>
</table>
Pour récupérer l'identifiant du demandeur il faut rajouter un input
de type hidden
afin de ne pas voir cette information.
Une fois cela fait nous allons d'abord nous occuper du traitement PHP lorsque le receveur accepte la demande.
if(isset($_POST['accepter'])){
$id_demande = (int) $id_demande;
$verifier_demande = $DB->query("SELECT *
FROM relation
WHERE id = ?",
array($id_demande));
$verifier_demande = $verifier_demande->fetch();
if(isset($verifier_demande['id'])){
$DB->insert('UPDATE relation SET statut = ? WHERE id = ?',
array(2, $verifier_demande['id']));
header('Location: /demandes-amis');
exit;
}
}
Dans le code ci-dessus nous allons vérifier qu'il y a toujours la demande dans la table relation. Si elle existe toujours alors nous allons mettre à jour le statut de cette demande en 2 afin de confirmer la demande.
Pour le traitement PHP si la demande est refusée alors on supprime la demande dans la table relation. Il n'y a pas besoin de vérifier si la demande existe encore.
if(isset($_POST['refuser'])){
$id_demande = (int) $id_demande;
$DB->insert('DELETE FROM relation WHERE id = ?',
array($id_demande));
header('Location: /demandes-amis');
exit;
}
Maintenant que le receveur peut valider ou refuser une demande nous allons ajouter ces informations lors de la demande d'ami par un demandeur.