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.

3785 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
710 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
16 859 vues
Modifier un profil PHP
Après avoir créé notre page profil, nous allons créer une nouvelle page afin de modifier certaines données de l'utilisateur !La modification d'un profil se fait également par un...
Créer son site
892 vues
Instructions conditionnelles (if, else, elseif)
Les instructions conditionnelles en PHP permettent d'exécuter des blocs de code en fonction de certaines conditions. Les trois principales structures conditionnelles en PHP sont if, else et elseif....
PHP
1 398 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
758 vues
Déclarations CSS : comment les combiner pour styliser les éléments
Déclarations CSS : Comment les combiner pour styliser les élémentsLes déclarations CSS sont des instructions individuelles qui spécifient le style des éléments HTML sur une page Web. Elles...
CSS
5 308 vues
Comprendre ce qu'est SASS et pourquoi il est utilisé
Qu'est-ce que SASS ?SASS, qui signifie Syntactically Awesome Style Sheets, est un préprocesseur CSS. Cela signifie qu'il s'agit d'un outil qui permet d'écrire du code CSS de manière plus efficace...
Sass
427 vues
Éditer un cours
Les tableaux associatifs en PHP sont des structures de données qui permettent de stocker des paires clé-valeur, où chaque valeur est associée à une clé. Contrairement aux tableaux indexés, les...
PHP
1 646 vues
Afficher plus de conversation
Dans cette avant-dernière vidéo sur la création d’une messagerie interne nous allons personnaliser rapidement la page pour afficher les conversations et nous allons également corriger /...
Créer son site de rencontres
Publicité
Cette pub permet au site de vivre ...