Utenti online

Stato
Chiusa ad ulteriori risposte.

valient13

Utente Attivo
6 Apr 2012
96
0
0
Sicilia
funziona grazie, ultime cosa:
Come faccio a sapere chi è loggato perchè dovrei creare una chat tipo questa:
https://www.mrw.it/php/articoli/chat-stile-facebook-php-jquery_1223_2.html
ed ho bisogno di una colonna per vedere chi è loggato, vi riporto il codice modificato:


PHP:
<?php
# inclusione del file di configurazione
@include_once 'config.php';
# definizione della classe che conterrà i metodi per la gestione degli iscritti
class Iscrizioni {
  
  # definizione del costruttore
  public function __construct() 
  {
    # istanza della classe per la connessione al database
    $data = new DATA_Class();
  }

  # metodo per la registrazione 
  public function registra($nome_reale, $nome_utente, $password, $email) 
  {
    # cifratura della password
    $password = @sha1($password);
    # confronto degli input con i dati contenuti in tabella
	$query = @mysql_query("SELECT id_utente, livello FROM iscritti WHERE email = '$email_o_nome_utente' OR nome_utente='$email_o_nome_utente' and password = '$password'") or die('Errore: ' . mysql_error());      # controllo sulla presenza di corrispondenze prodotte dal confronto
    $conta = @mysql_num_rows($query);
    # se il confronto non genera corrispondenze..
    if ($conta == 0) 
    {
      # ..si procede con la registrazione..
      $risultato = @mysql_query("INSERT INTO iscritti(nome_utente, password, nome_reale, email) VALUES ('$nome_utente', '$password','$nome_reale','$email')") or die('Errore: ' .mysql_error());
      return $risultato;
    }else{
      # ..altrimenti l'esito della registrazione sarà negativo
      return FALSE;
    }
  }

  # metodo per l'autenticazione
  public function verifica_login($email_o_nome_utente, $password) 
  {
    # cifratura della password
    $password = @sha1($password);
    # confronto degli input con i dati contenuti in tabella
	$query = @mysql_query("SELECT id_utente, livello FROM iscritti WHERE email = '$email_o_nome_utente' OR nome_utente='$email_o_nome_utente' and password = '$password'") or die('Errore: ' . mysql_error());      $conta = @mysql_num_rows($query);
    $row = @mysql_fetch_assoc($query);
    # se il confronto genera una corrispondenza..
    if ($conta == 1) 
    {
      # ..viene generata la sessione di login..
           
      $risultato = @mysql_fetch_object($query);
      $_SESSION['login'] = true;
      $_SESSION['id_utente'] = $risultato->id_utente;	
      $_SESSION['livello'] = $row['livello']; 
      return TRUE;
    }else{
      # ..altrimenti l'esito dell'autenticazione sarà negativo
      return FALSE;
    }
  }

  # metodo per la visualizzazione del nome dell'utente loggato
  public function mostra_utente($id_utente) 
  {
    # estrazione del nome reale sulla base dell'identificatore memorizzato in sessione
    $query = @mysql_query("SELECT nome_reale FROM iscritti WHERE id_utente = $id_utente") or die('Errore: ' . mysql_error());
    $risultato = @mysql_fetch_object($query);
    # stampa a video del nome reale dell'utente
    echo $risultato->nome_reale;
  }

  # metodo per il controllo sulla sessione
  public function verifica_sessione() 
  {
    # il metodo restituisce l'informazione relativa alla sessione a patto che questa sia stata inizializzata
    if(isset($_SESSION['login']))
    {
      return $_SESSION['login'];
    }else{
      return FALSE;
    }
  }
  
  
  # metodo per il logout
  # la sessione viene distrutta a seguito di uno specifico input dell'utente
  public function esci() {
    $_SESSION['login'] = FALSE;
    @session_destroy();
    }
  }
?>
 

valient13

Utente Attivo
6 Apr 2012
96
0
0
Sicilia
c'è un problema, quando provo ad inserire l'username giusto e la password sbagliata mi effettua lo stesso il login come mai, ho controllato il codice ma non trovo l'errore:

PHP:
<?php
# inclusione del file di configurazione
@include_once 'config.php';
# definizione della classe che conterrà i metodi per la gestione degli iscritti
class Iscrizioni {
  
  # definizione del costruttore
  public function __construct() 
  {
    # istanza della classe per la connessione al database
    $data = new DATA_Class();
  }

  # metodo per la registrazione 
  public function registra($nome_reale, $nome_utente, $password, $email) 
  {
    # cifratura della password
    $password = @sha1($password);
    # confronto degli input con i dati contenuti in tabella
    $query = @mysql_query("SELECT id_utente, livello FROM iscritti WHERE nome_utente = '$nome_utente' OR email = '$email'") or die('Errore: ' . mysql_error());
    # controllo sulla presenza di corrispondenze prodotte dal confronto
    $conta = @mysql_num_rows($query);
    # se il confronto non genera corrispondenze..
    if ($conta == 0) 
    {
      # ..si procede con la registrazione..
      $risultato = @mysql_query("INSERT INTO iscritti(nome_utente, password, nome_reale, email) VALUES ('$nome_utente', '$password','$nome_reale','$email')") or die('Errore: ' .mysql_error());
      return $risultato;
    }else{
      # ..altrimenti l'esito della registrazione sarà negativo
      return FALSE;
    }
  }

  # metodo per l'autenticazione
  public function verifica_login($email_o_nome_utente, $password) 
  {
    # cifratura della password
    $password = @sha1($password);
    # confronto degli input con i dati contenuti in tabella
    $query = @mysql_query("SELECT id_utente, livello FROM iscritti WHERE password = '$password' and email = '$email_o_nome_utente' OR nome_utente='$email_o_nome_utente'") or die('Errore: ' . mysql_error());
    # controllo sulla presenza di una corrispondenza prodotta dal confronto
    $conta = @mysql_num_rows($query);
    $row = @mysql_fetch_assoc($query);
    # se il confronto genera una corrispondenza..
    if ($conta == 1) 
    {
      # ..viene generata la sessione di login..
      $risultato = @mysql_fetch_object($query);
      $_SESSION['login'] = true;
      $_SESSION['id_utente'] = $risultato->id_utente;
      $_SESSION['livello'] = $row['livello'];
      return TRUE;
    }else{
      # ..altrimenti l'esito dell'autenticazione sarà negativo
      return FALSE;
    }
  }

  # metodo per la visualizzazione del nome dell'utente loggato
  public function mostra_utente($id_utente) 
  {
    # estrazione del nome reale sulla base dell'identificatore memorizzato in sessione
    $query = @mysql_query("SELECT nome_reale FROM iscritti WHERE id_utente = $id_utente") or die('Errore: ' . mysql_error());
    $risultato = @mysql_fetch_object($query);
    # stampa a video del nome reale dell'utente
    echo $risultato->nome_reale;
  }

  # metodo per il controllo sulla sessione
  public function verifica_sessione() 
  {
    # il metodo restituisce l'informazione relativa alla sessione a patto che questa sia stata inizializzata
    if(isset($_SESSION['login']))
    {
      return $_SESSION['login'];
    }else{
      return FALSE;
    }
  }
  
  # metodo per il logout
  # la sessione viene distrutta a seguito di uno specifico input dell'utente
  public function esci() {
    $_SESSION['login'] = FALSE;
    @session_destroy();
    }
  }
?>

functionslogin.php
PHP:
<?php
# inizializzazione della sessione
@session_start();
# inclusione del file di funzione
@include_once 'functions.php';
# istanza della classe
$obj = new Iscrizioni();
# chiamata al metodo per l'autenticazione
if ($_SERVER["REQUEST_METHOD"] == "POST") { 
  $login = $obj->verifica_login(htmlentities($_POST['email_o_nome_utente'], ENT_QUOTES), htmlentities($_POST['password'], ENT_QUOTES));
  # controllo sull'esito del metodo
  if ($login) {
    # redirect in caso di esito positivo
    @header("location:index.php");
    }else{
    # notifica in caso di esito negativo
    @header("location:errore.php");
  }
}

# controllo sul valore di input per il logout
if (isset($_GET['val']) && ($_GET['val'] == 'fine_sessione')) 
{
  # chiamata al metodo per il logout
  $obj->esci();
  # redirezione alla pagina di login
  @header("location:index.php");
 }

?>

login.php
PHP:
<?php
# inizializzazione della sessione
@session_start();
# inclusione del file di funzione
@include_once 'functions.php';
# istanza della classe
$obj = new Iscrizioni();
# chiamata al metodo per la verifica della sessione
if (!$obj->verifica_sessione())
{
 echo" <!-- Login Starts Here -->
				<div id=\"loginContainer\">
                <a href=\"#\" id=\"loginButton\"><span>Login</span></a>
                <div style=\"clear:both\"></div>
                <div id=\"loginBox\">               
                    <form method=\"POST\" action=\"functionslogin.php\" id=\"loginForm\" name=\"autenticazione\">
                        <fieldset id=\"body\">
                            <fieldset>
                                <label for=\"email\">Email/Username</label>
                                <input name=\"email_o_nome_utente\" type=\"text\" value=\"username\" size=\"25\" onclick=\"this.value=''\"  id=\"email\" />
                            </fieldset>
                            <fieldset>
                                <label for=\"password\">Password</label>
                                <input name=\"password\" type=\"password\" value=\"password\" size=\"25\" onclick=\"this.value=''\" id=\"password\" />
                            </fieldset>
                            <input type=\"submit\" id=\"login\" value=\"Sign in\" />
                            
                        </fieldset>
          </form>
                </div>
            </div>
            <!-- Login Ends Here -->";

      			}
else {
  echo"<td id=\"button_formazione\"><a href=\"inviaformazione.php\" title=\"Invia Formazione\">Formazione</a></td>";
  
	if (isset($_SESSION['livello']) && $_SESSION['livello'] == 'A') {  
  		echo"<td id=\"button_admin\"><a href=\"admin/index.php\" title=\"admin\">Admin</a></td>";
	}
  echo"<td id=\"button_logout\"><a href=\"functionslogin.php?val=fine_sessione\" title=\"Logout\">Logout</a></div></td>";
}
?>
 
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
se parli della select seguente prova a mettere una parentesi dopo l'and racchiudendo l'or


PHP:
<?php
//...........
@mysql_query("SELECT id_utente, livello FROM iscritti WHERE password = '$password' and (email = '$email_o_nome_utente' OR nome_utente='$email_o_nome_utente')") or die('Errore: ' . mysql_error());
//..........
?>
 

valient13

Utente Attivo
6 Apr 2012
96
0
0
Sicilia
Sistema di messaggi

Intanto Buona Pasqua poi ho un altro problemino: allora ho creato un sistema di messaggi privati, solo che quando arriva il messaggio invece dell'id mi dovrebbe comparire il nome, cioè dovrei trasformare l'id in nome del mittente vi posto il codice:

inviamessaggio.php (form)
PHP:
<?php include("header.php");
# inizializzazione della sessione
@session_start();
# inclusione del file di funzione
# istanza della classe
$obj = new Iscrizioni();
# identificativo univoco dell'utente
$id_utente = $_SESSION['id_utente'];
# chiamata al metodo per la verifica della sessione
if (!$obj->verifica_sessione())
{
  #redirect in caso di sessione non verificata
  @header("location:errore2.php");
}
?>
  <!-- Content -->
  <div id="content">
  	<div id="conteiner">
  	<div align="center">
  	<h2>Messaggi</h2>
  	<form name="messaggi" method="POST" action="invia.php"> 
  	<p><b>ID <?php $obj->mostra_utente($id_utente); ?>:</b> <br />
  	<input value="<?php echo $id_utente; ?>" class="tb11" name="mittente" readonly>
  	<p><b>ID Destinatario:</b> <br />
  	<input type="TEXT" class="tb11" name="destinatario"><br>
	<p><b>Messaggio:</b> <br />
	<textarea name="messaggio" class="tb10" rows="6" cols="20"></textarea><br>
	<input name="data" type="hidden" id="data" value="<?php print (date ("d/m/Y - H:i")); ?>" />
	<br>
	<button name="invia">Invia</button>
	</form>
	</div>
  	</div>
    <?php include("sidebar.php"); ?>
  </div>
  
<?php include("footer.php"); ?>

invia.php
PHP:
<?php
include ("header.php");?>
 <!-- Content -->
  <div id="content">
  	<div id="conteiner">
  	<div align="center">
  	<h2>Messaggi</h2>
<?php

include ("connessione.php");
$destinatario=$_POST['destinatario'];
$mittente=$_POST['mittente'];
$messaggio=$_POST['messaggio'];
$data=$_POST['data'];
$connessione = mysql_connect($hostname_connessione,$username_connessione,$password_connessione);
$database_select=mysql_select_db($database_connessione,$connessione);
//ci colleghiamo al database
$query="Insert into `messaggi` (`mittente`,`destinatario`,`messaggio`,`data`) VALUES ('$mittente','$destinatario','$messaggio','$data')";
$result=mysql_query($query,$connessione);
	if($result==1)
	echo"<b><font color=green>Messaggio inviato con successo</font></b>";
	else
	echo"<b><font color=red>Messaggio non inviato</font></b>";

?>
	</div>
  	</div>
    <?php include("sidebar.php"); ?></div><?php include("footer.php"); ?>

ricevuti.php
PHP:
<?php
include ("header.php");
$id_utente = $_SESSION['id_utente'];
?>
 <!-- Content -->
  <div id="content">
  	<div id="conteiner">
  	<div align="center">
  	<h2>Messaggi</h2>
  	
<?php
include ("connessione.php");
    $destinatario=$id_utente;
    $query = "SELECT mittente,messaggio,data FROM messaggi WHERE destinatario='$destinatario' ORDER BY data DESC";
    $result = mysql_query( $query ) or die ("query errata");
        echo "<table style=\"border-collapse: collapse;\" width=\"100%\" border=\"1\"><tr><td style=\"text-align: center; font-weight: bold\" width=\"20%\">Mittente</td><td width=\"60%\" style=\"text-align: center; font-weight: bold\">Messaggio</td><td width=\"20%\" style=\"text-align: center; font-weight: bold\">Data</td></tr>";
        while ($row = mysql_fetch_row($result))
        {
            echo "<tr><td width=\"20%\" align=\"center\">".$row[0]."</td><td width=\"60%\">".$row[1]."</td><td width=\"20%\" align=\"center\" style=\"font-size: 13px;\">".$row[2]."</td></tr>";
        }
        echo "</table>";
  
    ?>
   	</div>
  	</div>
    <?php include("sidebar.php"); ?></div><?php include("footer.php"); ?>
 
Stato
Chiusa ad ulteriori risposte.
Discussioni simili
Autore Titolo Forum Risposte Data
M [PHP] Come gestire gli utenti online PHP 9
trattorino [PHP] Scaricare solo utenti online o di un determinato tempo PHP 4
B utenti online Supporto Mr.Webmaster 0
Web Designer Soluzione al Problema Plug-in "Utenti OnLine nelle ultime 24 ore" in MyBB CMS (Content Management System) 0
M Conteggio utenti online, problema al minuto 00 Classic ASP 2
Sandokan Utenti online PHP 8
C Utenti online e Location. Classic ASP 6
K Contatore utenti online Supporto Mr.Webmaster 1
D indicatore di utenti online Supporto Mr.Webmaster 1
U Utenti online Supporto Mr.Webmaster 1
tekinside Parere di altri utenti Webdesign e Grafica 0
I visualizzare lista utenti registrati PHP 1
otto9due Proteggere file caricati dall'esterno ma renderli accessibili per gli utenti loggati. PHP 4
L Sessione e array per utenti PHP 0
T Modificare ruolo utenti in fase di registrazione E-Commerce 0
C Saluti a tutti gli utenti del Forum Presentati al Forum 0
M Cerco profilo instagram (Utenti reali) Altri Annunci 1
F [PHP] Reindirizzare utenti alla propria area personale PHP 1
F Posizionamento google 1# + nuovi utenti organici. Annunci servizi di Social Media Marketing 0
B Acquisto Gruppo facebook almeno 500 utenti iscritti Annunci servizi di Social Media Marketing 4
L Vendo Gruppo Facebook con 18MILA utenti attivi Annunci servizi di Social Media Marketing 0
borgo italia attenzione utenti aruba Discussioni Varie 0
S [COMPRO] Pagina Instagram con utenti attivi e italiani Annunci servizi di Social Media Marketing 0
A Vendo gruppi con più di 70K utenti italiani a solo 100 euro Annunci servizi di Social Media Marketing 0
borgo italia avviso agli utenti Aruba Discussioni Varie 0
P [Vendo] incremento gruppi fb, fino a 10'000 utenti per singolo gruppo Annunci servizi di Social Media Marketing 0
lxella [PHP] Aree riservate e gestione utenti PHP 1
Y Ciao a tutti gli utenti Presentati al Forum 0
B Un saluto a tutti gli utenti del forum Presentati al Forum 2
trattorino [PHP] Scaricare utenti che hanno due tabelle con dati uguali PHP 15
trattorino [PHP] Scaricare utenti che hanno due tabelle con dati uguali PHP 0
M Un saluto a tutti gli utenti del forum Presentati al Forum 1
alexmalons [VENDO] Gruppo Facebook con 39.000 utenti attivo e funzionante Annunci servizi di Social Media Marketing 1
Laskot [Javascript] Registrazione e salvataggio utenti in LocalStorage Javascript 8
N CMS Vendite on line con utenti Programmazione 1
bubino8 [PHP] Controllo Log e Modifiche Utenti PHP 5
Spazio12 Vendo pagina facebook politica con utenti italiani da 3500 Annunci servizi di Social Media Marketing 6
Mirco P. Compro pagina fb da 50K utenti Annunci servizi di Social Media Marketing 4
G Vendo Pagina FB di 35.000 utenti a 200 euro Annunci servizi di Social Media Marketing 11
G Vendo gruppo facebook con 1100 utenti circa Annunci servizi di Social Media Marketing 0
I [COMPRO] pagine dai 1000 ai 5000 like, utenti reali, preferenza target femminile Annunci servizi di Social Media Marketing 8
angelo85 Sito joomla che permetta agli utenti di inviare mail Joomla 2
emanuele.social [VENDO] Incremento Utenti Facebook ITALIANI 100% , Costo onesto Annunci servizi di Social Media Marketing 1
adri1234 [COMPRO] Pagine Facebook anche pochi utenti Annunci servizi di Social Media Marketing 9
gianpav [COMPRO] Pagine facebook anche pochi utenti Annunci servizi di Social Media Marketing 12
StatoItaliano Scambio o vendo pagina Facebook con 9300 "Mi piace" di utenti di Napoli e provincia Annunci servizi di Social Media Marketing 0
StatoItaliano Vendo pagina Facebook con 9300 Like e con utenti di Napoli e provincia Annunci servizi di Social Media Marketing 0
R vendo pagina facebook con circa 124000 utenti attivi Annunci servizi di Social Media Marketing 8
adri1234 [VENDO] Gruppo Facebook con oltre 10.000 utenti Annunci servizi di Social Media Marketing 0
adri1234 [VENDO] gruppo Facebook di oltre 38.000 utenti Annunci servizi di Social Media Marketing 2

Discussioni simili