Interazione solo tra utenti stile facebook

searedone

Utente Attivo
11 Giu 2010
508
0
0
ciao Borgo,
ho fatto il motore di ricerca che mi trova gli utenti registrati ..... :)

PHP:
<?php 
include 'dbc.php';
page_protect();


?>
<html>
<head>
<title>My Account</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<link href="styles.css" rel="stylesheet" type="text/css">
</head>

<body>
<table width="100%" border="0" cellspacing="0" cellpadding="5" class="main">
  <tr> 
    <td colspan="3">&nbsp;</td>
  </tr>
  <tr> 
    <td width="160" valign="top">
<?php 
/*********************** MYACCOUNT MENU ****************************
This code shows my account menu only to logged in users. 
Copy this code till END and place it in a new html or php where
you want to show myaccount options. This is only visible to logged in users
*******************************************************************/
if (isset($_SESSION['user_id'])) {?>
<div class="myaccount">
  <p><strong>My Account</strong></p>
  <a href="myaccount.php">My Account</a><br>
  <a href="mysettings.php">Settings</a><br>
    <a href="logout.php">Logout </a>
	
  <p>You can add more links here for users</p></div>
<?php }
if (checkAdmin()) {
/*******************************END**************************/
?>
      <p> <a href="admin.php">Admin CP </a></p>
	  <?php } ?>
      <p>&nbsp;</p>
      <p>&nbsp;</p>
      <p>&nbsp;</p></td>
    <td width="732" valign="top"><p>&nbsp;</p>
      <h3 class="titlehdr">Welcome <?php echo $_SESSION['user_name'];?></h3>  
	  <?php	
      if (isset($_GET['msg'])) {
	  echo "<div class=\"error\">$_GET[msg]</div>";
	  }
	  	  
	  ?>
      <p>This is the my account page</p>

	 
	<?php

$db_host = "localhost";
$db_user = "root";
$db_password = "root";
$db_name = "yes";

//connetto il database

$db = mysql_connect($db_host, $db_user, $db_password) or die ('Errore durante la connessione');
mysql_select_db($db_name, $db) or die ('Errore durante la selezione del db');

// recuperiamo il valore ricerca inviato con get

$ricerca = $_GET['ricerca'];

// vediamo se � stato inviato, e quindi uguale a ok

if ( $ricerca == 'ok' ) {

// recuperiamo ora cerca inviato con post

$cerca = $_POST['cerca'];

// vediamo se � stato compilato il campo

if ( $cerca == TRUE && $cerca != "" ) {

// ora vediamo se supera i tre caratteri

if ( strlen($cerca) >= 3 ) {

// ora depuriamo la stringa da cercare sul database 

$cerca =  mysql_escape_string(stripslashes($cerca)); 

// ora possiamo effettuare la nostra ricerca sul db, state attenti alla sintassi

$query = "SELECT * FROM users  WHERE id LIKE '%$cerca%'  OR full_name LIKE '%$cerca%' "; 

$risultato = mysql_query($query) or die (mysql_error()); 

$risposta = mysql_query($query) or die ("Utilizza termini pi� specifici!");

$dentro_la_query= mysql_fetch_assoc($risposta);

if ( $dentro_la_query == TRUE ) {

while($row= mysql_fetch_assoc($risultato)) { 
$id = $row['id'];
$user_id = $row['user_id'];
$full_name = $row['full_name'];
 
 





// stampiamo i nostri dati 


 echo" <table width='100%'>";
  echo" <tr>";
   echo" <p class='three'><td colspan='3'> <a href=\"http://localhost:8888/yes/richiestedamicizia.php?id=$id\"/>$full_name</a></td>";
 echo" </tr>";
 echo" <tr>";
  echo"  <td width='14%' bgcolor='#f4f9fd'> <a href=\"http://localhost:8888//rannunci.php?id=\"/><img src='' name='nome_file'  alt'' width='200' height='154'  /></a></td>";
  echo"  <td width='45%' bgcolor='#f4f9fd'><table width='100%'>";
   echo"   <tr>";
    echo"    <td></td>";
    echo"  </tr>";
    echo"  <tr>";
      echo"  <td></td>";
echo"</tr>";
 echo"     <tr>";
    echo"    <td>&nbsp;</td>";
    echo"  </tr>";
   echo" </table></td>";
  echo"  <td width='31%' bgcolor='#f4f9fd'><br /><br /><br /></p></td>";
  echo"</tr>";
echo"</table>";


} 

} else {

echo "Nessun temine alla ricerca trovato";

}


} else {

echo "Devi inserire almeno 3 caratteri";

}

} else {

echo "Non hai compilato il modulo ricerca";

}

}

?>
	 
	 
      </td>
    <td width="196" valign="top">&nbsp;</td>
  </tr>
  <tr> 
    <td colspan="3">&nbsp;</td>
  </tr>
</table>

</body>
</html>

Io vorrei mettere un bottone richiedi l'amicizia ho direttamente nell'annuncio che mi si presenta ( mi piacerebbe ) oppure richiamandolo nell'id com eho provato nella pagina richiestedamicizia.php

Ho provato in tutti i modi ma non ci riesco.... :((((

Mentre il motore funziona perfettamente

Se quando puoi mi aiuti grazie milleeeeee:O)
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
nell'annuncio che mi si presenta
da quello che ho capito l'annuncio lo legge solo l'utente che l'ha scritto e possono vederlo solo gli utenti a cui è stata concessa l'amicizia, quindi a che ti serve un pulsanteli?
poi (ma questa è pura opinione personale) terrei separato gli annunci dalle modalita di richiedere/concedere amicizia.
l'utente vede l'annuncio/i suoi e dei suoi amici, poi se vuole condere o richiedere (secondo me) è meglio che si sposti in un'altra pagina, dovrebbe semplificarti gli script (più corti) e non incasinarti la pagina annunci con orpelli.
secondo me dovresti fare una pagina in cui l'utente vede:
1. i vari utenti (esclusi i già amici e quelli che hanno richiesto e se stesso) a ed a questi poter richedere eventualmente l'amicizia
2. gli utenti già amici confermati (con possibilità di annullamento)
3. gli utenti che hanno chiesto a cui confermare o meno

dimenticavo se trovo un minuto ti butto giù le idee come al solito
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
Grazie borgo...

In parte quello che tu mi scrivi l'ho pensato e fatto...

Se noti ho fatto un motore di ricerca per i nomi dei colleghi...

infatti nel listato annunci che ti si presenta sulla pagina cerca.php io vorrei li che su ogni annuncio utente ci sia la foto ( ok risolto ) il nome e cognome (ok risolto )
e il tasto chiedi l'amicizia .... quindi questa è la pagina delle richieste.

Poi vorrei fare nel caso chiedo il tuo aiuto una pagina dove da li posso vedere i miei amici e il tasto per eventualmente eliminarli.

Per il resto ai capito perfettamente, la mia idea è quella di fare la tipica bacheca di facebook dove uno posta i propri annunci e li possono vederli solo chi l'ha postato o chi è amico...

E poi eventualmente creare una pagina profilo dove vede lui e i suoi amici cio che ha scritto la sua foto , e se vuole altre cavolate......
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ecco secondo me la parte in cui pinco chiede amicizia a pallino potrebbe essere così
PHP:
<?php
session_start();
if(!isset($_SESSION['id_utente'])){
	//se non è loggato lo fai tornare alla pag di log o dove vuoi con header location
}else{
	//l'utente è loggato
	//dati di connessione al db
	$id_utente=$_SESSION['id_utente'];//mi serivirà in seguito
	//p.s. faccio sempre questo tipo assegnazione in modo da facilitarmi poi lo scrivere le select
	//dalla tabella user ricavo il nome cognome e l'id degli altri utenti (penso chi i valori siano quelli) escluso quello loggato
	//che sta guardando questa pagina
	$query_1="SELECT id, full_name FROM user WHERE id != $id_utente ORDER BY full_name";
	$ris_1=mysql_query($query_1);
	//potrei mettere il controllo degli utenti se ci sono o no, ma credo che ormai tu sappia farlo
	echo "utenti a cui puoi chiedere amicizia (clicca sul nome):<br>";
	while($riga_1=mysql_fetch_array($ris_1)){
		//estraggo i due campi e inizio le verifiche sulla tabella relationship
		$id_amico=$riga_1['id'];
		$nome_amico=$riga_1['full_name'];
		//cerco nella relationship in modo da non mostrare chi ha chiesto già amicizia e l'utente stesso
		$query_2="SELECT * FROM relationship WHERE user_1 != $id_utente AND user_2 != $id_amico AND user_1 != $id_amico AND user_2 != $id_utente";
		//ho un piccolo dubbio su AND nel WHERE (user_1 != $id_utente AND user_2 != $id_amico) OR (user_1 != $id_amico AND user_2 != $id_utente)
		/*
		il ragionamento è questo
		pinco a chiesto amicizia a pallino quindi potro avere user_1=id_pinco user_2=id_pallino , ma poò essere che
		sia stato pallino a chiedere amicizia a pinco per cui user_1=id_pallino user_2=id_pinco
		quindi devo estrarre tutti qui record che non abbiano l'accoppiata pinco/pallino, questo per evitare doppioni nei record
		ritengo ininfluente che sia pinco a chiedere di pallino o viceversa
		(fai delle prove, mi incasino sempre cogli and e gli or)
		*/
		$ris_2=mysql_query($query_2);
		$accoppiata=mysql_num_rows($ris_2); //verifico se l'accoppiata esiste
		if($accoppiata==0){
			echo "$nome_amico <a href=\"chiedi_amicizia.php?id_a=$id_amico\">chiedi</a><br>";
		}
	}
}
?>
nella pagina chiedi_amicizia.php
PHP:
<?php
session_start();
if(!isset($_SESSION['id_utente'])){
	//se non è loggato lo fai tornare alla pag di log o dove vuoi con header location
}else{
	$id_amico=$_GET['$id_amico'];
	$id_utente=$_SESSION['id_utente'];
	$query="INSERT INTO relationship(user_1,user_2, amico) VALUES($id_utente,$id_amico,'N')";
	//nel campo enum (anche se nella tabella di default è N) convine comunque mettere a n
	//in quanto questa è una richiesta che deve essere approvata dall'utente interpellato
	$ris=mysql_query($query);
	//ritorno automatico alla pagina precedente
}
?>
ricordati che la mia è sempre un'idea di partenza, es non ho messo i vari controlli sui get e ho fatto come se tutte fossero pagine separate. verifica come detto AND e OR
alla prossima vedere gli amici ed eventualmente "eliminarli"

dai nemici mi guardi iddio, che dagli amici mi guardo io
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
ciao
ecco secondo me la parte in cui pinco chiede amicizia a pallino potrebbe essere così
PHP:
<?php
session_start();
if(!isset($_SESSION['id_utente'])){
	//se non è loggato lo fai tornare alla pag di log o dove vuoi con header location
}else{
	//l'utente è loggato
	//dati di connessione al db
	$id_utente=$_SESSION['id_utente'];//mi serivirà in seguito
	//p.s. faccio sempre questo tipo assegnazione in modo da facilitarmi poi lo scrivere le select
	//dalla tabella user ricavo il nome cognome e l'id degli altri utenti (penso chi i valori siano quelli) escluso quello loggato
	//che sta guardando questa pagina
	$query_1="SELECT id, full_name FROM user WHERE id != $id_utente ORDER BY full_name";
	$ris_1=mysql_query($query_1);
	//potrei mettere il controllo degli utenti se ci sono o no, ma credo che ormai tu sappia farlo
	echo "utenti a cui puoi chiedere amicizia (clicca sul nome):<br>";
	while($riga_1=mysql_fetch_array($ris_1)){
		//estraggo i due campi e inizio le verifiche sulla tabella relationship
		$id_amico=$riga_1['id'];
		$nome_amico=$riga_1['full_name'];
		//cerco nella relationship in modo da non mostrare chi ha chiesto già amicizia e l'utente stesso
		$query_2="SELECT * FROM relationship WHERE user_1 != $id_utente AND user_2 != $id_amico AND user_1 != $id_amico AND user_2 != $id_utente";
		//ho un piccolo dubbio su AND nel WHERE (user_1 != $id_utente AND user_2 != $id_amico) OR (user_1 != $id_amico AND user_2 != $id_utente)
		/*
		il ragionamento è questo
		pinco a chiesto amicizia a pallino quindi potro avere user_1=id_pinco user_2=id_pallino , ma poò essere che
		sia stato pallino a chiedere amicizia a pinco per cui user_1=id_pallino user_2=id_pinco
		quindi devo estrarre tutti qui record che non abbiano l'accoppiata pinco/pallino, questo per evitare doppioni nei record
		ritengo ininfluente che sia pinco a chiedere di pallino o viceversa
		(fai delle prove, mi incasino sempre cogli and e gli or)
		*/
		$ris_2=mysql_query($query_2);
		$accoppiata=mysql_num_rows($ris_2); //verifico se l'accoppiata esiste
		if($accoppiata==0){
			echo "$nome_amico <a href=\"chiedi_amicizia.php?id_a=$id_amico\">chiedi</a><br>";
		}
	}

?>

QUESTA HO SISTEMATO COSI MA MI DA' utenti a cui puoi chiedere amicizia (clicca sul nome):: ma non riesce a trovare gli utenti :(

( cmq questa io preferirei farla dentro il cerca.php, poiché li mi tira fuori i nomi degli utenti registrati con una semplice ricerca, mi piacerebbe solo mettere il pulsante chiedi l'amicizia..... ti posto un'immagine di come viene, come noterai il nome admin anche se fuori dall'annuncio sarà' dentro , la foto sarà dove vedi l'immagine interrotta, e dentro la cornice vorrei mettere il tasto chiedi l'amicizia .....

ishot-188.jpg


questo è il form che mi tira fuori gli utenti

PHP:
	  <form action='cerca.php?ricerca=ok' method='POST'>





  <input type='text' tabindex='15' name='cerca' class='input' size="15" >

e mi restituisce i risultati come da immagine allegata in questa pagina e fino a qui tutto ok :) ( non guardare come al solito campi ecc è tutto di prova, ma funziona

PHP:
<?php 
include 'dbc.php';
page_protect();


?>
<html>
<head>
<title>My Account</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<link href="styles.css" rel="stylesheet" type="text/css">
</head>

<body>
<table width="100%" border="0" cellspacing="0" cellpadding="5" class="main">
  <tr> 
    <td colspan="3">&nbsp;</td>
  </tr>
  <tr> 
    <td width="160" valign="top">
<?php 
/*********************** MYACCOUNT MENU ****************************
This code shows my account menu only to logged in users. 
Copy this code till END and place it in a new html or php where
you want to show myaccount options. This is only visible to logged in users
*******************************************************************/
if (isset($_SESSION['user_id'])) {?>
<div class="myaccount">
  <p><strong>My Account</strong></p>
  <a href="myaccount.php">My Account</a><br>
  <a href="mysettings.php">Settings</a><br>
    <a href="logout.php">Logout </a>
	
  <p>You can add more links here for users</p></div>
<?php }
if (checkAdmin()) {
/*******************************END**************************/
?>
      <p> <a href="admin.php">Admin CP </a></p>
	  <?php } ?>
      <p>&nbsp;</p>
      <p>&nbsp;</p>
      <p>&nbsp;</p></td>
    <td width="732" valign="top"><p>&nbsp;</p>
      <h3 class="titlehdr">Welcome <?php echo $_SESSION['user_name'];?></h3>  
	  <?php	
      if (isset($_GET['msg'])) {
	  echo "<div class=\"error\">$_GET[msg]</div>";
	  }
	  	  
	  ?>
      <p>This is the my account page</p>

	 
	<?php

$db_host = "localhost";
$db_user = "root";
$db_password = "root";
$db_name = "yes-friends";

//connetto il database

$db = mysql_connect($db_host, $db_user, $db_password) or die ('Errore durante la connessione');
mysql_select_db($db_name, $db) or die ('Errore durante la selezione del db');

// recuperiamo il valore ricerca inviato con get

$ricerca = $_GET['ricerca'];

// vediamo se è stato inviato, e quindi uguale a ok

if ( $ricerca == 'ok' ) {

// recuperiamo ora cerca inviato con post

$cerca = $_POST['cerca'];

// vediamo se è stato compilato il campo

if ( $cerca == TRUE && $cerca != "" ) {

// ora vediamo se supera i tre caratteri

if ( strlen($cerca) >= 3 ) {

// ora depuriamo la stringa da cercare sul database 

$cerca =  mysql_escape_string(stripslashes($cerca)); 

// ora possiamo effettuare la nostra ricerca sul db, state attenti alla sintassi

$query = "SELECT * FROM users  WHERE id LIKE '%$cerca%'  OR full_name LIKE '%$cerca%' "; 

$risultato = mysql_query($query) or die (mysql_error()); 

$risposta = mysql_query($query) or die ("Utilizza termini più specifici!");

$dentro_la_query= mysql_fetch_assoc($risposta);

if ( $dentro_la_query == TRUE ) {

while($row= mysql_fetch_assoc($risultato)) { 
$id = $row['id'];
$user_id = $row['user_id'];
$full_name = $row['full_name'];
 
 





// stampiamo i nostri dati 


 echo" <table width='100%'>";
  echo" <tr>";
   echo" <p class='three'><td colspan='3'> <a href=\"http://localhost:8888/yes-friends/richiestedamicizia.php?id=$id\"/>$full_name</a></td>";
 echo" </tr>";
 echo" <tr>";
  echo"  <td width='14%' bgcolor='#f4f9fd'> <a href=\"http://localhost:8888/annunci/rannunci.php?id=$id\"/><img src='immagini1.php?id=$id' name='nome_file'  alt'' width='200' height='154'  /></a></td>";
  echo"  <td width='45%' bgcolor='#f4f9fd'><table width='100%'>";
   echo"   <tr>";
    echo"    <td></td>";
    echo"  </tr>";
    echo"  <tr>";
      echo"  <td></td>";
echo"</tr>";
 echo"     <tr>";
    echo"    <td>&nbsp;</td>";
    echo"  </tr>";
   echo" </table></td>";
  echo"  <td width='31%' bgcolor='#f4f9fd'><br />Prezzo:<br />Mq:$mq<br />Locali:</p></td>";
  echo"</tr>";
echo"</table>";


} 

} else {

echo "Nessun temine alla ricerca trovato";

}


} else {

echo "Devi inserire almeno 3 caratteri";

}

} else {

echo "Non hai compilato il modulo ricerca";

}

}

?>
	 
	 
      </td>
    <td width="196" valign="top">&nbsp;</td>
  </tr>
  <tr> 
    <td colspan="3">&nbsp;</td>
  </tr>
</table>

</body>
</html>






nella pagina chiedi_amicizia.php che sarebbe ottima secondo me da mettere nell'annuncio che ti ho postato mi da tutte le descrizioni logim myaccount ecc ecc ma non mi da' il bottone o quant'altro per chiedere l'amicizia :( ??????
PHP:
<?php 
include 'dbc.php';
page_protect();


?>
<html>
<head>
<title>My Account</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<link href="styles.css" rel="stylesheet" type="text/css">
</head>

<body>
<table width="100%" border="0" cellspacing="0" cellpadding="5" class="main">
  <tr> 
    <td colspan="3">&nbsp;</td>
  </tr>
  <tr> 
    <td width="160" valign="top">
<?php 
/*********************** MYACCOUNT MENU ****************************
This code shows my account menu only to logged in users. 
Copy this code till END and place it in a new html or php where
you want to show myaccount options. This is only visible to logged in users
*******************************************************************/
if (isset($_SESSION['user_id'])) {?>
<div class="myaccount">
  <p><strong>My Account</strong></p>
  <a href="myaccount.php">My Account</a><br>
  <a href="mysettings.php">Settings</a><br>
    <a href="logout.php">Logout </a>
	
  <p>You can add more links here for users</p></div>
<?php }
if (checkAdmin()) {
/*******************************END**************************/
?>
      <p> <a href="admin.php">Admin CP </a></p>
	  <?php } ?>
      <p>&nbsp;</p>
      <p>&nbsp;</p>
      <p>&nbsp;</p></td>
    <td width="732" valign="top"><p>&nbsp;</p>
      <h3 class="titlehdr">Welcome <?php echo $_SESSION['user_name'];?></h3>  
	  <?php	
      if (isset($_GET['msg'])) {
	  echo "<div class=\"error\">$_GET[msg]</div>";
	  }
	  	  
	  ?>
      <p>This is the my account page</p>
<?php
	 
 $id_amico=$_GET['$id_amico']; 
    $id_utente=$_SESSION['id_utente']; 
    $query="INSERT INTO relationship(user_1,user_2, amico) VALUES($id_utente,$id_amico,'N')"; 
    //nel campo enum (anche se nella tabella di default è N) convine comunque mettere a n 
    //in quanto questa è una richiesta che deve essere approvata dall'utente interpellato 
    $ris=mysql_query($query); 
    //ritorno automatico alla pagina precedente 

?> 
      </td>
    <td width="196" valign="top">&nbsp;</td>
  </tr>
  <tr> 
    <td colspan="3">&nbsp;</td>
  </tr>
</table>

</body>
</html>
 

Allegati

  • ishot-176.png
    ishot-176.png
    7,9 KB · Visite: 198
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
andiamo con ordine
ma non riesce a trovare gli utenti
cioè dove non stampa? alla riga
PHP:
echo "$nome_amico <a href=\"chiedi_amicizia.php?id_a=$id_amico\">chiedi</a><br>";
?
se è quella devi guardare prima se ho scritto giusti i nomi delle tabelle e dei campi, oppure devi fare delle prove sulla WHERE della select, come detto mi incasino con gli and e gli or, quindi non avendo io fatto le tabelle devi fare delle prove (es. sostituisci gli and con or)

poiché li mi tira fuori i nomi degli utenti registrati con una semplice ricerca
si puoi farla li, però secondo me per non incasinarti per chiedere amicizia non deve essere possibile chiedere amicizia se questa è gia stata chiesta (accettata o no), non fa che duplicarti i record in partenership con conseguente casino.
cioe se pinco ha richiesto amicizia a pallino, pallino non puo chiedere amicizia a pinco e pinco non puo chiedere amicizia a pinco.

da quello che ho capito vorresti mettere un pulsante per chiedere amicizia in quella immagino che sia una riga di tabella dell'immagine che hai postato, vero?
ma da quello che ho capito in tutto il discorso, gli annunci possono essere letti dall'utente che li ha inseriti e da chi è suo amico (amicizia richiesta e accettata), se è così a che ti serve li un pulsante per richiedere quello che c'è già?
o ho capito male?

poi l'ultima
nella pagina chiedi_amicizia.php che sarebbe ottima secondo me da mettere nell'annuncio che ti ho postato mi da tutte le descrizioni logim myaccount ecc ecc ma non mi da' il bottone o quant'altro per chiedere l'amicizia
non capisco esattamente cosa intendi, la pag chiedi_amicizia.php (che ho tenuta divisa da quella che mostra gli utenti possibili) non dovrebbe mostrare nulla, ma elaborare solo i dati provenienti dalla pagina in cui l'utente pinco vede a quali utenti può chiedere amicizia ,una volta elaborati, rinnviare a dove vuoi tu

poi penso dividere i problemi in più post, sta diventando difficile seguire.
comunque ora ci do un pensiero poi ti so dire.
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
Ciao Borgo vado con ordine ...

borgo italia

ciao
andiamo con ordine
ma non riesce a trovare gli utenti
cioè dove non stampa? alla riga
Codice PHP:
echo "$nome_amico <a href=\"chiedi_amicizia.php?id_a=$id_amico\">chiedi</a><br>";
?

Esatto non mi restituisce i risultati :(

poiché li mi tira fuori i nomi degli utenti registrati con una semplice ricerca
si puoi farla li, però secondo me per non incasinarti per chiedere amicizia non deve essere possibile chiedere amicizia se questa è gia stata chiesta (accettata o no), non fa che duplicarti i record in partenership con conseguente casino.
cioe se pinco ha richiesto amicizia a pallino, pallino non puo chiedere amicizia a pinco e pinco non puo chiedere amicizia a pinco.

Tu hai ragione, ma se si riuscisse a far funzionare questo metodo di ricerca,

per non incasinarti per chiedere amicizia non deve essere possibile chiedere amicizia se questa è gia stata chiesta (accettata o no), non fa che duplicarti i record in partenership con conseguente casino.

Sarebbe l'ideale fare quello che scrivi qui direttamente nella query di cerca.php, penso che si potrebbe fare aggiungendo nella query mysql a o n prendendolo direttamente dalla tabella relationship

da quello che ho capito vorresti mettere un pulsante per chiedere amicizia in quella immagino che sia una riga di tabella dell'immagine che hai postato, vero?
ma da quello che ho capito in tutto il discorso, gli annunci possono essere letti dall'utente che li ha inseriti e da chi è suo amico (amicizia richiesta e accettata), se è così a che ti serve li un pulsante per richiedere quello che c'è già?
o ho capito male?

Qui hai capito male -... il pulsante di richiesta ( potrebbe andare bene anche questo echo "$nome_amico <a href=\"chiedi_amicizia.php?id_a=$id_amico\">chiedi</a><br>"; ) con al posto di chiedi un immagine deve essere all'interno di quella immagine che ti ho mandato che non è altro che la restituzione di un'interrogazione dei nominativi che sono presenti nel db

es io cerco mario rossi , scrivo all'interno del form il nome, mi restituisce i vari mario rossi del db io identifico tramite la foto chi è l'amico e gli chiedo l'amicizia...

Il listato annunci, la bacheca dove scrivono i messaggi è un'altra pagina dove aprendola mi vengono fuori i post degli utenti con qui sono amico.....

poi l'ultima
nella pagina chiedi_amicizia.php che sarebbe ottima secondo me da mettere nell'annuncio che ti ho postato mi da tutte le descrizioni logim myaccount ecc ecc ma non mi da' il bottone o quant'altro per chiedere l'amicizia
non capisco esattamente cosa intendi, la pag chiedi_amicizia.php (che ho tenuta divisa da quella che mostra gli utenti possibili) non dovrebbe mostrare nulla, ma elaborare solo i dati provenienti dalla pagina in cui l'utente pinco vede a quali utenti può chiedere amicizia ,una volta elaborati, rinnviare a dove vuoi tu

poi penso dividere i problemi in più post, sta diventando difficile seguire.
comunque ora ci do un pensiero poi ti so dire.

Qui chiedo umilmente venia, io visto che la pagina
accetta.php non mi restituiva risultati pensavo che la richiesta d'amicizia dovevo chiederla direttamente con chiedi_amicizia.php non avevo capito che erano legate insieme :(

Cmq in questo we provo e riprovo nel caso non capisco ti scrivo e tichiedo, ma se puo' aiutarti a schiarirti le idee su tutta la discussione ( scusami davvero ) posso cmq mandarti le tre tabelle o via mex oppure postandotele cosi vedi i campi e diventa tutto più facile ......

Come al solito grazie milleeeeee :)
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
Ciao Borgo , oggi sono stato più bravo del solito e mi sono portato avanti ....

Ho solo un problema sia iin user_1 e user_2 mi prende l'id di chi chiede amicizia...

E nella pagina dove devo dare l'amicizia non mi mette in s il valore se gli dico che sono amico ...

Ti posto i codici

search amicizia ( qui tutto ok mi trova il nome e mi passa l'id quando chiedo amicizia )

PHP:
<?php 
include 'dbc.php';
page_protect();


?>
<html>
<head>
<title>My Account</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<link href="styles.css" rel="stylesheet" type="text/css">
</head>

<body>
<table width="100%" border="0" cellspacing="0" cellpadding="5" class="main">
  <tr> 
    <td colspan="3">&nbsp;</td>
  </tr>
  <tr> 
    <td width="160" valign="top">
<?php 
/*********************** MYACCOUNT MENU ****************************
This code shows my account menu only to logged in users. 
Copy this code till END and place it in a new html or php where
you want to show myaccount options. This is only visible to logged in users
*******************************************************************/
if (isset($_SESSION['user_id'])) {?>
<div class="myaccount">
  <p><strong>My Account</strong></p>
  <a href="myaccount.php">My Account</a><br>
  <a href="mysettings.php">Settings</a><br>
    <a href="logout.php">Logout </a>
	
  <p>You can add more links here for users</p></div>
<?php }
if (checkAdmin()) {
/*******************************END**************************/
?>
      <p> <a href="admin.php">Admin CP </a></p>
	  <?php } ?>
      <p>&nbsp;</p>
      <p>&nbsp;</p>
      <p>&nbsp;</p></td>
    <td width="732" valign="top"><p>&nbsp;</p>
      <h3 class="titlehdr">Welcome <?php echo $_SESSION['user_name'];?></h3>  
	  <?php	
      if (isset($_GET['msg'])) {
	  echo "<div class=\"error\">$_GET[msg]</div>";
	  }
	  	  
	  ?>
      <p>This is the my account page</p>

	 
	<?php

$db_host = "localhost";
$db_user = "root";
$db_password = "root";
$db_name = "yes-friends";

//connetto il database

$db = mysql_connect($db_host, $db_user, $db_password) or die ('Errore durante la connessione');
mysql_select_db($db_name, $db) or die ('Errore durante la selezione del db');

// recuperiamo il valore ricerca inviato con get

$ricerca = $_GET['ricerca'];

// vediamo se è stato inviato, e quindi uguale a ok

if ( $ricerca == 'ok' ) {

// recuperiamo ora cerca inviato con post

$cerca = $_POST['cerca'];

// vediamo se è stato compilato il campo

if ( $cerca == TRUE && $cerca != "" ) {

// ora vediamo se supera i tre caratteri

if ( strlen($cerca) >= 3 ) {

// ora depuriamo la stringa da cercare sul database 

$cerca =  mysql_escape_string(stripslashes($cerca)); 

// ora possiamo effettuare la nostra ricerca sul db, state attenti alla sintassi

$query = "SELECT * FROM users  WHERE id LIKE '%$cerca%'  OR full_name LIKE '%$cerca%' "; 

$risultato = mysql_query($query) or die (mysql_error()); 

$risposta = mysql_query($query) or die ("Utilizza termini più specifici!");

$dentro_la_query= mysql_fetch_assoc($risposta);

if ( $dentro_la_query == TRUE ) {

while($row= mysql_fetch_assoc($risultato)) { 
$id = $row['id'];
$user_id = $row['user_id'];
$full_name = $row['full_name'];
 
 





// stampiamo i nostri dati 


 echo" <table width='100%'>";
  echo" <tr>";
   echo" <p class='three'><td colspan='3'> <a href=\"http://localhost:8888/yes-friends/richiestedamicizia.php?id=$id\"/>$full_name</a></td>";
 echo" </tr>";
 echo" <tr>";
  echo"  <td width='14%' bgcolor='#f4f9fd'> <a href=\"http://localhost:8888/annunci/rannunci.php?id=$id\"/><img src='immagini1.php?id=$id' name='nome_file'  alt'' width='200' height='154'  /></a></td>";
  echo"  <td width='45%' bgcolor='#f4f9fd'><table width='100%'>";
   echo"   <tr>";
    echo"    <td>$full_name <a href=\"chiedi_amicizia.php?id=$id\">chiedi</a><br> </td>";
    echo"  </tr>";
    echo"  <tr>";
      echo"  <td></td>";
echo"</tr>";
 echo"     <tr>";
    echo"    <td>&nbsp;</td>";
    echo"  </tr>";
   echo" </table></td>";
  echo"  <td width='31%' bgcolor='#f4f9fd'><br />Prezzo:<br />Mq:$mq<br />Locali:</p></td>";
  echo"</tr>";
echo"</table>";


} 

} else {

echo "Nessun temine alla ricerca trovato";

}


} else {

echo "Devi inserire almeno 3 caratteri";

}

} else {

echo "Non hai compilato il modulo ricerca";

}

}

?>
	 
	 
      </td>
    <td width="196" valign="top">&nbsp;</td>
  </tr>
  <tr> 
    <td colspan="3">&nbsp;</td>
  </tr>
</table>

</body>
</html>


nella pagina chiedi_amicizia.php devo settare tutto in user_id per farla funzionare ma così ( non so se è giusto ) mi mette in user_1 e user_2 l'id di chi chiede amicizia

PHP:
<?php 
include 'dbc.php';
page_protect();


?>
<html>
<head>
<title>My Account</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<link href="styles.css" rel="stylesheet" type="text/css">
</head>

<body>
<table width="100%" border="0" cellspacing="0" cellpadding="5" class="main">
  <tr> 
    <td colspan="3">&nbsp;</td>
  </tr>
  <tr> 
    <td width="160" valign="top">
<?php 
/*********************** MYACCOUNT MENU ****************************
This code shows my account menu only to logged in users. 
Copy this code till END and place it in a new html or php where
you want to show myaccount options. This is only visible to logged in users
*******************************************************************/
if (isset($_SESSION['user_id'])) {?>
<div class="myaccount">
  <p><strong>My Account</strong></p>
  <a href="myaccount.php">My Account</a><br>
  <a href="mysettings.php">Settings</a><br>
    <a href="logout.php">Logout </a>
	
  <p>You can add more links here for users</p></div>
<?php }
if (checkAdmin()) {
/*******************************END**************************/
?>
      <p> <a href="admin.php">Admin CP </a></p>
	  <?php } ?>
      <p>&nbsp;</p>
      <p>&nbsp;</p>
      <p>&nbsp;</p></td>
    <td width="732" valign="top"><p>&nbsp;</p>
      <h3 class="titlehdr">Welcome <?php echo $_SESSION['user_name'];?></h3>  
	  <?php	
      if (isset($_GET['msg'])) {
	  echo "<div class=\"error\">$_GET[msg]</div>";
	  }
	  	  
	  ?>
      <p>This is the my account page</p>
<?php
	 
 $user_id=$_GET['$user_id']; 
    $user_id=$_SESSION['user_id']; 
    $query="INSERT INTO relationship(user_1,user_2, amico) VALUES($user_id,$user_id,'N')"; 
    //nel campo enum (anche se nella tabella di default è N) convine comunque mettere a n 
    //in quanto questa è una richiesta che deve essere approvata dall'utente interpellato 
    $ris=mysql_query($query); 
    //ritorno automatico alla pagina precedente 

?> 
      </td>
    <td width="196" valign="top">&nbsp;</td>
  </tr>
  <tr> 
    <td colspan="3">&nbsp;</td>
  </tr>
</table>

</body>
</html>

Nella pagina accetta.php mi vendono fuori gli id di chi mi ha chisto l'amicizia, ma quando clicc o su si non mi cambia il valore nel campo enum :(

PHP:
<?php 
include 'dbc.php';
page_protect();


?>
<html>
<head>
<title>My Account</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<link href="styles.css" rel="stylesheet" type="text/css">
</head>

<body>
<table width="100%" border="0" cellspacing="0" cellpadding="5" class="main">
  <tr> 
    <td colspan="3">&nbsp;</td>
  </tr>
  <tr> 
    <td width="160" valign="top">
<?php 
/*********************** MYACCOUNT MENU ****************************
This code shows my account menu only to logged in users. 
Copy this code till END and place it in a new html or php where
you want to show myaccount options. This is only visible to logged in users
*******************************************************************/
if (isset($_SESSION['user_id'])) {?>
<div class="myaccount">
  <p><strong>My Account</strong></p>
  <a href="myaccount.php">My Account</a><br>
  <a href="mysettings.php">Settings</a><br>
    <a href="logout.php">Logout </a>
	
  <p>You can add more links here for users</p></div>
<?php }
if (checkAdmin()) {
/*******************************END**************************/
?>
      <p> <a href="admin.php">Admin CP </a></p>
	  <?php } ?>
      <p>&nbsp;</p>
      <p>&nbsp;</p>
      <p>&nbsp;</p></td>
    <td width="732" valign="top"><p>&nbsp;</p>
      <h3 class="titlehdr">Welcome <?php echo $_SESSION['user_name'];?></h3>  
	  <?php	
      if (isset($_GET['msg'])) {
	  echo "<div class=\"error\">$_GET[msg]</div>";
	  }
	  	  
	  ?>
      <p>This is the my account page</p>
      
      <?php
     require ('db_connect.php');
      
     

 $query="SELECT * FROM relationship WHERE user_2 =".$_SESSION['user_id']." AND amico='N'"; 
    $ris=mysql_query($query); 
    $richieste=mysql_num_rows($ris);// verifiche che ci siano richieste 
    if($richieste==0){ 
        echo "non hai richieste di amicizia"; 
    }else{ 
        //qui uso solo gli id ma con le join puoi ricavarti il nome e/o il cognome 
        //da mettere alla riga " $nome $cognome: accetti? "; 
        while($riga=mysql_fetch_array($ris)){ 
            $rich=$riga['user_2']; 
            echo "hai $richieste richieste dai seguenti utenti:<br>"; 
            echo " $rich: accetti? "; 
            echo "<a href=\"accettazione.php?user_1=$rich&acc=S\">SI</a>"; 
            echo " <a href=\"accettazione.php?user_1=$rich&acc=N\">NO</a><br>"; 
        } 
    } 





//e qui poi il codice per richiedere l'amicizia - la prossima puntata 
//ecc.... 


?>
	 
      </td>
    <td width="196" valign="top">&nbsp;</td>
  </tr>
  <tr> 
    <td colspan="3">&nbsp;</td>
  </tr>
</table>

</body>
</html>

pag accettazione.php

PHP:
<?php 
include 'dbc.php';
page_protect();


?>
<html>
<head>
<title>My Account</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<link href="styles.css" rel="stylesheet" type="text/css">
</head>

<body>
<table width="100%" border="0" cellspacing="0" cellpadding="5" class="main">
  <tr> 
    <td colspan="3">&nbsp;</td>
  </tr>
  <tr> 
    <td width="160" valign="top">
<?php 
/*********************** MYACCOUNT MENU ****************************
This code shows my account menu only to logged in users. 
Copy this code till END and place it in a new html or php where
you want to show myaccount options. This is only visible to logged in users
*******************************************************************/
if (isset($_SESSION['user_id'])) {?>
<div class="myaccount">
  <p><strong>My Account</strong></p>
  <a href="myaccount.php">My Account</a><br>
  <a href="mysettings.php">Settings</a><br>
    <a href="logout.php">Logout </a>
	
  <p>You can add more links here for users</p></div>
<?php }
if (checkAdmin()) {
/*******************************END**************************/
?>
      <p> <a href="admin.php">Admin CP </a></p>
	  <?php } ?>
      <p>&nbsp;</p>
      <p>&nbsp;</p>
      <p>&nbsp;</p></td>
    <td width="732" valign="top"><p>&nbsp;</p>
      <h3 class="titlehdr">Welcome <?php echo $_SESSION['user_name'];?></h3>  
	  <?php	
      if (isset($_GET['msg'])) {
	  echo "<div class=\"error\">$_GET[msg]</div>";
	  }
	  	  
	  ?>
      <p>This is the my account page</p>
      
      <?php
      
      require ('db_connect.php');
 $id_1=$_GET['_1'];//leggo i get dalla pagina precedente 
    $accetta=$_GET['acc']; 
    //e per comodità 
    $user_2=$_SESSION['user_id']; 
    //soliti dati di connessione al db 
    if($accetta=="S"){ 
        $query="UPDATE relationship SET amicizia='$accetta' WHERE user_1='$user_1' AND user_2='$user_2' AND amicizia='N'"; 
        $ris=mysql_query($query); 
    }elseif($accetta=="N"){ 
        $query="DELETE FROM relationship WHERE user_1='$user_1' AND user_2='$user_2' AND amicizia='N'"; 
        $ris=mysql_query($query); 
    } 

//qui il ritorno alla pag messaggistica.php 
?>


	 
      </td>
    <td width="196" valign="top">&nbsp;</td>
  </tr>
  <tr> 
    <td colspan="3">&nbsp;</td>
  </tr>
</table>

</body>
</html>

db relationship.sql

PHP:
CREATE TABLE IF NOT EXISTS `relationship` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `user_1` varchar(10) NOT NULL,
  `user_2` varchar(10) NOT NULL,
  `amico` enum('S','N') NOT NULL DEFAULT 'N',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=46 ;

--
-- Dump dei dati per la tabella `relationship`
--

INSERT INTO `relationship` (`id`, `user_1`, `user_2`, `amico`) VALUES
(1, '', '', 'N'),
(2, '', '', 'N'),
(3, '', '', 'N'),
(4, '', '', 'N'),
(5, '', '', 'N'),
(6, '', 'user_1', 'N'),
(7, '', 'user_1', 'N'),
(8, '', 'user_1', 'N'),
(9, '', 'user_1', 'N'),
(10, '', 'user_1', 'N'),
(11, '', 'user_1', 'N'),
(12, '', 'user_1', 'N'),
(13, '', 'user_1', 'N'),
(14, '', '', 'N'),
(15, '', '', 'N'),
(16, '', '', 'N'),
(17, '', '', 'N'),
(18, '', 'user_1', 'N'),
(19, '', 'user_1', 'N'),
(20, '', 'user_1', 'N'),
(21, '', '', 'N'),
(22, '', '', 'N'),
(23, '', '', 'N'),
(24, '', '', 'N'),
(25, '', '', 'N'),
(26, '', '', 'N'),
(27, '', '', 'N'),
(28, '', '', 'N'),
(29, '', 'user_1', 'N'),
(30, '', 'user_1', 'N'),
(31, '', 'user_1', 'N'),
(32, '', 'user_1', 'N'),
(33, '', 'user_1', 'N'),
(34, '', 'user_1', 'N'),
(35, '54', '54', 'N'),
(36, '54', '54', 'N'),
(37, '55', '55', 'N'),
(38, '55', '55', 'N'),
(39, '55', '55', 'N'),
(40, '55', '55', 'N'),
(41, '55', '55', 'N'),
(42, '55', '55', 'N'),
(43, '55', '55', 'N'),
(44, '55', '55', 'N'),
(45, '54', '54', 'N');

Spero che tu possa capire qualcosa in più --- nel caso grazie milleeeeee
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
da quello che vedo nella pagina
search amicizia ( qui tutto ok mi trova il nome e mi passa l'id quando chiedo amicizia )per chiedere amicizia a pinco usi il link
PHP:
<?php
//....
 echo"    <td>$full_name <a href=\"chiedi_amicizia.php?id=$id\">chiedi</a><br> </td>"; 
//....
?>
che tradotto in html (tralascio i td) dovrebbe darti qundo chiami la pagina e col bw visualizza origine
HTML:
asrubale <a href="chiedi_amicizia.php?id=77">chiedi</a><br>
caio <a href="chiedi_amicizia.php?id=22">chiedi</a><br>
pallino <a href="chiedi_amicizia.php?id=1">chiedi</a><br>
ec...
giusto?
nella pagina chiedi_amicizia.php scrivi (ho tolo i vecchi commenti commenti e aggiunti nuovi)
PHP:
<?php 
   //....   
 $amico_id=$_GET['id'];  //qui dovrebbe essere $amico_id=$_GET['id']; nel link hai chiedi_amicizia.php?id=$id
 //eventualmente metti un var_dump per verificare che l'id venga trasmesso var_dump($_GET['id']); e trasmesso col
 //valore del link che hai cliccato
    $user_id=$_SESSION['user_id']; //dopo questa istruzione (come fai tu) in $user_id ti tronvi lo stesso valore = a  $_SESSION['user_id']
	//per cui l'insert diviene
    $query="INSERT INTO relationship(user_1,user_2, amico) VALUES($user_id,$amico_id,'N')";
	//cioè $user_id chiede amicizia a  $amico_id altrimenti nella tabella relationship ti trovi che il valore user_1 è uguale a user_2
    $ris=mysql_query($query);  
    //ritorno automatico alla pagina precedente  
?>  
      </td>
passiamo a pag accettazione.php

$id_1=$_GET['_1'];//leggi i get dalla pagina precedente ????
nei link di chiamata hai user_1
quindi
$id_1=$_GET['user_1']
poi nell'update metti al SET semplicemente

PHP:
$query="UPDATE relationship SET amicizia='S' WHERE user_1='$user_1' AND user_2='$user_2' AND amicizia='N'";
prova e sappimi dire
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
scusa ma ho fatto un errore di svista
$id_1=$_GET['_1'];//leggi i get dalla pagina precedente ????
nei link di chiamata hai user_1
quindi
$id_1=$_GET['user_1']
poi nell'update metti al SET semplicemente

PHP:
$query="UPDATE relationship SET amicizia='S' WHERE user_1='$user_1' AND user_2='$user_2' AND amicizia='N'";  
prova e sappimi dire

chiami la variabile $id_1=$_GET['user_1'], quindi nell'update

PHP:
$query="UPDATE relationship SET amicizia='S' WHERE user_1='$id_1' AND user_2='$user_2' AND amicizia='N'";  
prova e sappimi dire

stai attento mi sembra che ogni tanto tu vada in pallino coi nomi delle variabili
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
Ciao Borgo,
come al solito sei un genio...

Il chiedi amicizia funziona correttamente infatti in user_1 c'è l'id di chi chiede l'amicizia, e in user_2 l'id di chi ha ricevuto la richiesta.

Ma non capisco come mai la pagina accetta.php non mi restituisce i risultati che ci sono all'interno di user_1 o meglio ti posto il codice me li restituisce solo se metto
$_SESSION['user_id'] ma in questo caso mi dice che ho richieste di amicizia ma nel mio account e con il mio id ...

PHP:
 <?php
     require ('db_connect.php');
      // ti scrivo qui il problema .....
     //  se metto $_SESSION['user_id']   al posto di $_SESSION['user_1']   funziona, ma mi restituisce il mio id ( ho provato ha metterne uno nel user_1 ) 
//  altrimenti mi dice che non ho richieste d'amicizia anche se a db ci sono ???

 $query="SELECT * FROM relationship WHERE user_1 =".$_SESSION['user_1']." AND amico='N'"; 
    $ris=mysql_query($query); 
    $richieste=mysql_num_rows($ris);// verifiche che ci siano richieste 
    if($richieste==0){ 
        echo "non hai richieste di amicizia"; 
    }else{ 
        //qui uso solo gli id ma con le join puoi ricavarti il nome e/o il cognome 
        //da mettere alla riga " $nome $cognome: accetti? "; 
        while($riga=mysql_fetch_array($ris)){ 
            $rich=$riga['user_1']; 
            echo "hai $richieste richieste dai seguenti utenti:<br>"; 
            echo " $rich: accetti? "; 
            echo "<a href=\"accettazione.php?user_1=$rich&acc=S\">SI</a>"; 
            echo " <a href=\"accettazione.php?user_1=$rich&acc=N\">NO</a><br>"; 
        } 
    } 


?>
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
BORGOOOOOOO HO FATTO QUALCHE PICCOLA MODIFICAAAAAAA E FUNZIONAAAAAAAAAAAAAAAAA

Ora se pippo chiede amicizia a paperino, e paperino gli da' l'amicizia sono s .... ficoooo ti posto il tutto ... e ti dico le modifiche potrebbe servire ad altri utenti .. grazie milleeeeee:)

accetta.php
PHP:
l'errore stava qui ....  $_SESSION DOVEVA AVARE VALORE USER_2 E NON USER_1 INFATTI MI VEDEVA TUTTO COME USER_1 E MI DAVA L'ID USER_ID IL MIO E NON DI CHI MI CHIEDEVA AMICIZIA.....



$query="SELECT * FROM relationship WHERE user_2=".$_SESSION['user_id']."  AND amico='N'";  
$ris=mysql_query($query); 
    $richieste=mysql_num_rows($ris);// verifiche che ci siano richieste 
    if($richieste==0){ 
        echo "non hai richieste di amicizia"; 
    }else{ 
        //qui uso solo gli id ma con le join puoi ricavarti il nome e/o il cognome 
        //da mettere alla riga " $nome $cognome: accetti? "; 
        while($riga=mysql_fetch_array($ris)){ 
            
             $rich=$riga['user_1'];
           
            echo "hai $richieste richieste dai seguenti utenti:<br>"; 
            echo " $rich: accetti? "; 
            echo "<a href=\"accettazione.php?user_1=$rich&acc=S\">SI</a>"; 
            echo " <a href=\"accettazione.php?user_1=$rich&acc=N\">NO</a><br>"; 
        } 
    } 

/e qui poi il codice per richiedere l'amicizia - la prossima puntata 
//ecc.... 


?>

accettazione.php

PHP:
// qui l'errore era intanto che non doveva essere id_1  ma user_1  

// user_2 dave essere $_SESSION USER_ID 

// IL CAMPO DELLA TABELLA è AMICO E NON AMICIZIA ...
      require ('db_connect.php');
 $user_1=$_GET['user_1'];//leggo i get dalla pagina precedente 
    $accetta=$_GET['acc']; 
    //e per comodità 
    $user_2=$_SESSION['user_id']; 
    //soliti dati di connessione al db 
    if($accetta=="S"){ 
        $query="UPDATE relationship SET amico='S' WHERE user_1='$user_1' AND user_2='$user_2' AND amico='N'";   
        $ris=mysql_query($query); 
    }elseif($accetta=="N"){ 
        $query="DELETE FROM relationship WHERE user_1='$user_1' AND user_2='$user_2' AND amico='N'"; 
        $ris=mysql_query($query); 
    } 

//qui il ritorno alla pag messaggistica.php 
?>

Ho appena finito di testare il tutto, se mi chiedi l'amicizia e vado in accetta.php trovo la tua richiesta e se ti dico si il campo enum diventa s e la richiesta sparisce dalle richieste, idem se non l'accetto mi sparisce dalle richieste .... uauuuuuuuu fantastico ... ora continuo lo sviluppo e se ho problemi ti chiedo ..

Non mi resta che dirti ...

GRAZIE E MENO MALE CHE ESISTONO PERSONE COME TE SU QUESTI FORUM...

PS HAI TUTTA LA MIA SOLIDARIETA' PER QUELLO SCRITTO NEL POST DI IERI .. ( MI SA CHE SI E' ANCHE CANCELLATO L'UTENTE) ...
 
Ultima modifica:

searedone

Utente Attivo
11 Giu 2010
508
0
0
Borgo toglimi una curiosità ???

Per far si che i mex li veda sia nel mio profilo sia nella baccheca principale ( sempre tipo fb )

Secondo te devo fare due tabelle ( una bacheca e una annunci )

Oppure ne basta una e poi devo richiamare tutti i dati da li ??????

Se mi puoi aiutare grazie mille come al solito
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
secondo me dovrebbe bastare una tabella sola, anche perchè sarebbe un duplicato almeno per alcuni campi.
poi quando devi inserire/uppare/eliminare, se fai due tabelle, dovrai sempre operare su entrambe e mi sembra uno spreco di codice e riempi il db con cose doppie
una duplicazione di campi tra due tabelle è una cosa che dovrebbe essere evitata, es.
fare una tabella annunci che contenga i campi con nomi/cognomi/indirizzi degli utenti, oltre agli altri campi che servono, uguali alla tabella utenti è una duplicazione inutile di campi
la tabella annunci dovrebbe legarsi alla tabella utenti tramite l'id dell'utente
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
Ciao Borgo,
immaginavo la tua risposta ma ho preferito chiedere :) grazie mille...

Ora ho un piccolo problema che non capisco :

Ho fatto nella pagina accetta una join per recuperare il nome ( campo full_name ) fi users al posto dell'id ma mi da sempre non hai richieste di amicizia ??;(

PHP:
   <?php
     require ('db_connect.php');
      
 

$query="SELECT * FROM relationship

INNER JOIN users ON (relationship.user_id=users.id )

WHERE user_2=".$_SESSION['user_id']."  AND amico='N' ";


$ris=mysql_query($query); 
    $richieste=mysql_num_rows($ris);// verifiche che ci siano richieste 
    if($richieste==0){ 
        echo "non hai richieste di amicizia"; 
    }else{ 
        //qui uso solo gli id ma con le join puoi ricavarti il nome e/o il cognome 
        //da mettere alla riga " $nome $cognome: accetti? "; 
        while($riga=mysql_fetch_array($ris)){ 
            
             $rich=$riga['user_1'];
             $tich=$riga['full_name'];
            
            
              
           
            echo "hai $richieste richieste dai seguenti utenti:<br>"; 
            echo "$tich,$rich: accetti? "; 
            echo "<a href=\"accettazione.php?user_1=$rich&acc=S\">SI</a>"; 
            echo " <a href=\"accettazione.php?user_1=$rich&acc=N\">NO</a><br>"; 
        } 
    } 


?>

Mentre invece se aggiungo solo users dopo relationship con una virgola mi da tutti gli utenti nella tabella users al posto di solo chi mi ha chiesto amicizia ??

PHP:
    <?php
     require ('db_connect.php');
      
 

$query="SELECT * FROM relationship, users

WHERE user_2=".$_SESSION['user_id']."  AND amico='N' ";


$ris=mysql_query($query); 
    $richieste=mysql_num_rows($ris);// verifiche che ci siano richieste 
    if($richieste==0){ 
        echo "non hai richieste di amicizia"; 
    }else{ 
        //qui uso solo gli id ma con le join puoi ricavarti il nome e/o il cognome 
        //da mettere alla riga " $nome $cognome: accetti? "; 
        while($riga=mysql_fetch_array($ris)){ 
            
             $rich=$riga['user_1'];
             $tich=$riga['full_name'];
            
            
              
           
            echo "hai $richieste richieste dai seguenti utenti:<br>"; 
            echo "$tich,$rich: accetti? "; 
            echo "<a href=\"accettazione.php?user_1=$rich&acc=S\">SI</a>"; 
            echo " <a href=\"accettazione.php?user_1=$rich&acc=N\">NO</a><br>"; 
        } 
    } 


?>

Non capisco che sbaglio :(
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
prova così, al massimo non funzia

PHP:
<?php 
 require ('db_connect.php'); 

 $query="SELECT * FROM relationship WHERE user_2 =".$_SESSION['user_1']." AND amico='N'";  
    $ris=mysql_query($query);  
    $richieste=mysql_num_rows($ris);// verifiche che ci siano richieste  
    if($richieste==0){  
        echo "non hai richieste di amicizia";  
    }else{  
        //forse ho fatto un errore di logica io dicendoti di usare le join (che tra l'altro mi sono antipatiche) 
        //da mettere alla riga " $nome $cognome: accetti? ";  
        while($riga=mysql_fetch_array($ris)){  
            $rich=$riga['user_1'];
			$query_ut=mysql_query("SELECT full_name FROM user WHERE id=$rich");//non so come si chiama esattamente il campo id in user
			//verifica e correggi eventualmente
			$riga_ut=mysql_fetch_array($query_ut);
            echo "hai $richieste richieste dai seguenti utenti:<br>";  
            echo " ".$riga_ut['full_name']." accetti? ";  
            echo "<a href=\"accettazione.php?user_1=$rich&acc=S\">SI</a>";  
            echo " <a href=\"accettazione.php?user_1=$rich&acc=N\">NO</a><br>";  
        }  
    }  
//ecc..
?>
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
AAHAHHAHAHAHAAHA IL MAESTRO PERDE COLPI :)

NATURALMENTE SCHERZO MAGARI AVERE UN QUARTO DELLE TUE CONOSCENZE, DOVRESTI FARE COSRSI IO SAREI IL TUO PRIMO CLIENTE........

Ho corretto il tuo script e così funziona correttamente....

PHP:
<?php  
 require ('db_connect.php');  

// piccole modifiche, praticamente niente confronto il tuo script... cmq al posto di user_1 andava userd_id in $_SESSION['user_1'] 
//per comodità ho aggiunto l'asterisco e full_name mi trova i nomi e non l'id ...

//GRAZIE MILLEEEEEEEE

 $query="SELECT * FROM relationship WHERE user_2 =".$_SESSION['user_id']." AND amico='N'";   
    $ris=mysql_query($query);   
    $richieste=mysql_num_rows($ris);// verifiche che ci siano richieste   
    if($richieste==0){   
        echo "non hai richieste di amicizia";   
    }else{   
        //forse ho fatto un errore di logica io dicendoti di usare le join (che tra l'altro mi sono antipatiche)  
        //da mettere alla riga " $nome $cognome: accetti? ";   
        while($riga=mysql_fetch_array($ris)){   
            $rich=$riga['user_1']; 
            $query_ut=mysql_query("SELECT * FROM users WHERE id=$rich");//non so come si chiama esattamente il campo id in user 
            //verifica e correggi eventualmente 
            $riga_ut=mysql_fetch_array($query_ut); 
            echo "hai $richieste richieste dai seguenti utenti:<br>";   
            echo " ".$riga_ut['full_name']." accetti? ";   
            echo "<a href=\"accettazione.php?user_1=$rich&acc=S\">SI</a>";   
            echo " <a href=\"accettazione.php?user_1=$rich&acc=N\">NO</a><br>";   
        }   
    }   
//ecc.. 
?>
 
Discussioni simili
Autore Titolo Forum Risposte Data
M Interazione tra un più campi di un form con un solo campo di database - query mysql PHP 2
A PROBLEMA INTERAZIONE PHP E JAVASCRIPT PHP 1
F Interazione tra i form html ajax e php PHP 3
F Facebook ADS ... meglio impression o interazione con post? Social Media Marketing 1
A interazione su campo input dopo l'inserimento della prima lettera jQuery 2
S [PHP] Interazione tra due finestre. Come fare? PHP 4
V Interazione excel con pagina web HTML e CSS 1
MrClog interazione con VNC PHP 0
ste80 interazione PHP Access con paginazione PHP 7
L Interazione Javascript con Java Javascript 0
Albertoesse Problemi Interazione tra PHP\JS\MYSQL PHP 3
Athene Interazione session_start() e array associativo PHP 5
Athene Interazione tra il foreach e una tabella html PHP 12
S bacheca interazione tra utenti stile facebook ... PHP 49
M interazione database con google maps Javascript 0
V Interazione tra PHP e MS Access, aggiungere WHERE condition PHP 2
X interazione javascript e php (aggirare limite) Javascript 2
emanuelevt interazione programmazione web .exe con laurea breve Discussioni Varie 5
F interazione database template system PHP 1
G Snoopy e Php,tentativo di interazione con sito PHP 1
C [HELP] interazione flash e javascript Flash 0
S Semplice Javascript di interazione con iframe Javascript 1
N interazione php access PHP 0
T Problema interazione flash-html Flash 0
P interazione in html HTML e CSS 2
C Problemi interazione javascript e flash Javascript 0
C Problemi interazione Flash-javascript!!!! Help! Flash 1
G E' possibile dare la vividezza in un colpo solo a più foto Photoshop 1
R È possibile ricevere avvisi di accesso da Google su un solo telefono senza disconnettersi dall'account? Discussioni Varie 0
C O solo internet o solo rete aziendale Adsl e Connettività 0
D visualizzare solo foto filtrate jQuery 1
nivaria.achinet Intercettare form solo dopo invio Javascript 1
otto9due Input text: accetta solo numeri e non può essere vuoto. Javascript 9
D Stampa a video solo campi compilati MySQL 1
V Mailchimp - box di testo: cambia da solo il testo inserito Email Marketing 2
P Passare solo alcuni parametri a script per CSV PHP 0
L php mysql non salva solo id PHP 21
W visualizzare solo file html e sottocartelle di una cartella PHP 1
C copiare solo le vocali di un file in un'altro file PHP 2
A Dare l'accesso ad una pagina solo ad un utente specifico PHP 0
J GIT: Tracciare file nati successivamente SOLO in produzione HTML e CSS 0
T foreach e fetchAll dove recupero solo l'ultimo record PHP 5
Cosina Mostrare immagini da una cartella, ma solo un numero definito PHP 12
S NVR Hikvision : è on-line solo di giorno senza nessun motivo IP Cam e Videosorveglianza 17
L login con solo un codice PHP 3
X Dichiarare variabili solo al caricamento della pagina PHP 3
D Moltiplicazioni con solo addizioni in php PHP 5
G Eseguire codice solo al termine della chiamata ajax Ajax 1
C Dove trovo ipcamera cgi solo html IP Cam e Videosorveglianza 0
L Programma per registrare solo schermo Mac e Software 4

Discussioni simili