Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. ralph007
    3. Post
    R

    ralph007

    @ralph007

    • Profilo
    • Chi segue 0
    • Da chi è seguito 0
    • Discussioni 6
    • Post 23
    • Migliore 0
    • Gruppi 0
    Iscrizione Ultimo Accesso
    Località puglia Età 36
    0
    Reputazione
    23
    Post
    0
    Visite al profilo
    0
    Da chi è seguito
    0
    Chi segue
    User

    Post creati da ralph007

    • RE: Stampare utenti e ip dopo il login

      Quindi modifico la tabella aggiungendo nick

      CREATE TABLE IF NOT EXISTS `online_users` (
        `nick` text(30) NOT NULL,
        `id_log` int(11) NOT NULL AUTO_INCREMENT,
        `key_user` varchar(255) NOT NULL,
        `data_last_log` datetime NOT NULL,
        PRIMARY KEY (`id_log`)
      ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
      

      POI??

      postato in Coding
      R
      ralph007
    • RE: Stampare utenti e ip dopo il login

      Ecco questo script mi funziona bene. Proprio come lo volevo io...però vorrei anche il nick di ciascun utente affianco all' IP. Come faccio? Ecco il source!

      CREATE TABLE IF NOT EXISTS `online_users` (
        `id_log` int(11) NOT NULL AUTO_INCREMENT,
        `key_user` varchar(255) NOT NULL,
        `data_last_log` datetime NOT NULL,
        PRIMARY KEY (`id_log`)
      ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
      
      <?php
      $conn = mysql_connect('localhost', 'ralph007', '') or die(mysql_error());    
      $selezione_db = mysql_select_db('my_ralph007', $conn) or die(mysql_error()); 
      
      require_once('index.php');
      $onlineIP = New OnlineUsers;
      ?>
      <html>
      <head>
      <title>Utenti Online</title>
      </head>
      <body>
      <?php
      // number
      $numero = $onlineIP->get_count_online();
      echo '<h3>IP Utenti collegati: '. $numero .'</h3>';
      
      if($numero>=1){
      	echo '<ul>';
      	// ip online
      	$log = $onlineIP->get_online_key();
      	foreach($log as $log){
      		echo '<li>' . $log . '</li>';
      		}
      	echo '</ul>';
      	}
      ?>
      </body>
      </html>
      <?php
      Class OnlineUsers{
      	protected $key;
      	protected $minute_finish = 10;
      	
      	public function __construct(){
      		$this->key = $this->get_key(); // otteniamo la key
      		$this->clear_table(); // eliminiamo gli utenti "scaduti"
      		if(!$this->isset_key()){ // non esiste la key
      			$this->insert_key(); // allora la inseriamo
      			}
      		else{
      			$this->update_data_key(); // altrimenti aggiorniamo il timestamp
      			}
      		}
      		
      	protected function isset_key(){
      		$query = "SELECT * FROM online_users WHERE key_user='" .mysql_real_escape_string($this->key). "'";
      		$result = mysql_query($query) or die(mysql_error());
      		if(mysql_num_rows($result)>=1){
      			return TRUE;
      			}
      		return FALSE;
      		}
      	
      	protected function update_data_key(){
      		$query = "UPDATE online_users SET data_last_log=NOW() WHERE key_user='" . mysql_real_escape_string($this->key) . "'";
      		$result = mysql_query($query) or die(mysql_error());
      		return TRUE;
      		}
      	
      	protected function insert_key(){
      		$query = "INSERT INTO online_users SET key_user='" . mysql_real_escape_string($this->key) . "', data_last_log=NOW()";
      		$result = mysql_query($query) or die(mysql_error());
      		return mysql_insert_id();
      		}
      	
      	protected function clear_table(){
      		$query = "DELETE FROM online_users WHERE data_last_log<=DATE_SUB( NOW() , INTERVAL ". intval($this->minute_finish) ." MINUTE )";
      		$result = mysql_query($query) or die(mysql_error());
      		return TRUE;
      		}
      	
      	protected function get_key(){
      		$ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : 'undefined';
      		return $ip;
      		}
      	
      	public function get_count_online(){
      		$query = "SELECT COUNT(*) AS num_user FROM online_users ORDER BY data_last_log ASC";
      		$result = mysql_query($query) or die(mysql_error());
      		$fetch = mysql_fetch_array($result);
      		return $fetch['num_user'];
      		}
      		
      	public function get_online_key(){
      		$query = "SELECT key_user FROM online_users ORDER BY data_last_log ASC";
      		$result = mysql_query($query) or die(mysql_error());
      		$online = array();
      		while($row = mysql_fetch_array($result)){
      			$online[] = stripslashes($row['key_user']);
      			}
      		return $online;
      		}
      }
      ?>
      
      postato in Coding
      R
      ralph007
    • RE: Stampare utenti e ip dopo il login

      Potresti farmi un esempio di script fatto in maniera veloce? Come meglio credi...poi me lo aggiusto io...giusto un esempio...

      postato in Coding
      R
      ralph007
    • RE: Stampare utenti e ip dopo il login

      quindi. Cosa mi consigli?

      postato in Coding
      R
      ralph007
    • RE: Stampare utenti e ip dopo il login

      Quindi dal suo ultimo refresh mi sembra la migliore cosa...quindi per la lista utenti online dovrei creare una nuova tabella? Come procedo? Su google quello che ho trovato fin' ora sono tutti contatori. 😞 vorrei qualcosa che si adattasse al mio login, qualcosa di semplice e non di complesso.

      postato in Coding
      R
      ralph007
    • RE: Stampare utenti e ip dopo il login

      Questa è la tabella che utilizzo per la mia chat

      CREATE TABLE IF NOT EXISTS `chat` (
        `time` text NOT NULL,
        `nick` text NOT NULL,
        `post` text NOT NULL
      ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
      

      e funziona bene. Appena faccio il login in nick viene inserito nel campo NICK. Ecco io vorrei far in modo che risultino solo i nick presenti nella chat e sotto i lori IP. (ovviamente in una tabella apparte). Poi nella chat ho un logout che dovrebbe distruggere la sessione (è quello mi funziona).

      postato in Coding
      R
      ralph007
    • RE: Stampare utenti e ip dopo il login

      Qualche esempio di codice??

      postato in Coding
      R
      ralph007
    • RE: Stampare utenti e ip dopo il login

      Qualcuno che mi dia una mano??!!??

      postato in Coding
      R
      ralph007
    • Stampare utenti e ip dopo il login

      Allora, quello che vorrei fare e un form di login che memorizzi il nick all' interno del db e lo stampa su schermo, compreso il suo IP. Ecco un esempio:

      UTENTE1
      123.456.78
      UTENTE2
      456.789.12

      Ho cominciato a fare

      login.php

      <html> 
      <div align="center"> 
      <form method="post" action="index.php" id="formlogin"> 
      <br><br><br><br><label for="username">Username</label><input type="text" name="nick" id="username" /><br><br> <left><input type="submit" name="invia" id="login" value="ENTRA" /></form></div> </html>
      

      index.php (dove stamperà nick e ip)

      <?php include 'db.php';  
      session_start();  
      $nick = htmlspecialchars($_POST['nick']);  
      if($nick != "Nick"){ $_SESSION['Nick'] = $nick; } ?>
      

      db.php

      <?php
      /* CONNESSIONE AL DATABASE */
      
      
      $mysql['host'] = "localhost";
      $mysql['user'] = "user";
      $mysql['pass'] = "";
      $database = "my_db";
      mysql_connect($mysql['host'], $mysql['user'], $mysql['pass']) or die(mysql_error());
      mysql_select_db($database) or die(mysql_error());
      $time_refresh = 0;
      ?>
      

      P.S: Per vedere l' ip della propria macchina remota faccio cosi

      <?php echo $_SERVER['REMOTE_ADDR']; ?>
      

      Ma io voglio vedere anche l' IP di altri utenti nella index

      postato in Coding
      R
      ralph007
    • RE: Impedire l' invio multiplo dei messaggi con il refresh

      Vabbè comunque se gli altri utenti scrivono i messaggi io nn li vedo se nn aggiorno..funziona solo con i miei messaggi..quindi non mi serve a nulla..

      postato in Coding
      R
      ralph007
    • RE: Impedire l' invio multiplo dei messaggi con il refresh

      @ldgweb said:

      che errore ti da il redirect scusa??

      se è un errore tipo Headers alredy sent

      ti basta posizionare un ob_start(); all'inizio pagina

      il redirect deve funzionare perchè ti reindirizza alla pagina della chat come un refresh e ti fa visualizzare i dati correttamente dall'ultimo inserito oppure
      quando inserisci una nuova risposta la simuli tu prelevando i dati recuperati dal form tanto sicuramente sarà l'ultimo messaggio evitando anche il refresh.

      Spero mi sia spiegato bene XD

      GRAZIE FUNZIONA PERFETTAMENTE 😛 :bigsmile:

      postato in Coding
      R
      ralph007
    • RE: Impedire l' invio multiplo dei messaggi con il refresh

      ma è brutto da vedere...

      postato in Coding
      R
      ralph007
    • RE: Impedire l' invio multiplo dei messaggi con il refresh

      Ho provato non funziona! Comunque vi posto la chat! Non riesco..sono giorni e giorni che cerco su internet, ma non riesco... 😞

      ecco la chat..provatela...

      chat.php

      <?php include 'db.php';
      session_start(); 
      $nick = htmlspecialchars($_POST['nick']);
      if($nick != "Nick"){
      $_SESSION['Nick'] = $nick;
      }
      ?>
      <html>
      <head> 
          <title>Chat</title>
      <body>
      <br><br><center><table style="background-color: blue; height: 100px; width: 475px;"
      cellpadding="2" cellspacing="2">
      </td>
      </table>
      <tr>
      <table
      style="background-color: white; height: 500px; width: 475px;"
      id="tabella" align="center" border="0">
      <tbody>
      <tr>
      <td style="font-size: 15px; width: 616px;" valign="top"></script>
      <div
      style="overflow: auto; margin-left: 0px; height: 400px; width: 450px;">
      <?php
      
      if(isset($_POST['nick']) && !empty($_POST['nick']) ){
       $_SESSION['nick'] = htmlentities(addslashes($_POST['nick']));
      }
      if(isset($_SESSION['nick'])){
      
      $query =  mysql_query("SELECT * FROM `chat` ORDER BY `time` DESC");
      
      while($result = mysql_fetch_array($query)) {
      
      print "<b><font color='blue'>".$result['nick']."</font>: </b> ".$result['post']." <br>";
      }
      }
      ?>
      </div>
      </td>
      <?php print  htmlspecialchars($_SESSION['nick']); ?>;
      </div>
      </td> 
      </tr>
      </div>
      <tr>
      <td style="border-color: black; width: 616px;" height="25">
      <form action="" method="post"
      style="margin: 0px; background-color: green; height: 35px; width: 400px;">
      <input
      style="border-style: solid; width: 100px; background-color: white;"
      name="testo"><input name="utente"
      value="<?php print  htmlspecialchars($_SESSION['nick']); ?>;"
      type="hidden">
      <input name="submit" value="INVIA"
      style="border-style: solid; border-color: black; background-color: black; color: white;"
      type="submit"></form>
      </tr>
      </tbody>
      </table>
      <table
      <?php if(!empty($_POST['testo']) && !empty($_POST['utente'])) {
      $text = mysql_real_escape_string( htmlentities( stripslashes( $_POST['testo'] )));
      $utente = mysql_real_escape_string( htmlentities( stripslashes( $_POST['utente'] )));
      $text=stripslashes($text);
      
      mysql_query("INSERT INTO `chat` (`time` ,`nick` , `post`  
      )VALUES (
      NOW( ), '{$utente}', '{$text}');");
      }
      ?>
      

      db.php

      <?php
      /* CONNESSIONE AL DATABASE */
      
      
      $mysql['host'] = "localhost";
      $mysql['user'] = "ralph007"";
      $mysql['pass'] = "";
      $database = "my_ralph007";
      mysql_connect($mysql['host'], $mysql['user'], $mysql['pass']) or die(mysql_error());
      mysql_select_db($database) or die(mysql_error());
      $time_refresh = 0;
      ?>
      
      postato in Coding
      R
      ralph007
    • Impedire l' invio multiplo dei messaggi con il refresh

      Come dal titolo, nella mia chat in PHP/MYSQL quando invio un messaggio prima di tutto il primo messaggio che invio non lo stampa in output, però appena faccio il refresh lo leggo, poi successivamente quando scrivo gli altri sempre di un messaggio indietro và...perchè manca un refresh automatico. E seconda cosa quando aggiorno la pagina con F5 il messaggio viene rinviato...come posso evitare questo e fare un refresh automatico? Ho provato con la funzione ```
      <meta http-equiv="refresh" content="5">

      postato in Coding
      R
      ralph007
    • RE: Suoni in chat php

      OK Grazie mille! Mi sei stato di grande aiuto! Ora avrei un altra cosa da chiedere, però lo faccio in un nuovo post per non andare in OFF TOPIC.

      postato in Coding
      R
      ralph007
    • RE: Suoni in chat php

      Ecco ho fatto da cosi

      <?php $text =  str_ireplace('/ciao\','<embed src="ciao.wav" hidden="false">','Salve a tutti',$text);
      ?>
      

      a così

      <?php $text =  str_ireplace('/ciao\','<embed src="ciao.wav" hidden="false">',$text);
      ?>
      

      E funzione perfetto, però ora non quando invio il suono mi esce il nick e affianco nulla! Vorrei una scritta...

      postato in Coding
      R
      ralph007
    • RE: Suoni in chat php

      Grazie Mille per l'aiuto! Funziona..però scrivo ad esempio "/ciao" parte il suono però si sente più volte(4-5 volte)...e anche quando faccio il login prima di scrivere già parte la musichetta..(sempre 4-5 volte) e poi termina.
      Ecco il source

      media.php

      <?php $text = str_ireplace('/ciao\','<embed src="ciao.wav" hidden="false">','Salve a tutti',$text);
      ?>
      

      chat.php

      include 'media.php';
      {
      $img2="[".$img."]";
      $text= str_ireplace("$img2","$path",$text);
      }
      mysql_query("INSERT INTO `db` (`time` ,`nick` , `post`  
      )VALUES (
      NOW( ), '{$utente}', '{$text}');");
      }
      ?>
      

      vabbè contengono anche variabili delle faccine, ho messo tutto nel file media.php
      Una soluzione??

      postato in Coding
      R
      ralph007
    • Suoni in chat php

      Allora nella mia chat in PHP che utilizza come sistema di memorizzazione un DB Mysql, vorrei far in modo che premendo dei pulsanti posso inviare dei suoni in chat, però che devono sentirli tutti gli utenti connessi in chat. Come posso fare?? Grazie a tutti per l' interesse che mostrate!

      postato in Coding
      R
      ralph007
    • RE: Problema con la mia chat (refresh)

      Allora per quando riguarda il primo problema ho risolto utilizzando ORDER BY DESC ed è perfetto. Per la lista degli utenti come devo procedere? Per la chat utilizzo un db con questi valori post - nick - time.

      Comunque i messaggi arrivano in ritardo..cioè se invio ad esempio "ciao" e dopo scrivo "buongiorno" leggo ciao e dopo buongiorno. Cioè di un messaggio indietro và..com' è possibile??

      postato in Coding
      R
      ralph007
    • Problema con la mia chat (refresh)

      Ho dei problemi con una mia chat! Ho sviluppato una chat che memorizza i dati su db, è completa di faccine, logout, colori, avatar ecc. I problemi sono:

      1. Quando invio un messaggio la barra di scorrimento dell' input se ne và sopra e lampeggia lo schermo. Anche se faccio in modo che i messaggi vengono stampati in alto, resta sempre il problema che lampeggia.
      2. Per stampare gli utenti online ho fatto ```
        <b><?php include 'avatar.php';?><?php print htmlspecialchars($_SESSION['nick']); ?>; </b>
      ma il problema che così mi vedo solo io in lista. 
      
      Per favore aiutatemi. Mancano solo queste due cose e la chat è completa!
      postato in Coding
      R
      ralph007