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.

3358 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
908 vues
Portée des variables (variables locales et globales)
La portée des variables en PHP fait référence à la visibilité et à l'accès des variables à différents endroits dans un script PHP. Il existe deux types principaux de portée des variables :...
PHP
2 283 vues
Voir son profil en PHP
Maintenant que vous savez comment voir le profil d'un membre du site nous allons apprendre à concevoir notre profil !
Créer son site de rencontres
2 045 vues
Mixins : Créer des mixins pour réutiliser des blocs de styles
Mixins en SASS : Créer et Utiliser1. Déclaration de mixins :En SASS, les mixins sont déclarés à l'aide du mot-clé @mixin, suivi du nom du mixin et des paramètres entre parenthèses. Les styles...
Sass
1 776 vues
Voir plus de messages (1/2)
Dans cette nouvelle vidéo nous allons ajouter un bouton 'voir plus' qui va nous permettre de voir d'anciens messages. Nous allons commencer par mettre en place le bouton suivi du procédé pour voir...
Créer son site de rencontres
1 380 vues
Gestion des événements : click, submit, keydown, etc.
Gestion des Événements en JavaScriptLa gestion des événements en JavaScript permet d'interagir avec les actions de l'utilisateur sur une page web, telles que les clics de souris, les soumissions...
JS
777 vues
Comparaison avec d'autres langages de programmation
Comparaison de JavaScript avec d'autres langages de programmationJavaScript est un langage de programmation unique avec ses propres caractéristiques et particularités. Comprendre comment il se...
JS
543 vues
Tableaux : création, accès aux éléments, méthodes
Tableaux en JavaScript1. Création de Tableaux :Un tableau en JavaScript est une structure de données permettant de stocker plusieurs valeurs dans une seule variable. Vous pouvez créer un tableau...
JS
10 593 vues
Valider son compte avec un mail
Dans cet article nous allons développer un système qui permettra d'envoyer un mail à votre nouvel utilisateur avec une clé afin de confirmer son compte sur votre site.Pour commencer il faudra...
Créer son site
Publicité
Cette pub permet au site de vivre ...