Interazione solo tra utenti stile facebook

searedone

Utente Attivo
11 Giu 2010
508
0
0
Ciao a tutti,
vi chiedo una curiosità che a sua volta mi è stata posta...

Un mio amico ha un sito di avvocati, ora all'interno dell'admin ogni utente registrato vede le sue pratiche ecc ecc ...

Mi chiede ma non so proprio come fare se e come è possibile far si che gli utenti regitrati
in questo caso avvocati, possano comunicare tra di loro una volta chiesta l'amicizia stile facebook, e non con altri a cui intendono non dare l'amicizia...

Io inizialmente avevo pensato con una tabella da collegare alla tabella principale ( con il tipico id_amico ) che mi legge nella tabella amico ( amico, rifiuta ecc ) ma ho qualche dubbio nel senso, se faccio cosi penso che la join restituisca tutti i messaggi con l'interrogazione amico, io invece vorrei far si che gli utenti scelgano tra loro le amicizie stile facebook..

Chi mi puo' aiutare a capire come si può' fare ??????
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Io creerei una tabella relationships con due campi, user_1 e user_2, che contengono gli ID dei due utenti amici. In più un campo status che può essere 1 (se l'amicizia è stata confermata) o 0. Nel campo user_1 deve esserci sempre l'utente che chiede l'amicizia, in modo che nella home di un utente visualizzi tutte le richieste di amicizia con una query del genere:
Codice:
SELECT * FROM relationships WHERE user_2 = id_utente AND status = 0
Per visualizzare tutti gli amici di un utente invece fai:
Codice:
SELECT * FROM relationships WHERE (user_1 = id_utente OR user_2 = id_utente) AND status = 1
Credo che sia l'unico modo per strutturare la cosa.
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
Ciao,
se non ho capito male io ho la mia tabella users dove ho tutti gli utenti registrati, e la collego alla tabella relationship dove all'interno ho due campi user_1 e user_2 dove user_1 se ha il campo 1 vuol dire che sono amici e se invece è user_2 o vuol dire che non sono amici ????

Forse sono andato in palla :)
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
Alessandro ho fatto così dimmi se può' essere corretto:

tabella users

PHP:
CREATE TABLE IF NOT EXISTS `users` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `md5_id` varchar(200) COLLATE latin1_general_ci NOT NULL DEFAULT '',
  `full_name` tinytext COLLATE latin1_general_ci NOT NULL,
  `user_name` varchar(200) COLLATE latin1_general_ci NOT NULL DEFAULT '',
  `user_email` varchar(220) COLLATE latin1_general_ci NOT NULL DEFAULT '',
  `user_level` tinyint(4) NOT NULL DEFAULT '1',
  `pwd` varchar(220) COLLATE latin1_general_ci NOT NULL DEFAULT '',
  `address` text COLLATE latin1_general_ci NOT NULL,
  `country` varchar(200) COLLATE latin1_general_ci NOT NULL DEFAULT '',
  `tel` varchar(200) COLLATE latin1_general_ci NOT NULL DEFAULT '',
  `fax` varchar(200) COLLATE latin1_general_ci NOT NULL DEFAULT '',
  `website` text COLLATE latin1_general_ci NOT NULL,
  `date` date NOT NULL DEFAULT '0000-00-00',
  `users_ip` varchar(200) COLLATE latin1_general_ci NOT NULL DEFAULT '',
  `approved` int(1) NOT NULL DEFAULT '0',
  `activation_code` int(10) NOT NULL DEFAULT '0',
  `banned` int(1) NOT NULL DEFAULT '0',
  `ckey` varchar(220) COLLATE latin1_general_ci NOT NULL DEFAULT '',
  `ctime` varchar(220) COLLATE latin1_general_ci NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  UNIQUE KEY `user_email` (`user_email`),
  FULLTEXT KEY `idx_search` (`full_name`,`address`,`user_email`,`user_name`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=58 ;

Tabella relationship

PHP:
CREATE TABLE IF NOT EXISTS `relationship` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_1` varchar(10) NOT NULL,
  `user_2` varchar(10) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

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

INSERT INTO `relationship` (`id`, `user_1`, `user_2`) VALUES
(1, '1', '0');

Suppongo che poi devo collegare l'id della tabella relationship alla tabella users, e pensavo nel modo più semplice aggiungendo il campo relationshipid alla fine dalla tabella users ..

MI dici se sbaglio ????
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
alex ti ha dato il metodo forse migliore.
ti faccio un esempio
pinco (utente registrato con id_user = 777) chiede amicizia a
pallino (utente registrato con id_user = 333)
ma l'utente pallino non ha ancora concesso l'amicizia.
nella tabella troverai
user_1 = 777
user_2 = 333
status = 0
essendo status = 0 pinco non può comuicare con pallino
se pallino accetta l'amicizia il record verrà uppato a:
user_1 = 777
user_2 = 333
status = 1
e pinco potrà comunicare con pallino

ammesso ma non concesso che gli avvocati possano comunicare tra loro:rolleyes:
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
mhhhhhh mi si complica la vita :(

@ciao Borgo...

Per capirci io ho tre tabelle:

una annunci dove scriveranno i loro messaggi

una users dove raccolgo gli utenti che si registrano dove avrò' id 54 id 55 id 56 ecc ecc in base al numero di iscritti, questa posso tenerla buona per questo esempio ???
user_1 = 777
user_2 = 333

tre relationship con user_1 e user_2 force quest è sbagliata e dovrei fare una tabella es status con all'interno 1 per amicizia ok 0 per amicizia negata ????

Forse mi manca qualcosa nel db che non capisco ?????
 
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
mhhhhhh mi si complica la vita
quello di sicuro, comunque io metterei il flag amicizia Si o No nella stessa tabella, cioè una tabella fatta così
PHP:
$query=<<< EOF
CREATE TABLE IF NOT EXISTS `relationship` (
`id` INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`user_1` VARCHAR( 10 ) NOT NULL ,
`user_2` VARCHAR( 10 ) NOT NULL ,
`amico` ENUM( 'S', 'N' ) NOT NULL DEFAULT 'N'
) ENGINE = MYISAM ;
EOF;
(potresti aggiungere un campo data per poi ordinare in funzione della data di richiesta)

in user_ l'id dell'utente (proveniente dalla tabella user) che chiede amicizia a user_2 (sempre l'id proveniente da tab user)
quindi ci sarà una pagina in cui l'utente user_2 (che comunque deve essere registrato) chiede di poter fare amicizia con user_1
in tale pagina saranno elencati tutti gli user_1 (id+nome+cognome o quello che preferisci)
l'user_1 potrà (es) cliccare sul nome di user_1 per richiedere amicizia (puo trasmettere l'idi di user_2 con un get)
al clik inserisci un record es.
$query="INSERT INTO relationship(user_1,user_2) VALUES('".$_SESSION['id_user_1']."','".$_GET['id_user_2'].=')";
quando user_2 aprirà la pagina (es quella con cui invia o legge i messaggi) vedrà l'elenco delle persone che gli anno chiesto amicizia
anche questi potrebbero essere sotto forma di link es

pinco ti ha richiesto amicizia accetti <a href="accettazione.php?id_1=user_1&acc=S"></a>SI</a><a href="accettazione.php?id=user_1&acc=N"></a>NO</a>

nella pagina accettazione.php prelevi i valori dei get e

se $_GET['acc']="S" uppo il record in relationship
$query="UPDATE relationship SET amico='S' WHERE user_1=".$_GET['user_1']." AND user_2=2".$_SESSION['id_user_2']." AND amico='N'";
altrimenti non uppi, anzi potresti eliminare il record
$query="DELETE FROM relationship WHERE user_1=".$_GET['user_1']." AND user_2=".$_SESSION['id_user_2']." AND amico='N'";

guarda che questa è solo un'idea di partenza (infatti ho scritto in pseudo codice)
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
aahahhahahahahaha forteeeeeeeee..

.
guarda che questa è solo un'idea di partenza (infatti ho scritto in pseudo codice)


Questa sera quando arrivo a casa ti posto la tabella annunci per il limite annunci, scusa ma da qui non ci riesco...

Per quanto riguarda questo post dato che mi interessa tanto provo a sviluppare qualcosa partendo dalla tua spiegazione, e poi se puoi mi aiuti a capirlo meglio,
scusa ma altre cose ormai mi vengono semplici ma questa realmente mi sembra ancora complicata per me :(

Magari tra un pò sarà semplice come per i db relazionali join ecc ecc....
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
ahahhahahahaahah


grazie mille per ora tu e alex ci siete riusciti, figuriamoci appena si mette anche elliox :)

Cmq grazie mille invece grazie a voi sto imparando davvero molto ;)
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
ciao

quello di sicuro, comunque io metterei il flag amicizia Si o No nella stessa tabella, cioè una tabella fatta così
PHP:
$query=<<< EOF
CREATE TABLE IF NOT EXISTS `relationship` (
`id` INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`user_1` VARCHAR( 10 ) NOT NULL ,
`user_2` VARCHAR( 10 ) NOT NULL ,
`amico` ENUM( 'S', 'N' ) NOT NULL DEFAULT 'N'
) ENGINE = MYISAM ;
EOF;


se la carico così mi da errore, invece così è ok :)

PHP:
CREATE TABLE IF NOT EXISTS `relationship` ( 
`id` INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , 
`user_1` VARCHAR( 10 ) NOT NULL , 
`user_2` VARCHAR( 10 ) NOT NULL , 
`amico` ENUM( 'S', 'N' ) NOT NULL DEFAULT 'N' 
) ENGINE = MYISAM

Mi dà problemi eof
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
non so se sono sulla strada giusta ma ho fatto così e mi restituisce questo al posto degli id :(
accetta
PHP:
<?php

require ('db_connect.php');

 $user_id = $_POST['user_id'];  

  $user_1 = $_POST['user_1'];  
  $user_2 = $_POST['user_2']; 

$sql="INSERT INTO relationship(user_1,user_2) VALUES('".$_SESSION['user_id']."','".$_GET['user_id']."')";
 if (@mysql_query($sql)) {
    echo '<p></p>';
  } else {
    exit('<p>Errore aggiunta nuovo annuncio: ' . mysql_error() . '</p>');
  }



echo "<a href='accetta.php?user_id=user_1&acc=S'>SI</a>";     
echo "<a href='accetta.php?user_id=user_1&acc=N'>NO</a>";



?>

Il dump della tabella

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=8 ;

--
-- 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');

accettazione.php

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


$_GET['acc']="S" uppo il record in relationship
$query="UPDATE relationship SET amico='S' WHERE user_id=".$_GET['user_id']." AND user_2=2".$_SESSION['id_user_2']." AND amico='N'";
altrimenti non uppi, anzi potresti eliminare il record
$query="DELETE FROM relationship WHERE user_id=".$_GET['user_id']." AND user_2=".$_SESSION['id_user_2']." AND amico='N'";

?>

Uffa aiutatemiiiiiiiiiii :(

tabella users

PHP:
CREATE TABLE IF NOT EXISTS `users` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `md5_id` varchar(200) COLLATE latin1_general_ci NOT NULL DEFAULT '',
  `full_name` tinytext COLLATE latin1_general_ci NOT NULL,
  `user_name` varchar(200) COLLATE latin1_general_ci NOT NULL DEFAULT '',
  `user_email` varchar(220) COLLATE latin1_general_ci NOT NULL DEFAULT '',
  `user_level` tinyint(4) NOT NULL DEFAULT '1',
  `pwd` varchar(220) COLLATE latin1_general_ci NOT NULL DEFAULT '',
  `address` text COLLATE latin1_general_ci NOT NULL,
  `country` varchar(200) COLLATE latin1_general_ci NOT NULL DEFAULT '',
  `tel` varchar(200) COLLATE latin1_general_ci NOT NULL DEFAULT '',
  `fax` varchar(200) COLLATE latin1_general_ci NOT NULL DEFAULT '',
  `website` text COLLATE latin1_general_ci NOT NULL,
  `date` date NOT NULL DEFAULT '0000-00-00',
  `users_ip` varchar(200) COLLATE latin1_general_ci NOT NULL DEFAULT '',
  `approved` int(1) NOT NULL DEFAULT '0',
  `activation_code` int(10) NOT NULL DEFAULT '0',
  `banned` int(1) NOT NULL DEFAULT '0',
  `ckey` varchar(220) COLLATE latin1_general_ci NOT NULL DEFAULT '',
  `ctime` varchar(220) COLLATE latin1_general_ci NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  UNIQUE KEY `user_email` (`user_email`),
  FULLTEXT KEY `idx_search` (`full_name`,`address`,`user_email`,`user_name`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=58 ;

--

poi legherò la tabella relationship ad annunci
PHP:
CREATE TABLE IF NOT EXISTS `annunci` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `annuncio` varchar(255) NOT NULL,
  `foto` varchar(255) NOT NULL,
  `user_id` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

--
 
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
scusa ma c'è qualcosa che non capisco.
mi sembra, ma posso sbagliarmi, che tu abbia fatto un po' di caos.
comunque, oggi sono incasinato, poi ti so dire (spero) qualcosa.
una domanda: l'utente che chiede amicizia (o chi deve accettarla) deve loggarsi prima? e se si come trasmetti alla varie pagine riservate il fatto che uno sia loggato (con le sessioni?)?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao (in un minuto libero)
secondo me dovresti fare qualcosa del genere, schematizzo, poi tutti gli eventuali controlli, formattazione delle pagine ecc... dovrai metterli tu, analogamente modificare se serve i nomi variabili e/o campi
1. un utente si logga e accede alla pagina di messaggistica e il suo id viene messo in sessione.
2. oltre ai vari messaggi troverà chi gli ha chiesto amicizia
3. e a chi ha già dato amicizia
pagina messaggistica.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{
	//l'utente è loggato
	//dati di connessione al db
	//tutta la parte dei messaggi..... oppure puoi farti delle pagine apposite
	$query="SELECT * FROM relationship WHERE user_2 =".$_SESSION['id_utente']." 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?id_1=$rich&acc=S\">SI</a>";
			echo " <a href=\"accettazione.php?id_1=$rich&acc=N\">NO</a><br>";
		}
	}
}
//e qui poi il codice per richiedere l'amicizia - la prossima puntata
//ecc....
?>
poi nella pag accettazione.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_1=$_GET['id_1'];//leggo i get dalla pagina precedente
	$accetta=$_GET['acc'];
	//e per comodità
	$id_2=$_SESSION['id_utente'];
	//soliti dati di connessione al db
	if($accetta=="S"){
		$query="UPDATE relationship SET amicizia='$accetta' WHERE user_1='$id_1' AND user_2='$id_2' AND amicizia='N'";
		$ris=mysql_query($query);
	}elseif($accetta=="N"){
		$query="DELETE FROM relationship WHERE user_1='$id_1' AND user_2='$id_2' AND amicizia='N'";
		$ris=mysql_query($query);
	}
}
//qui il ritorno alla pag messaggistica.php
?>
per visualizzare i messaggi poi dovrai giostrarti sempre sulla tab relationship in modo che l'utente possa vedere solo i messaggi da quelli con cui è amico
alla prossima puntata come richiedere e, mi sembrerebbe utile, come eventualmente annullare un'amicizia
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
Ciao Borgo,
grazie mille come al solito per la tua disponibilità ...

Si hai ragione li manca tutta la parte :

<?php
session_start();
if(!isset($_SESSION['id_utente'])){
//se non è

Avevo tralascaito di postare quella parte, perchè volevo capire se il codice che stavo buttando giù aveva senso ( perchè come hai scritto tu ho molta confusione )

Questa sera provo a vedere un po' quello che mi hai postato e ti dico che cosa viene fuori ... :)

Magari sono fortunato e riesco a portarmi avanti senza tediarti più di tanto :)

GRAZIEEEEEEE MILLLEEEEEEEE
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ho ricevuto un avviso di un tuo post, ma dalla'indirizzo mi rimanda
http://forum.mrwebmaster.it/php/27486-limite-post-annunci-utente-new-post.html
dove non trovo nulla.
mentre dall'argomento sembrerebbe riferirsi a questo 3d.
Questo &egrave; il messaggio che ha postato:
***************
MH :(

Borgo avevo capito che dovevo fare una nuova tabella e legarla ...

quindi se io metto il campo enum nella tabella annunci ( in questo caso relationship ) poi posso far vedere lo stesso una sorta di bacheca stile facebook e ogni avvocato vedrà' solo quello che posta chi gli ha chiesto l'amicizia ?????
***************
se è qui, avevi capito giusto devi fare la tabella realtionship, io dicevo di collegarle per estrarre i nomi in quanto se un utente vede solo un id non capisce chi gli ha chiesto amicizia
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
si hai ragione, ero convinto di scrivere qui mentre invece era nel post del limite annunci :(

invece per questo il problema è che mi da pagina bianca :(

ti posto lo script completo...

accetta.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

 $query="SELECT * FROM relationship WHERE user_2 =".$_SESSION['id_utente']." 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?id_1=$rich&acc=S\">SI</a>"; 
            echo " <a href=\"accettazione.php?id_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>

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['id_1'];//leggo i get dalla pagina precedente 
    $accetta=$_GET['acc']; 
    //e per comodità 
    $id_2=$_SESSION['id_utente']; 
    //soliti dati di connessione al db 
    if($accetta=="S"){ 
        $query="UPDATE relationship SET amicizia='$accetta' WHERE user_1='$id_1' AND user_2='$id_2' AND amicizia='N'"; 
        $ris=mysql_query($query); 
    }elseif($accetta=="N"){ 
        $query="DELETE FROM relationship WHERE user_1='$id_1' AND user_2='$id_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>
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
si hai ragione, ero convinto di scrivere qui mentre invece era nel post del limite annunci :(

invece per questo il problema è che mi da pagina bianca :(

ti posto lo script completo...

accetta.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

 $query="SELECT * FROM relationship WHERE user_2 =".$_SESSION['id_utente']." 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?id_1=$rich&acc=S\">SI</a>"; 
            echo " <a href=\"accettazione.php?id_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>

Scusa bastava togliere una parentesi e funziona :) anche se il mex cheti da' è : non hai richieste di amicizia forse bisogna creare quello per chiedere l'amicizia prima di tutto???? ;(

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['id_1'];//leggo i get dalla pagina precedente 
    $accetta=$_GET['acc']; 
    //e per comodità 
    $id_2=$_SESSION['id_utente']; 
    //soliti dati di connessione al db 
    if($accetta=="S"){ 
        $query="UPDATE relationship SET amicizia='$accetta' WHERE user_1='$id_1' AND user_2='$id_2' AND amicizia='N'"; 
        $ris=mysql_query($query); 
    }elseif($accetta=="N"){ 
        $query="DELETE FROM relationship WHERE user_1='$id_1' AND user_2='$id_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>

IDEM QUI dovevo togliere una parentesi .........
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
non hai richieste di amicizia forse bisogna creare quello per chiedere l'amicizia prima di tutto????
oggi sono via (tra poco), poi ti passo l'idea per chiedere l'amicizia.
essendo cose indipendenti sono partito dalla seconda
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
Immaginavo ..

cmq grazie mille come al solito per la tua disponibilità :)

Io ieri ho provato a buttare giù un piccolo script per richiedere l'amicizia ma nada non funzionava .. questa sera riprovo ...
 
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