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.

  • Accepter la demande,
  • Refuser la demande.


<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.

3503 vues
Modifié le 21 novembre 2019
Publicité Sitedudev
Cette pub permet au site de vivre ...
Télécharger le code source
Publicité
Cette pub permet au site de vivre ...
Voir d'autres articles
2 636 vues
Envoyer un message sans recharger la page (2/2)
Comme nous avons mis en place notre système en JavaScript / Ajax pour envoyer un message sans recharger notre page en cours nous allons maintenant enregistrer le message + afficher ce dernier dans...
Créer son site de rencontres
3 278 vues
Utilisation de l'élément <html>, <head> et <body>
Utilisation de l'élément <html>, <head> et <body>Dans un fichier HTML, l'élément <html> est la racine de tout le document et enveloppe tout le contenu HTML. À...
HTML
4 702 vues
Ajouter des commentaires
Poster des commentaires sur vos articlesNous allons reprendre la page voir_article.php afin d'ajouter un formulaire qui permettra d'écrire un commentaire pour participer à...
Créer son site
956 vues
Positionnement statique, relatif, absolu et fixe
Positionnement Statique, Relatif, Absolu et Fixe en CSSEn CSS, le positionnement des éléments peut être contrôlé en utilisant différentes propriétés. Les quatre types de positionnement les...
CSS
4 227 vues
Créer un fichier HTML
Créer un Fichier HTMLPour créer un fichier HTML, vous aurez besoin d'un éditeur de texte simple tel que Notepad (sur Windows) ou TextEdit (sur Mac). Suivez ces étapes simples pour créer votre...
HTML
3 362 vues
Supprimer un ami
Nous allons repartir sur notre page voir_profil.php afin de compléter le code ci-dessous.<form method="post">   <?php     if(!isset($relation['id'])){   ?>  ...
Créer son site
984 vues
Qu'est-ce que PHP ?
Introduction à PHPPHP, acronyme de "Hypertext Preprocessor", est un langage de programmation côté serveur très populaire, principalement utilisé pour développer des sites Web dynamiques et...
PHP
1 348 vues
Grid : organiser les éléments dans un système de grille
Grid : Organiser les Éléments dans un Système de GrilleCSS Grid est une méthode de disposition en CSS qui permet de créer des systèmes de grille complexes pour organiser les éléments sur une...
CSS
Publicité
Cette pub permet au site de vivre ...