Bonjour,
Voila je suis actuellement en train de creer pour mon site web un gestionnaire d'amis.Je m'explique :
-lorsque je clique sur gerer la liste d'amis j'apercois plusieurs onglet:
-Accueil
-Ajouter un amis
-Mes amis
-Demande en attente
le souci qui se pose c'est lors de la liste d'amis et les demande.En effet il m'affiche un nombre a la place du pseudo.De plus lorsque je met ajouter un amis,il trouve bien la personne et insert correctement dans la table cependant j'ai décider de faire deux insertion pour que l'ajout fonctionne dans les deux sens:
X amis avec Y et Y amis avec X.Cependant il met crée deux insertion mais une completement fausse. par exemple il me rentre:
ami from ami to ami_confirm ami-date
1 7 0 time
0 1 1 time
voici le code add_amis.php :
et see_amis:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 <fieldset> <legend>Ajouter un ami</legend> <p><label for="pseudo">Pseudo :</label> <input type="text" name="pseudo" id="pseudo" /></p> <p class="centrer"><center><input type="submit" value="Ajouter en ami" /></p> <?php } else{ $pseudo = htmlspecialchars($_POST['pseudo']); //On vérifie que le pseudo renvoit bien quelque chose :o (1) $requete = mysql_query("SELECT COUNT(*) AS nbr,id FROM users WHERE username = '".$pseudo."'") or die(mysql_error()); $data = mysql_fetch_assoc($requete); $pseudo_exist = $data['nbr']; $i = 0; if(!$pseudo_exist) { echo '<div class="erreur">Erreur :<br />ce membre n\'existe pas.</div> <p>Cliquez <a href="/add_amis">ici</a> pour réessayer.</p>'; $i++; } // On vérifie que le membre n'est pas déjà un ami (2) $deja_ami = @mysql_result(mysql_query("SELECT COUNT(*) AS nbr FROM amis WHERE ami_from = '".$_SESSION['userid']."' AND ami_to = '".$data['id']."' OR ami_to = '".$_SESSION['userid']."' AND ami_from = '".$data['id']."'")); if ($deja_ami != 0) { echo '<div class="erreur">Erreur :<br />ce membre fait déjà parti de vos amis ou a déjà proposé son amitié.</div> <p>Cliquez <a href="/add_amis">ici</a> pour réessayer.</p>'; $i++; } // On vérifie que le membre ne s'ajoute pas lui même (3) if ($data['id'] == $_SESSION['userid']) { echo '<div class="erreur">Erreur :<br />vous ne pouvez pas vous ajouter vous même.</div> <p>Cliquez <a href="/add_amis">ici</a> pour réessayer.</p>'; $i++; } // Si tout colle, on lance la requête if ($i == 0) { mysql_query("INSERT INTO amis (ami_from, ami_to, ami_confirm, ami_date) VALUES('".$_SESSION['userid']."', '".$data['id']."', 0,'".time()."')") or die(mysql_error()); mysql_query("INSERT INTO amis (ami_from, ami_to, ami_confirm, ami_date) VALUES('".$_data['id']."', '".$_SESSION['userid']."', 1,'".time()."')") or die(mysql_error()); echo '<div class="info"><strong>'.$pseudo.'</strong> a bien été ajouté à vos amis, il faut toutefois qu\'il donne son accord.</div>'; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78 <ul id="onglets"> <li><a href="index.php"> Accueil </a></li> <li><a href="add_amis.php">Ajouter un Ami</a></li></form> <li><a href="see_amis.php">Mes Amis</a></li></form> <li><a href="attente.php"> Demandes en attente </a></li> </ul> <h1>Liste d'amis</h1> <?php $action = htmlspecialchars($_GET['action']); switch($action) { case "delete": $membre = intval($_GET['m']); $ok = htmlspecialchars($_GET['ok']); if (empty($ok)) { echo '<p class="centrer">Etes-vous certain de vouloir supprimer cet ami ?<br /> <a href="/see_amis.php?action=delete&ok=ok&m='.$membre.'">oui</a> - <a href="/see_amis.php">non</a></p>'; } else { mysql_query('DELETE FROM amis WHERE ami_from = '.$membre.' AND ami_to = '.$_SESSION['userid'].' OR ami_to = '.$membre.' AND ami_from = '.$_SESSION['userid'].'') or die(mysql_error()); echo '<div class="info">Ce membre a était supprimé de votre liste d\'ami.</div>'; } break; } $requete = mysql_query("SELECT id FROM users WHERE username = '".$pseudo."' GROUP BY username") or die(mysql_error()); $data = mysql_fetch_assoc($requete); $requete_amis = mysql_query("SELECT ami_from, ami_date, username FROM amis LEFT JOIN users ON id = ami_from WHERE ami_to = '".$_SESSION['userid']."' AND ami_confirm = '1' OR ami_from = '".$_SESSION['userid']."' AND ami_confirm = '1' ORDER BY ami_date DESC") or die(mysql_error()); if (mysql_num_rows($requete_amis) == 0) { echo '<table width="880" border="1" cellpadding="0" style="border-collapse: collapse" bordercolor="blue"> <tr> <td bgcolor="#CCCCFF" width=5% align="center">Vous n\'avez aucun amis.</td></tr></table>'; } else { ?> <table border="1" cellspacing="0"> <tr> <th>Pseudo</th> <th>Envoyer un MP</th> <th>Supprimer</th> </tr> <tbody> <?php while ($donnees_amis = mysql_fetch_assoc($requete_amis)) { ?> <table width="880" border="1" cellpadding="0" style="border-collapse: collapse" bordercolor="blue"> <tr> <td bgcolor="#CCCCFF" width=5% align="center"><a href="profile.php?id=<?php echo $data['id']; ?>"><?php echo htmlentities($donnees_amis['ami_from'], ENT_QUOTES, 'UTF-8'); ?></a></td> <td bgcolor="#CCCCFF" width=5% align="center"><a href="/Creer_message.php"> Envoyer un MP </a></td> <td bgcolor="#CCCCFF" width=5% align="center"><a href="see_amis.php?action=delete&m=<?php echo $donnees_amis['ami_from'];?>"><img src="images/supprimer.gif" alt="Supprimer" /></a></td> </tr> <?php } ?> </tbody></table> <?php } ?>
Partager