Punto informatico Network
Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

[PHP] Visualizzare Info del Visitatore sul proprio sito

Cerchi consigli per migliorare il tuo sito? Vuoi aprire un sito in poco tempo?
Discuti con altri webmaster, chiedi chiarimenti ed opinioni in tutta libertà.
Lo spam verrà cancellato.

[PHP] Visualizzare Info del Visitatore sul proprio sito

Messaggioda Fred » mar lug 24, 2007 4:45 pm

Una domanda a M@ttia: mi piace molto il box con le info del visitatore in alto a destra nel tuo sito, come faccio a metterlo anche nel mio sito? Se puoi, oltre al codice, vorrei che tu mi spiegassi anche come si ragiona per arrivare a quel codice. Grazie

P.S. : Ma come si integra uno script php in una pagina creata in php?

Edit:
Ho creato home in php e con questo codice
Codice: Seleziona tutto
echo $REMOTE_ADDR;

sono riuscito ad impostare la visualizzazione dell'IP. Purtroppo non riesco a fare nulla per quanto riguarda host e browser [uhm] , si limita a visualizzarmi il codice che ho inserito [uhm] [uhm] . Può dipendere dal fatto che ho un Database Mysql che fa 300queries/h?
Asus M3N78SE;AMD Athlon 64X2 5200+@5400;2 GB DDR2;NVIDIA GeForce 9500GT;Windows 7 Pro 64bit;
AcerASPIRE5230;Windows 7 Pro 64bit
Skype: nellopc90
Avatar utente
Fred
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 3623
Iscritto il: mer apr 27, 2005 4:13 pm
Località: Urbe

Messaggioda M@ttia » mar lug 24, 2007 4:54 pm

Quello è un Box che creo io dinamicamente in PHP (l'immagine del tipo del cartello invece l'ho rubata ad un noto servizio [std]).

Nell'HTML della pagina ci metto:
Codice: Seleziona tutto
      <ul class="Elenco">
        <li><?php echo '<span class="u">IP</span>: '      . $IP; ?></li>
        <li><?php echo '<span class="u">Browser</span>: ' . $Browser; ?></li>
        <li><?php echo '<span class="u">Host</span>: '    . $Host; ?></li>
      </ul>

(span class e ul class sono definiti nel mio CSS, ma è solo x "grafica").

Mentre in uno script di PHP (io lo metto in un altro file perché poi contiene cose "generali" che caricano ogni pagina, ma puoi metterla nella pagina stessa se preferisci):

PHP:
Codice: Seleziona tutto
 // Per Determinare il Browser: ----------------------------------------------------------------------------------------

  if     (ereg("Firefox"   , getenv("HTTP_USER_AGENT"))) {$Browser = 'FireFox';       }
  else if(ereg("Opera"     , getenv("HTTP_USER_AGENT"))) {$Browser = 'Opera';         }
  else if(ereg("Safari"    , getenv("HTTP_USER_AGENT"))) {$Browser = "Safari";        }
  else if(ereg("Konqueror" , getenv("HTTP_USER_AGENT"))) {$Browser = "Konqueror";     }
  else if(ereg("WebTV"     , getenv("HTTP_USER_AGENT"))) {$Browser = "WebTV";         }
  else if(ereg("MSIE"      , getenv("HTTP_USER_AGENT"))) {$Browser = "IE ;(";         }
  else if(ereg("Lynx"      , getenv("HTTP_USER_AGENT"))) {$Browser = "Lynx";          }
  else if(ereg("Avant"     , getenv("HTTP_USER_AGENT"))) {$Browser = 'Avant Browser'; }
  else if(ereg("msnbot"    , getenv("HTTP_USER_AGENT"))) {$Browser = 'MSN Bot';       }
  else if(ereg("W3C"       , getenv("HTTP_USER_AGENT"))) {$Browser = 'W3C Validator'; }
  else if(ereg("Yahoo"     , getenv("HTTP_USER_AGENT"))) {$Browser = 'Yahoo Crawler'; }
  else if((ereg("Nav"      , getenv("HTTP_USER_AGENT"))) || (ereg("Gold" , getenv("HTTP_USER_AGENT"))) ||
         (ereg("X11"       , getenv("HTTP_USER_AGENT"))) || (ereg("Mozilla" , getenv("HTTP_USER_AGENT"))) ||
         (ereg("Netscape"  , getenv("HTTP_USER_AGENT"))) ) {$Browser = "Mozilla"; }
  else   {$Browser = getenv("HTTP_USER_AGENT");}


  // Per Determinare l'Host (ISP):  -------------------------------------------------------------------------------------

  $Host =''; $HostOrig = gethostbyaddr($REMOTE_ADDR);
  $PezziHost = explode("." , $HostOrig);
  $PezziHost = array_reverse($PezziHost);
  $Host = $PezziHost[1] . '.' . $PezziHost[0];

  // Per Determinare l'IP: ----------------------------------------------------------------------------------------------

   if($_SERVER['HTTP_X_FORWARDED_FOR'] != '') { $IP = $_SERVER['HTTP_X_FORWARDED_FOR']; } else { $IP = $REMOTE_ADDR; };



Il codice lo integri, come nell'es. html sopra, fra i tag
Codice: Seleziona tutto
<?php  ...CODICE... ?>

[^]
</IE><FIREFOX>
Avatar utente
M@ttia
Moderatore
Moderatore
 
Messaggi: 8363
Iscritto il: lun giu 09, 2003 2:18 pm
Località: Ticino - Estero

Messaggioda M@ttia » mar lug 24, 2007 5:13 pm

Allora,

  • Crei home.php (non più home.html , poiché contiene codice)
  • Inizi subito (o comunque rel. in cima al codice, anche addirittura alla prima linea, prima dell'html se vuoi) con il mio secondo box qui sopra, fra i tag <?php ... '>, ovvero:

    Codice: Seleziona tutto
    <?php
    // Per Determinare il Browser:
    ...
    ...
    ...
       if($_SERVER['HTTP_X_FORWARDED_FOR'] != '') { $IP = $_SERVER['HTTP_X_FORWARDED_FOR']; } else { $IP = $REMOTE_ADDR; };
    ?>


  • Scrivi il tuo HTML normale, poi nel punto dove vuoi inserire le 3 Info, fai:

    Codice: Seleziona tutto
     <ul>
       <li><?php echo 'IP: '      . $IP;       ?> </li>
       <li><?php echo 'Browser: ' . $Browser;  ?> </li>
       <li><?php echo 'Host: '    . $Host;     ?> </li>
     </ul>


Il Database MySQL non viene nemmeno usato, quindi ovviamente non c'entra nulla...
</IE><FIREFOX>
Avatar utente
M@ttia
Moderatore
Moderatore
 
Messaggi: 8363
Iscritto il: lun giu 09, 2003 2:18 pm
Località: Ticino - Estero


Messaggioda Fred » mar lug 24, 2007 6:01 pm

Allora, è 1/2 ora che provo, fin quando inserisco il codice
Codice: Seleziona tutto
 <ul>
   <li><?php echo 'IP: '      . $IP;       ?> </li>
   <li><?php echo 'Browser: ' . $Browser;  ?> </li>
   <li><?php echo 'Host: '    . $Host;     ?> </li>
 </ul>

nella pagina in home.php è tutto ok. quello che evidentemente mi è poco chiaro è come utilizzare i codici che "compilano" le stringhe browser, ip e host. Che io provi ad includerli da file esterno od a scriverli nella pagina direttamente (che è quello che vorrei fare) poi non mi si compilano i campi quando accedo alla pag: mi rimangono i campi vuoti.
Asus M3N78SE;AMD Athlon 64X2 5200+@5400;2 GB DDR2;NVIDIA GeForce 9500GT;Windows 7 Pro 64bit;
AcerASPIRE5230;Windows 7 Pro 64bit
Skype: nellopc90
Avatar utente
Fred
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 3623
Iscritto il: mer apr 27, 2005 4:13 pm
Località: Urbe

Messaggioda M@ttia » mar lug 24, 2007 6:06 pm

Dunque, il Box "lungo" in cima alla pagina dà un valore alle 3 variabili $IP, ecc. e sotto poi le stampa dove servono (Ovviamente è quindi importante che il blocco "lungo" vada prima che vengano stampate).

per provare se funzionano, all'inizio (blocco lungo di php), prima del ?> prova a scrivere:

echo $IP;

e vedi se lì lo stampa (sarà in cima alla pagina...).
(ev. mostrami il tuo codice).
</IE><FIREFOX>
Avatar utente
M@ttia
Moderatore
Moderatore
 
Messaggi: 8363
Iscritto il: lun giu 09, 2003 2:18 pm
Località: Ticino - Estero

Messaggioda eDog » mar lug 24, 2007 6:08 pm

Nella pagina home.html prima del codice che ti ha scritto M@ttia metti questo



Codice: Seleziona tutto
<?php include("home.php"); ?>
eDog,
"È meglio essere temuti o rispettati? Io dico: è troppo chiedere entrambe le cose?" - Tony Stark
Avatar utente
eDog
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 3679
Iscritto il: sab dic 30, 2006 7:58 pm
Località: Vescovana (Padova)

Messaggioda Fred » mar lug 24, 2007 6:19 pm

Grazie a tutti!!! Ci sono (anzi siamo [;)] ) riusciti! Ora capisco, mettevo il blocco grande sotto quello piccolo [acc2] . Comunque ora ho capito come funziona. Grazie nuovamente a tutti. [applauso+] [applauso+] [applauso+] [applauso+]
Asus M3N78SE;AMD Athlon 64X2 5200+@5400;2 GB DDR2;NVIDIA GeForce 9500GT;Windows 7 Pro 64bit;
AcerASPIRE5230;Windows 7 Pro 64bit
Skype: nellopc90
Avatar utente
Fred
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 3623
Iscritto il: mer apr 27, 2005 4:13 pm
Località: Urbe

Messaggioda eDog » mar lug 24, 2007 6:24 pm

Fred ha scritto: mettevo il blocco grande sotto quello piccolo [acc2] ]


[acc2] [acc2]


Beh...sbagliando s'impara... [sh] [^]
eDog,
"È meglio essere temuti o rispettati? Io dico: è troppo chiedere entrambe le cose?" - Tony Stark
Avatar utente
eDog
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 3679
Iscritto il: sab dic 30, 2006 7:58 pm
Località: Vescovana (Padova)

Messaggioda M@ttia » mar lug 24, 2007 6:57 pm

M@ttia ha scritto:[list]
[*]Inizi subito (o comunque rel. in cima al codice, anche addirittura alla prima linea, prima dell'html se vuoi) con il mio secondo box qui sopra
[cry+]

(solitamente si fa in uno script php a parte, che si include nell'head...)
</IE><FIREFOX>
Avatar utente
M@ttia
Moderatore
Moderatore
 
Messaggi: 8363
Iscritto il: lun giu 09, 2003 2:18 pm
Località: Ticino - Estero


Torna a Sviluppo Web

Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti

Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising