Maintenant que notre base de données est créée, nous allons nous attaquer à la partie visuelle de notre système d'amis.


Pour commencer nous allons créer notre formulaire pour faire une demande d'ami à un utilisateur.


<form method="post">
  <input type="submit" name="demander" value="Ajouter en ami"/>
</form>


Nous allons donc faire le traitement dans la partie PHP pour créer une demande dans notre base de données.


if(isset($_POST['demander'])){
  if(!isset($relation['id'])){
    $DB->insert("INSERT INTO relation (id_demandeur, id_receveur, statut) VALUES (?, ?, ?)",
      array($_SESSION['id'], $id, 1));    
  }            
  header('Location: /voir-profil/' . $id);
  exit;
}


  • Le demandeur est la l'utilisateur qui fait la demande soit $_SESSION['id'],
  • Le receveur est l'utilisateur qui est visité soit $id,
  • Pour dire que la demande a été envoyée on met le statut à 1.



Maintenant que nous savons faire une demande nous allons pouvoir indiquer à l'utilisateur qui a fait la demande que sa demande est en attente.


Nous allons commencer par rechercher s'il y a une relation entre l'utilisateur demandeur et l'utilisateur receveur et vis versa.


$relation = $DB->query("SELECT *
	FROM relation 
	WHERE (id_demandeur, id_receveur) = (:id1, :id2) OR (id_demandeur, id_receveur) = (:id2, :id1)",
	array('id1' => $_SESSION['id'], 'id2' => $id));

$relation = $relation->fetch();


Ensuite nous allons modifier le code HTML afin que l'utilisateur demandeur et receveur voit ce qu'ils doivent voir s'il y a une demande en cours.


<form method="post">
<?php
  if(!isset($relation['id'])){
?>
  <input type="submit" name="demander" value="Ajouter en ami"/>
<?php
  }elseif($relation['statut'] == 1){
?>
  <span>En attente</span>
<?php     
  }
?>
</form>



Dans le prochain article nous allons voir comment l'utilisateur receveur va pouvoir valider ou refuser la demande faite par l'utilisateur demandeur.

3583 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
4 142 vues
Les paragraphes <p> et les sauts de ligne <br>
Les paragraphes <p> et les sauts de ligne <br>Les balises <p> et <br> sont utilisées pour contrôler la mise en forme du texte dans une page HTML. Elles permettent de...
HTML
995 vues
Opérateurs de comparaison (==, !=, <, >, <=, >=)
Les opérateurs de comparaison en PHP sont utilisés pour comparer des valeurs et renvoyer un résultat basé sur la comparaison. Voici les principaux opérateurs de comparaison en PHP :1. Égalité...
PHP
2 221 vues
Installer SASS sur votre système
Installation de SASS sur votre système1. Installer Node.js :SASS nécessite Node.js pour fonctionner. Si vous ne l'avez pas déjà installé, téléchargez et installez Node.js à partir du site...
Sass
5 258 vues
Les outils pour développer
Avant de vous lancer dans le développement il reste encore quelques prérequis qui sont les logiciels que vous allez utiliser afin de concevoir votre site !Ce qui vous manque actuellement c'est...
Créer son site
897 vues
Sélecteurs CSS : identifier les éléments HTML auxquels appliquer des styles
Sélecteurs CSS : Identifier les éléments HTML auxquels appliquer des stylesLes sélecteurs CSS sont des motifs qui permettent de cibler et de sélectionner des éléments HTML spécifiques afin de...
CSS
2 353 vues
Nesting : Organiser le code CSS en utilisant le nesting pour des sélecteurs imbriqués
Nesting en SASS : Organiser le code CSS avec des sélecteurs imbriqués1. Utilisation du nesting :En SASS, vous pouvez organiser votre code CSS en utilisant le nesting pour des sélecteurs...
Sass
4 183 vues
Créer un article
Créer un articleNous allons créer une nouvelle page que l'on nommera creer_article.php. Cette page permettra de créer un article qui sera visible sur le blog.Nous allons modifier notre...
Créer son site
427 vues
Vue d'ensemble de frameworks populaires comme React, Angular, et Vue.js
Vue d'ensemble des Frameworks Populaires : React, Angular et Vue.jsLes frameworks JavaScript tels que React, Angular et Vue.js sont largement utilisés pour le développement d'applications web...
JS
Publicité
Cette pub permet au site de vivre ...