Ho bisogno di gestire le richieste d'amicizia da parte degli utenti del sito che sto creando.
Ho la tabella "amici" così composta:
Ho creato la pagina profilo in modo che segnasse al suo interno se l'utente che sta visualizzando la pagina web è amico.amico1 //id dell'utente
amico2 //id dell'utente
accettato //0 per "sospesa", 1 per "accettata"
Se è amico stampa "Togli amicizia", se non è amico stampa "Aggiungi Amicizia", se la richiesta è in sospeso stampa "Richiesta in sospeso"
Questa è la parte di codice di aggiunta amicizia:
Codice: Seleziona tutto
if(is_numeric($id) && $richiesta == "add")
{
$aggiungi="INSERT INTO amici (amico1,amico2,accettato) VALUES ('{$_SESSION['id']}','{$id}',0)";
$ris=mysql_query($aggiungi) or die(mysql_error());
?>
<html>
<head>
<script type="text/javascript">
alert("Richiesta d'amicizia inviata!\nIn attesa di accettazione")
</script>
</head>
</html>
<?php
header("refresh: 1; url=profilo.php?id=".$id);
}
Questo è il codice per accettare o rifiutare l'amicizia
Codice: Seleziona tutto
if(is_numeric($id) && $richiesta == "domanda")
{
if(isset($_POST['accetta'])){
mysql_query("UPDATE amici SET accettato=1 WHERE amico1='{$_SESSION['id']}' AND amico2='{$id}' AND accettato=0") or die(mysql_error());
?>
<html>
<head>
<script type="text/javascript">
alert("Richiesta d'amicizia accettata!")
</script>
</head>
<body>
<p align="center"><a href="javascript:window.close()" >Chiudi</a></p>
</body>
</html>
<?php
}
else
{
mysql_query("DELETE FROM amici WHERE amico1='{$_SESSION['id']}' AND amico2='{$id}' and accettato=0") or die(mysql_error());
?>
<html>
<head>
<script type="text/javascript">
alert("Richiesta d'amicizia rifiutata!")
</script>
</head>
<body>
<a href="javascript:window.close()" >Chiudi</a>
</body>
</html>
<?php
}
Codice: Seleziona tutto
function controlla_amicizia($id)
{
controlla_id($id);
$query="SELECT accettato FROM amici WHERE amico1='{$id}' AND amico2='{$_SESSION['id']}'";
$ris=mysql_query($query) or die(mysql_error());
$riga=mysql_fetch_row($ris);
if($riga[0] == 0)
return 0;
elseif($riga[0] == 1)
return 1;
else
return -1;
}
Cioè non funziona come dovrebbe, come mai ?
Nel senso che se vado a visitare la pagina di un utente NON AMICO mi spunta la scritta "Amicizia in sospeso", come se la funzione ritornasse 0, come mai ?
Sapete aiutarmi ?