Pagina 4 di 4 PrimoPrimo ... 234
Visualizzazione risultati 91 fino 102 di 102

Discussione: Mettere nel sito "I più visti"

  1. #91
    Guest

    Predefinito

    C'è solo un problema....

    Non ho la minima idea di come si prenda il mac o l'ip con php...
    Magari chiedi in un altra discussione, poi se non riesci a implementare quello che ti dicono torna qui

  2. #92
    Guest

    Predefinito

    Citazione Originalmente inviato da tampertools Visualizza messaggio
    C'è solo un problema....

    Non ho la minima idea di come si prenda il mac o l'ip con php...
    Magari chiedi in un altra discussione, poi se non riesci a implementare quello che ti dicono torna qui
    Dovrebbe essere questo:
    Codice PHP:
    $ip = $_SERVER["REMOTE_ADDR"];
    print
    "Il tuo ip è $ip";
    SERVER_NAME Il nome dell' host dove lo script viene eseguito
    SERVER_ADMIN Dovrebbe contenere l’indirizzo e-mail inserito nel file di configurazione dall'amministratore
    REQUEST_URI La URI usata per accedere questa pagina.
    SERVER_SIGNATURE La firma del server contenente versione e host name
    SERVER_SOFTWARE La stringa di identificazione del server
    SCRIPT_FILENAME Il percorso assoluto dello script in esecuzione
    SCRIPT_NAME Il nome del file
    REMOTE_HOST Il nome del computer (di solito e’ l’isp con cui vi collegate ad internet)

    Ho messo così, a me non carica il db, prova tu a cliccare su qualche pagina. In pratica dovrei essere io l'amministratore del server
    Codice PHP:
    function contatore($title) {
    $continua = false;
    if (isset(
    $_SERVER['HTTP_REFERER']) && $_SERVER['SERVER_ADMIN'] != "") {
    $from = parse_url($_SERVER['HTTP_REFERER']);
    $from = parse_url($_SERVER['SERVER_ADMIN']);
    //$from = $from['host'];
    }
    else {
    $from = "";
    }
    echo
    "($from)";
    $whitelist = array(
    ...
    Ultima modifica di gruppoalveo : 05-04-2014 alle ore 00.17.37 Motivo: Aggiornamento

  3. #93
    Guest

    Predefinito

    HO RISOLTO. Ho messo un cookie che fa riconoscere i miei browsers. Eì sufficiente che entro nel mio sito almeno una volta l'anno (così ho settato il cookie)
    Ultima modifica di gruppoalveo : 07-04-2014 alle ore 03.20.53

  4. #94
    Guest

    Predefinito

    Scusa, non avevo visto che mi avevi risposto...

    Beh, bravo

  5. #95
    Guest

    Predefinito

    Citazione Originalmente inviato da tampertools Visualizza messaggio
    Scusa, non avevo visto che mi avevi risposto...

    Beh, bravo
    Pensavo di aver risolto, sto ancora lavorando sul cookie, non capisco perché non lo mantiene.

  6. #96
    Guest

    Predefinito

    Se metti il codice ti do una mano...

  7. #97
    Guest

    Predefinito

    Citazione Originalmente inviato da tampertools Visualizza messaggio
    Se metti il codice ti do una mano...
    Ho risolto mettendo un cookie più completo:

    Codice PHP:
    setcookie("contavisite","valore", time()+157680000,"/","gruppoalveo.altervista.org"); //Dura 5 anni
    Funziona con Safari, FF, Chrome, ma non con Opera e non so perché.

  8. #98
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,067

    Predefinito

    Ho letto solo gli ultimi messaggi.
    Prova a far così:
    Codice PHP:
    if(!headers_sent())
    setcookie("contavisite","valore", time()+157680000);
    else echo
    'Non posso settare il cookie: header già inviato!';
    E vedi se ha già inviato l'header. In tal caso, devi assicurarti di non aver fatto alcun output html prima di invocare la setcookie().

    Ciao!

  9. #99
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Ho letto solo gli ultimi messaggi.
    Prova a far così:
    Codice PHP:
    if(!headers_sent())
    setcookie("contavisite","valore", time()+157680000);
    else echo
    'Non posso settare il cookie: header già inviato!';
    E vedi se ha già inviato l'header. In tal caso, devi assicurarti di non aver fatto alcun output html prima di invocare la setcookie().

    Ciao!
    Il problema non credo sia il codice visto che come dicevo funziona con Safari, FF e Chrome. Io penso che è Opera browser che non va bene.

    Opera prende il cookie ma quando clicco sulle pagine, poi lo perde

    Ultima modifica di gruppoalveo : 07-04-2014 alle ore 18.39.14

  10. #100
    Guest

    Predefinito

    Qui si presenta un'altra situazione, ora il codice funziona, però vorrei mettere il numero di visite, non riesco a far stampare a video il numero che c'è nel database.
    Questo è il codice, in questa riga dove ci sono i 3 puntini dovrebbe esserci il codice che estrae da db il numero di click
    Codice PHP:
    echo "<div style=\"margin-bottom:-10px; font-size:11px; color:#c4c4c4;\">...volte</div><li>";
    Completo:

    Codice PHP:
    //Mette i dati nel DB e aumenta il contatore ad ogni visita
    function contatore($title) {
    if (empty(
    $_COOKIE["contavisite"])) { //Richiama il cookie che c'è in cookie.php
    $continua = false;
    if (isset(
    $_SERVER['HTTP_REFERER']) != "") {
    $from = parse_url($_SERVER['HTTP_REFERER']);
    $from = $from['host'];
    }
    else {
    $from = "";
    }
    $whitelist = array(
    //Pag. che non vuoi che il db conteggi quando l'utente vi arriva DA TERZI (se poi è nel mio sito e ci clicca su, ovviamente il contatore del db sale)
    "localhost"
    );
    foreach (
    $whitelist as $sito) {
    if (
    $from == $sito) $continua = true;
    }
    if (
    $continua) {
    $mysqli = new mysqli("localhost", "root", "pwd", "gruppoalveo");
    $url = $_SERVER['PHP_SELF'];
    $esiste = $mysqli->query ("SELECT * FROM visitate WHERE url='$url'");
    if (
    $esiste->num_rows == 0) {
    $mysqli->query ("INSERT INTO visitate VALUES ('$title', '$url', 1)");
    }
    else {
    $old = $esiste->fetch_array(MYSQLI_ASSOC);
    $visite = $old['visite'] + 1;
    $mysqli->query("UPDATE visitate SET pagina='$title', visite=$visite WHERE url='$url'");
    }
    }
    }
    }
    //Estrae i dati dal DB e crea la sequenza delle pagine più viste
    function piu_visitate($n) {
    $mysqli = new mysqli("localhost", "root", "pwd", "gruppoalveo");
    $pag_viste = $mysqli->query("SELECT * FROM visitate ORDER BY visite DESC LIMIT 0,$n");
    if (
    $pag_viste->num_rows > 0) {
    echo
    "<ol class=\"formol\"'piu_visitate'>";
    while (
    $link = $pag_viste->fetch_array(MYSQLI_ASSOC)) {
    echo
    "<div style=\"margin-bottom:-10px; font-size:11px; color:#c4c4c4;\">...volte</div><li>";
    echo
    "<a class=\"visti\" href='".$link['url']."'>".$link['pagina']."</a>";
    echo
    "</li>";
    }
    echo
    "</ol>";
    }
    }
    piu_visitate(5);

  11. #101
    Guest

    Predefinito

    Hai già provato con ... ?
    Codice PHP:
    echo "<div style=\"margin-bottom:-10px; font-size:11px; color:#c4c4c4;\">" . $link["visite"] ." volte</div><li>";

  12. #102
    Guest

    Predefinito

    Citazione Originalmente inviato da tampertools Visualizza messaggio
    Hai già provato con ... ?
    Codice PHP:
    echo "<div style=\"margin-bottom:-10px; font-size:11px; color:#c4c4c4;\">" . $link["visite"] ." volte</div><li>";
    Ok, funziona
    Ultima modifica di gruppoalveo : 11-04-2014 alle ore 23.19.54 Motivo: Aggiornamento

Pagina 4 di 4 PrimoPrimo ... 234

Regole di scrittura

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