Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Indirizzo IP utente

  1. #1

    Indirizzo IP utente

    Salve, premetto che non conosco nulla di PHP... scusatemi.
    Nonostante ciò sto provando, invano, ad inserire il comando "$ip=$remote_addr;" per poter conoscere l'IP dell'utente che si logga nella mia piccola chat.
    Il file "online.txt" mi riporta, per ora, solo questi dati "pino|16/03/2009|17:57:24" ma nonostante i miei sforzi non riesco a far comparire l'IP.
    Ho provato su tutti i file .php presenti (chat, config e online.php) ma nulla.
    Qualche idea? nel caso potrei postare anche il listato del file...
    Spero qualcuno mi possa essere d'aiuto e grazie.
    In ogni opera di genio riconosciamo
    i pensieri che abbiamo scartato...

  2. #2

  3. #3
    Originariamente inviato da filippo.toso
    Utilizza $_SERVER['REMOTE_ADDR']
    Ti ringrazio, il problema è dove (in che file) e quando (in che linea).

    Dato che il file di testo è "online.txt" credo che dovrei inserire questo comando in online.php di cui ti riporto il listato (ma si dice così?):


    <html> <head> <title>Persone online</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script language="javascript"> function apri(nick_ut) { window.open("profilo.php?nick=" + nick_ut,nick_ut,"width=500, height=280, left=200"); } </script> </head> <body bgcolor="#E7E9FA"> <? include("config.php"); $ar_online=file($file_online); $dim=count($ar_online); for ($i=0;$i<$dim;$i++) { $ut_online=chop($ar_online[$i]); $utente=explode("|",$ut_online); $nick_ut=$utente[0]; $data=$utente[1]; $orario=$utente[2]; $parti_data=explode("/",$data); $giorno=$parti_data[0]; $mese=$parti_data[1]; $anno=$parti_data[2]; $parti_orario=explode(":",$orario); $ora=$parti_orario[0]; $minuti=$parti_orario[1]; $secondi=$parti_orario[2]; $ts=mktime($ora,$minuti,$secondi,$mese,$giorno,$an no); $diff=time()-$ts; $min_trascorsi=$diff/60; if ($min_trascorsi<$min_online) { $array_on[]=$nick_ut; } } $ar_unico=array_unique($array_on); $dim_unico=count($ar_unico); echo "<font face=\"Verdana\" size=\"1\">$dim_unico persone online</font>"; ?> </body> </html>

    Ancora grazie!
    In ogni opera di genio riconosciamo
    i pensieri che abbiamo scartato...

  4. #4
    Cavolo si legge male...

    <html>
    <head>
    <title>Persone online</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script language="javascript">
    function apri(nick_ut)
    {
    window.open("profilo.php?nick=" + nick_ut,nick_ut,"width=500, height=280, left=200");
    }
    </script>
    </head>

    <body bgcolor="#E7E9FA">
    <?
    include("config.php");


    $ar_online=file($file_online);
    $dim=count($ar_online);

    for ($i=0;$i<$dim;$i++)
    {
    $ut_online=chop($ar_online[$i]);
    $utente=explode("|",$ut_online);
    $nick_ut=$utente[0];
    $data=$utente[1];
    $orario=$utente[2];

    $parti_data=explode("/",$data);
    $giorno=$parti_data[0];
    $mese=$parti_data[1];
    $anno=$parti_data[2];

    $parti_orario=explode(":",$orario);
    $ora=$parti_orario[0];
    $minuti=$parti_orario[1];
    $secondi=$parti_orario[2];

    $ts=mktime($ora,$minuti,$secondi,$mese,$giorno,$an no);
    $diff=time()-$ts;
    $min_trascorsi=$diff/60;

    if ($min_trascorsi<$min_online)
    {
    $array_on[]=$nick_ut;
    }
    }
    $ar_unico=array_unique($array_on);
    $dim_unico=count($ar_unico);
    echo "<font face=\"Verdana\" size=\"1\">$dim_unico persone online</font>";
    ?>

    </body>
    </html>

    Forse ora va meglio
    In ogni opera di genio riconosciamo
    i pensieri che abbiamo scartato...

  5. #5
    Credo di aver trovato il file (almeno), si tratta di "chat.php"

    <html>
    <head>
    ...

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

    <body bgcolor="#eeecec">
    <?
    include("config.php");

    $nick=$_GET['nick'];
    $nick=strtolower($nick);
    $nick=stripslashes($nick);
    $password=$_GET['password'];
    $password=strtolower($password);
    $password_cr=crypt($password,$nick);
    $password_cr=str_replace("|","*",$password_cr);



    if (!(file_exists($file_reg)))
    {fopen($file_reg,"w");}

    $utente=$nick."|".$password;
    $utente_ok=0;
    $ut_regist=file($file_reg);
    $dim_reg=count($ut_regist);
    for ($i=0;$i<$dim_reg;$i++)
    {
    $dati_ut=explode("|",$ut_regist[$i]);
    $nick_ut=$dati_ut[0];
    $pass_ut=$dati_ut[1];
    if (($nick==$nick_ut) & ($password_cr==$pass_ut)) $utente_ok=1;
    }

    if ($utente_ok==1)
    {
    if (!(file_exists($file_online)))
    {fopen($file_online,"w");}

    $dim_file=filesize($file_online);
    $dim_max=14000; // Dimensione in bytes massima per ricreare il file online

    if ($dim_file>$dim_max)
    fopen($file_online,"w");

    $ar_orario=getdate();
    $ora=$ar_orario['hours'];
    $minuti=$ar_orario['minutes'];
    $secondi=$ar_orario['seconds'];

    if (strlen($minuti)==1) $minuti="0".$minuti;
    if (strlen($secondi)==1) $secondi="0".$secondi;

    $data=date("d/m/Y");
    $orario=$ora.":".$minuti.":".$secondi;
    $utente=$nick."|".$data."|".$orario."\n"; forse è qui dove aggiungere il comando?

    $ins_online=fopen($file_online,"a+");
    fputs($ins_online,$utente);
    fclose($ins_online);
    }
    else
    {
    echo "<center>Utente non registrato

    ";
    echo "<a href=\"javascript:history.back();\">TORNA INDIETRO</a></center>";
    exit;
    }
    ?>

    ...
    In ogni opera di genio riconosciamo
    i pensieri che abbiamo scartato...

  6. #6
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    765
    esatto.. basta che modifichi così..
    Codice PHP:
    $ip=$_SERVER['REMOTE_ADDR'];
    $data=date("d/m/Y");
    $orario=$ora.":".$minuti.":".$secondi;
    $utente=$nick."|".$data."|".$orario."|".$ip."\n"
    e poi in online.php se vui utilizzare l'ip per qualche scopo..

    Codice PHP:
    <html>
    <head>
    <title>Persone online</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script language="javascript">
    function apri(nick_ut)
    {
    window.open("profilo.php?nick=" + nick_ut,nick_ut,"width=500, height=280, left=200");
    }
    </script>
    </head>

    <body bgcolor="#E7E9FA">
    <?
    include("config.php");


    $ar_online=file($file_online);
    $dim=count($ar_online);

    for (
    $i=0;$i<$dim;$i++)
    {
    $ut_online=chop($ar_online[$i]);
    $utente=explode("|",$ut_online);
    $nick_ut=$utente[0];
    $data=$utente[1];
    $orario=$utente[2];
    $ip=$utente[3];     //qui hai l'ip

    $parti_data=explode("/",$data);
    $giorno=$parti_data[0];
    $mese=$parti_data[1];
    $anno=$parti_data[2];

    $parti_orario=explode(":",$orario);
    $ora=$parti_orario[0];
    $minuti=$parti_orario[1];
    $secondi=$parti_orario[2];

    $ts=mktime($ora,$minuti,$secondi,$mese,$giorno,$anno);
    $diff=time()-$ts;
    $min_trascorsi=$diff/60;

    if (
    $min_trascorsi<$min_online)
    {
    $array_on[]=$nick_ut;
    }
    }
    $ar_unico=array_unique($array_on);
    $dim_unico=count($ar_unico);
    echo 
    "<font face=\"Verdana\" size=\"1\">$dim_unico persone online</font>";
    ?>

    </body>
    </html>

  7. #7
    Funziona!
    Per un attimo ho temuto che la chat non andasse più invece è ok?
    una cosa non ho capito, quando dici "e poi in online.php se vui utilizzare l'ip per qualche scopo..."
    In che senso?
    Grazie!
    In ogni opera di genio riconosciamo
    i pensieri che abbiamo scartato...

  8. #8
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    765
    non lo so.. a che ti serve l'ip? devi fare qualche controllo?

  9. #9
    Si, volevo un confronto fra il file di log (che mi restituiva già l'IP) e quello di chat... per me sta bene già così (grazie infinite ) ma magari mi sfugge qualcosa...
    In ogni opera di genio riconosciamo
    i pensieri che abbiamo scartato...

  10. #10
    Ho fatto anche quella modifica su online.php, mi pare sia rimasto tutto uguale...
    L'unica stranezza che ancora rimane è il file login.txt che mi risulta sempre vuoto (ma i primi tempi non era così poi... boh ), stranamente, ma vabbè, i dati li recupero da online.txt... Indubbiamente, ripnsandoci, ora ogni volta che qualcuno scrive mi da l'IP, mentre se il login.txt "funzionasse" io l'avrei una volta, all'entrata... ma va bene anche così!
    Grazie.
    In ogni opera di genio riconosciamo
    i pensieri che abbiamo scartato...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.