Pagina 1 di 4 123 ... UltimoUltimo
Visualizzazione risultati 1 fino 30 di 101

Discussione: [PHP/MySQL] Script Statistiche

  1. #1
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito [PHP/MySQL] Script Statistiche

    Ciao,
    volevo chiedere a chi ne capisce più di me di aiutarmi un po'...

    Seguendo questa guida dovrei realizzare uno script di statistiche che blocca gli ip unici, registra le provenienze i browser ecc, so che si deve applicare qualche modifica per inserire nel MySQL quello che voglio ma non capisco proprio come dovrebbero venire strutturate le pagine...qualcuno di buona volontà mi può aiutare?
    Apprezzi l'aiuto? Offrimi un caffè!

  2. #2
    Ospite Guest

    Predefinito

    Cosa non capisci di preciso? :)

    A prima vista, a me sembra molto chiara quella guida...

    Ciao!

  3. #3
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Ho capito cosa devo creare in MySQL (oggi ho anche scoperto come!) ma non ho capito il nome che devono avere le pagine e il rispettivo codice...
    Apprezzi l'aiuto? Offrimi un caffè!

  4. #4
    Guest

    Predefinito

    penso il nome che vuoi, no??

  5. #5
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Il pensiero è una cosa la certezza è ne è un'altra...
    Mi sa che ogni file deve avere un preciso nome...

    EDIT: Ho capito come memorizzare i dati nel MySQL ma non ho capito come estrarli...quello che voglio è mettere in una tabella i vari dati, qualcuno mi può aiutare a capire come fare?
    Ultima modifica di miki92 : 30-12-2007 alle ore 21.16.42
    Apprezzi l'aiuto? Offrimi un caffè!

  6. #6
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    A me sembra molto chiara quella guida. Leggila e fai qualche tentativo. Se poi non riesci a fare qualcosa, spiega quello che hai fatto e gli errori che ottieni.

    P.S.: Non contattarmi in privato per un aiuto. Diminuisci l'altezza della firma.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  7. #7
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Ho capito come si inseriscono dati nel MySQL, creo questo script
    header.inc.php
    Codice PHP:
    <?php
    if(!isset($_GET['noStat'])){
    $sql="INSERT INTO statistiche (pagina,data_ora,user_agent,language,indirizzo_ip,provenienza) values(\"".$_SERVER['SCRIPT_NAME']."\",now(),\"".$_SERVER['HTTP_USER_AGENT']."\",\"".$_SERVER['HTTP_ACCEPT_LANGUAGE']."\",\"".$_SERVER['REMOTE_ADDR']."\",\"".$_SERVER['HTTP_REFERER']."\")";
    @
    mysql_query($sql) or die(mysql_error());
    }
    ?>
    Questo script poi lo includo in tutte le pagine che voglio che siano analizzate per le statistiche e se voglio che la mia visita non venga contata quando visito il sito devo fare cosi: index.php?noStat, pagina2.php?noStat, ecc

    Per contare le visite oggi:
    Codice PHP:
    <?php
    $sql
    ="select * from statistiche where date_format(data_ora,'%d-%m-%Y')=date_format(now(),'%d-%m-%Y')";
    $result=mysql_query($sql) or die(mysql_error());
    $totale_visite_oggi=mysql_result($result,0,0);
    ?>
    Pagine Visitate:
    Codice PHP:
    <?php
    $sql
    ="select pagina from statistiche where date_format(data_ora,'%d-%m-%Y')=date_format(now(),'%d-%m-%Y')";
    $result=mysql_query($sql) or die(mysql_error());
    while(
    $row_pagine=mysql_fetch_array($result)){
    $nome_pagina=$row_pagine['pagina']
    echo
    "$nome_pagina <BR>";
    }
    ?>
    Ma non so mettere insieme tutti questi codici per creare una tabella contenente tutti i dati (ora, ip con ultime cifre nascoste, data, provenienza, ecc).
    Apprezzi l'aiuto? Offrimi un caffè!

  8. #8
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Basta che esegui la query:
    Codice:
    SELECT * FROM statistiche
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  9. #9
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Allora ho provato cosi:
    index.php
    Codice PHP:
    <?php include('header.inc.php'); ?>
    header.inc.php
    Codice PHP:
    <?php
    $connessione
    =mysql_connect("localhost","user","pass") or die(mysql_error());
    $basedati=mysql_select_db("my_miki92")or die(mysql_error());

    if(!isset(
    $_GET['noStat'])){
    $sql="INSERT INTO statistiche (pagina,data_ora,user_agent,language,indirizzo_ip,provenienza) values(\"".$_SERVER['SCRIPT_NAME']."\",now(),\"".$_SERVER['HTTP_USER_AGENT']."\",\"".$_SERVER['HTTP_ACCEPT_LANGUAGE']."\",\"".$_SERVER['REMOTE_ADDR']."\",\"".$_SERVER['HTTP_REFERER']."\")";
    @
    mysql_query($sql) or die(mysql_error());
    }
    ?>
    conta.php
    Codice PHP:
    <?php
    $sql
    ="SELECT * FROM statistiche date_format(data_ora,'%d-%m-%Y')=date_format(now(),'%d-%m-%Y')";
    $result=mysql_query($sql) or die(mysql_error());
    while(
    $row_pagine=mysql_fetch_array($result)){
    $nome_pagina=$row_pagine['pagina']
    echo
    "$nome_pagina <BR>";
    }
    ?>
    Aprendo la index sembra andare tutto bene, aprendo conta.php invece esce: Parse error: syntax error, unexpected T_ECHO in C:\www\conta.php on line 6
    Apprezzi l'aiuto? Offrimi un caffè!

  10. #10
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Hai dimenticato il punto e virgola dopo:
    Codice PHP:
    $nome_pagina=$row_pagine['pagina']
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  11. #11
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    RE-RE-EDIT:

    Scusate ho provato a fare quello di cui avevo bisogno come dice la guida ma non sono riuscito nel mio intento...
    Ho provato come prima cosa le pagina totali visualizzate oggi, ne ho viste 3 e me ne risulta 1.
    Ho provato a vedere le pagine viste totalmente e me ne risulta sempre 1.
    Ho provato a vedere quali pagine ho visitato (con due IP diversi 127.0.0.1/79.xxx.xxx.x) ma mi visualizza sempre

    pagina.php
    pagina2.php
    pagina2.php
    pagina3.php
    pagina3.php

    Mentre vorrei

    pagina.php 1
    pagina2.php 2
    pagina3.php 2
    Ultima modifica di miki92 : 01-01-2008 alle ore 14.31.37
    Apprezzi l'aiuto? Offrimi un caffè!

  12. #12
    Guest

    Predefinito

    Hai eseguito tutte le istruzioni della guida? Hai eseguito la connessione al MySQL prima di eseguire le queries?

  13. #13
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Si, inizialmente avevo dimenticato di connettermi a MySQL ma poi dopo la connessione ha funzionato quasi tutto bene cioè, io vorrei, come ho detto sopra, che lo script mi visualizzi:

    pagine_visitate_oggi TOT_PAGINE_OGGI

    pagine_totali TOT_PAGINE_TOTALI

    user_agent TUTTI_GLI_USER_AGENT

    provenienza TUTTE_LE_PROVENIENZE

    Ma non mi funzioano gli script...vi prego qualcuno sa aiutarmi?
    Apprezzi l'aiuto? Offrimi un caffè!

  14. #14
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Se scrivi gli script che stai utilizzando, possiamo aiutarti a correggerli, altrimenti è impossibile farlo.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  15. #15
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Questo è quello per memorizzare i dati nel database che verrà incluso in tutte le pagine:
    Codice PHP:
    <?php
    $connessione
    =mysql_connect("localhost","root","") or die(mysql_error());
    $basedati=mysql_select_db("guestbook")or die(mysql_error());

    if(!isset(
    $_GET['noStat'])){
    $sql="INSERT INTO statistiche (pagina,data_ora,user_agent,language,indirizzo_ip,provenienza) values(\"".$_SERVER['SCRIPT_NAME']."\",now(),\"".$_SERVER['HTTP_USER_AGENT']."\",\"".$_SERVER['HTTP_ACCEPT_LANGUAGE']."\",\"".$_SERVER['REMOTE_ADDR']."\",\"".$_SERVER['HTTP_REFERER']."\")";
    @
    mysql_query($sql) or die(mysql_error());
    }
    ?>
    Quante pagine sono state visitate oggi:
    Codice PHP:
    <?php
    $connessione
    =mysql_connect("localhost","root","") or die(mysql_error());
    $basedati=mysql_select_db("guestbook")or die(mysql_error());

    $sql="select * from statistiche where date_format(data_ora,'%d-%m-%Y')=date_format(now(),'%d-%m-%Y')";
    $result=mysql_query($sql) or die(mysql_error());
    $totale_visite_oggi=mysql_result($result,0,0);
    ?>
    Quali pagine abbiamo visto:
    Codice PHP:
    <?php
    $connessione
    =mysql_connect("localhost","root","") or die(mysql_error());
    $basedati=mysql_select_db("guestbook")or die(mysql_error());

    $sql="select pagina from statistiche where date_format(data_ora,'%d-%m-%Y')=date_format(now(),'%d-%m-%Y')";
    $result=mysql_query($sql) or die(mysql_error());
    while(
    $row_pagine=mysql_fetch_array($result)){
    $nome_pagina=$row_pagine['pagina'];
    echo
    "$nome_pagina <BR>";
    }
    ?>
    Pagine viste e quante volte:
    Codice PHP:
    <?php
    $sql
    ="select pagina, count(*) as totale from statistiche where date_format(data_ora,'%d-%m-%Y')=date_format(now(),'%d-%m-%Y') group by pagina";
    $result=mysql_query($sql) or die(mysql_error());
    while(
    $row_pagine=mysql_fetch_array($result)){
    $nome_pagina=$row_pagine['pagina'];
    $visite_pagina=$row_pagine['totale'];
    echo
    "$nome_pagina | $visite_pagina"
    }
    ?>
    Apprezzi l'aiuto? Offrimi un caffè!

  16. #16
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Quali script ti danno errore e che errore ti danno di preciso?
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  17. #17
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Se apro il file per le pagine visitate oggi, mi compare un numero casuale (oggi 17).
    Se apro il file per le pagine visualizzate in totale non si visualizza niente.
    Se apro il file per vedere quali pagine sono state viste e il rispettivo numero di visualizzazzioni esce cosi:
    Codice PHP:
    1/pagin1.php
    2
    /pagina2.php
    2
    /pagina2.php
    5
    Allora ho deciso di lasciare perdere il codice di web-link e di farne uno io peò non riesco a capire proprio niente di MySQL.
    Apprezzi l'aiuto? Offrimi un caffè!

  18. #18
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Nelle pagine visitate oggi prova a sostituire:
    Codice PHP:
    $sql="select * from statistiche where date_format(data_ora,'%d-%m-%Y')=date_format(now(),'%d-%m-%Y')";
    Con:
    Codice PHP:
    $sql="SELECT COUNT(*) FROM statistiche WHERE date_format(data_ora,'%d-%m-%Y')=date_format(now(),'%d-%m-%Y')";
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  19. #19
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Parse error: syntax error, unexpected T_STRING in C:\www\vedi.php on line 5
    Apprezzi l'aiuto? Offrimi un caffè!

  20. #20
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Potresti scrivere il codice che utilizzi. Io non vedo errori nel cambiamento che ti ho suggerito.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  21. #21
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Secondo il sito dovrebbe essere questo (in più ho messo la tua modifica):
    Codice PHP:
    <?php
    $connessione
    =mysql_connect("localhost","root","") or die(mysql_error());
    $basedati=mysql_select_db("guestbook")or die(mysql_error());

    $sql="$sql="SELECT COUNT(*) FROM statistiche WHERE date_format(data_ora,'%d-%m-%Y')=date_format(now(),'%d-%m-%Y')";
    $result=mysql_query($sql) or die(mysql_error());
    $totale_visite_oggi=mysql_result($result,0,0);
    echo
    $totale_visite_oggi;
    ?>
    Sono tre giorni di ricerca in internet e di tentativi falliti su questi script...
    Apprezzi l'aiuto? Offrimi un caffè!

  22. #22
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Perché hai aggiunto "$sql=" in più? Toglilo.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  23. #23
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Marò sono cosi esaurito? Comunque ora funziona però non blocca gli IP unici? Cioè io credevo che questo script mi contasse le visite totali, quelle del giorno, però bloccando gli IP unici...si può modificare?
    Apprezzi l'aiuto? Offrimi un caffè!

  24. #24
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Devi bloccarli prima di inserirli nel database.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  25. #25
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Quindi come dovrebbe venire il codice? (Questo si deve modificare vero?)
    Codice PHP:
    <?php
    $connessione
    =mysql_connect("localhost","root","") or die(mysql_error());
    $basedati=mysql_select_db("my_miki92")or die(mysql_error());

    if(!isset(
    $_GET['noStat'])){
    $sql="INSERT INTO statistiche (pagina,data_ora,user_agent,language,indirizzo_ip,provenienza) values(\"".$_SERVER['SCRIPT_NAME']."\",now(),\"".$_SERVER['HTTP_USER_AGENT']."\",\"".$_SERVER['HTTP_ACCEPT_LANGUAGE']."\",\"".$_SERVER['REMOTE_ADDR']."\",\"".$_SERVER['HTTP_REFERER']."\")";
    @
    mysql_query($sql) or die(mysql_error());
    }
    ?>
    Apprezzi l'aiuto? Offrimi un caffè!

  26. #26
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Devi fare un SELECT dove estrai dalla tabella i record che hanno lo stesso indirizzo IP dell'utente in un arco di tempo (per esempio il giorno stesso). Se esiste almeno un record, non effettui l'inserimento, altrimenti lo effettui.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  27. #27
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Scusami ma ho già detto che di MySQL non ne capisco un tubo...potresti darmi la pappa pronta
    Apprezzi l'aiuto? Offrimi un caffè!

  28. #28
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Pappa pronta in arrivo...
    Codice PHP:
    <?php
    $connessione
    =mysql_connect("localhost","root","") or die(mysql_error());
    $basedati=mysql_select_db("my_miki92") or die(mysql_error());

    if (!isset(
    $_GET['noStat'])) {
    $risultato=mysql_query("SELECT * FROM statistiche WHERE indirizzo_ip='".mysql_escape_string($_SERVER['REMOTE_ADDR'])."' AND date_format(data_ora,'%d-%m-%Y')=date_format(now(),'%d-%m-%Y')");
    if (
    mysql_num_rows($risultato)==0) {
    $sql="INSERT INTO statistiche (pagina,data_ora,user_agent,language,indirizzo_ip,provenienza) values(\"".$_SERVER['SCRIPT_NAME']."\",now(),\"".$_SERVER['HTTP_USER_AGENT']."\",\"".$_SERVER['HTTP_ACCEPT_LANGUAGE']."\",\"".$_SERVER['REMOTE_ADDR']."\",\"".$_SERVER['HTTP_REFERER']."\")";
    mysql_query($sql) or die(mysql_error());
    }
    }
    ?>
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  29. #29
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Mi fai anche il giochetto dell'aeroplanino che arriva per farmi aprire la bocca?
    EDIT: Ok funziona, ora il codice per prelevare l'user agent, il refer o altro come eh?
    Ultima modifica di miki92 : 01-01-2008 alle ore 18.59.44
    Apprezzi l'aiuto? Offrimi un caffè!

  30. #30
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Non vedo dove sia l'errore.
    3 visite per la pagina "1.php" che si trova nella root del tuo sito, 2 visite per la pagina "2.php" che si trova nella root del tuo sito e 13 visite per la pagina "add.php" che si trova nella root del tuo sito.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

Pagina 1 di 4 123 ... UltimoUltimo

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •