Gestion des demandes

Par Clouder le 29 Aug 2019 (Édité) 0 +99

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.

Cette pub permet au site de vivre ...

Commentaire

Tu veux participer ?
Alors connecte toi ou inscris toi et viens participer !
Cette pub permet au site de vivre ...