Visualizzazione risultati 1 fino 11 di 11

Discussione: Modificare variabile

  1. #1
    Guest

    Predefinito Modificare variabile

    Questa variabile visualizza nella barra di stato (quella in basso a sinistra), l'url di 3° livello, cioè: miosito.altervista.org

    io dovrei modificarlo in modo che quando metto il puntatore sul link, mi visualizzi l'url di 2° livello: miosito.it

    Codice PHP:
    $url = $_SERVER['PHP_SELF'];
    ...
    echo
    "<a class=\"visti\" href='".$link['url']."'>&bull;&nbsp;&nbsp;&nbsp;".$link['pagina']."</a>";
    Ultima modifica di gruppoalveo : 09-07-2014 alle ore 00.38.06

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,762

    Predefinito

    Se vuoi una soluzione solo al tuo problema:
    Codice PHP:
    $url = str_replace('.altervista', '', $_SERVER['PHP_SELF']);
    Se invece vuoi una soluzione generale, vedi la parse_url()

    Ciao!

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Se vuoi una soluzione solo al tuo problema:
    Codice PHP:
    $url = str_replace('.altervista', '', $_SERVER['PHP_SELF']);
    Se invece vuoi una soluzione generale, vedi la parse_url()

    Ciao!
    Sai che non funziona, posto la parte:

    Codice PHP:
    ...
    $url = str_replace('.altervista', '', $_SERVER['PHP_SELF']);
    $esiste = $mysqli->query ("SELECT * FROM visitate WHERE url='$url'");
    if (
    $esiste->num_rows == 0) {
    $visite = 1;
    $mysqli->query ("INSERT INTO visitate(data_localeS, dataGmtS, pagina, url, visite, ip)
    VALUES ('
    $data_localeS', '$dataGmtS', '$pagina', '$url', '$visite', '$ip')");
    }
    else {
    $old = $esiste->fetch_array(MYSQLI_ASSOC);
    $visite = $old['visite'] + 1;
    $mysqli->query("UPDATE visitate SET data_localeS='$data_localeS', dataGmtS='$dataGmtS', pagina='$pagina', visite='$visite', ip='$ip' WHERE url='$url'");
    }
    }
    }
    }
    }
    //Estrae i dati dal DB e crea la sequenza delle pagine più viste
    $mysqli = new mysqli("localhost", "gruppoalveo", "pwd", "my_gruppoalveo");
    $pag_viste = $mysqli->query("SELECT * FROM visitate ORDER BY visite DESC LIMIT 0,7"); //Visualizza il numero di items
    if ($pag_viste->num_rows > 0) {
    echo
    "<div class=\"menuVisti\">";
    while (
    $link = $pag_viste->fetch_array(MYSQLI_ASSOC)) {
    echo
    "<div class=\"numeroVisite\">".$link["visite"]." volte</div>";
    echo
    "<a class=\"visti\" href='".$link['url']."'>&bull;&nbsp;&nbsp;&nbsp;".$link['pagina']."</a>";
    }
    echo
    "</div>";
    }

    error_reporting (E_ALL);
    ?>

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,762

    Predefinito

    Ah, non vuoi "miosito.org" ma "miosito.it", quindi sarebbe:

    Codice PHP:
    $url = str_replace('.altervista.org', '.it', $_SERVER['PHP_SELF']);
    Anche se purtroppo è una soluzione solo per il tuo caso e non generale; d'altronde è impossibile conoscere il dominio di primo livello se questo non corrisponde a quello del terzo livello.

    Ciao!
    Ultima modifica di alemoppo : 09-07-2014 alle ore 01.11.00

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Ah, non vuoi "miosito.org" ma "miosito.it", quindi sarebbe:

    Codice PHP:
    $url = str_replace('.altervista.org', '.it', $_SERVER['PHP_SELF']);
    Anche se purtroppo è una soluzione solo per il tuo caso e non generale; d'altronde è impossibile conoscere il dominio di primo livello se questo non corrisponde a quello del terzo livello.

    Ciao!
    Non va neanche così

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,762

    Predefinito

    A questo punto fai stampare la query e vedi cosa non va.

    Ciao!

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    A questo punto fai stampare la query e vedi cosa non va.

    Ciao!
    Non sono pratico, come la si stampa?

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

    Predefinito

    Codice PHP:
    eco "SELECT * FROM visitate WHERE url='$url'";
    Così vedi se la str_replace ritorna quel che vuoi...

    Ciao!

  9. #9
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Codice PHP:
    eco "SELECT * FROM visitate WHERE url='$url'";
    Così vedi se la str_replace ritorna quel che vuoi...

    Ciao!
    L'ho messo in fondo, da questo errore:

    Notice: Undefined variable: url in /membri/gruppoalveo/visitate.php on line 76
    SELECT * FROM visitate WHERE url=''


    Codice PHP:
    ...
    $url = str_replace('.altervista.org', '.it', $_SERVER['PHP_SELF']);
    $esiste = $mysqli->query ("SELECT * FROM visitate WHERE url='$url'");
    if (
    $esiste->num_rows == 0) {
    $visite = 1;
    $mysqli->query ("INSERT INTO visitate(data_localeS, dataGmtS, pagina, url, visite, ip)
    VALUES ('
    $data_localeS', '$dataGmtS', '$pagina', '$url', '$visite', '$ip')");
    }
    else {
    $old = $esiste->fetch_array(MYSQLI_ASSOC);
    $visite = $old['visite'] + 1;
    $mysqli->query("UPDATE visitate SET data_localeS='$data_localeS', dataGmtS='$dataGmtS', pagina='$pagina', visite='$visite', ip='$ip' WHERE url='$url'");
    }
    }
    }
    }
    }
    //Estrae i dati dal DB e crea la sequenza delle pagine più viste
    $mysqli = new mysqli("localhost", "gruppoalveo", "root", "my_gruppoalveo");
    $pag_viste = $mysqli->query("SELECT * FROM visitate ORDER BY visite DESC LIMIT 0,7"); //Visualizza il numero di items
    if ($pag_viste->num_rows > 0) {
    echo
    "<div class=\"menuVisti\">";
    while (
    $link = $pag_viste->fetch_array(MYSQLI_ASSOC)) {
    echo
    "<div class=\"numeroVisite\">".$link["visite"]." volte</div>";
    echo
    "<a class=\"visti\" href='".$link['url']."'>&bull;&nbsp;&nbsp;&nbsp;".$link['pagina']."</a>";
    echo
    "SELECT * FROM visitate WHERE url='$url'";
    }
    echo
    "</div>";
    Se invece lo metto così, non stampa niente:

    Codice PHP:
    $url = str_replace('.altervista.org', '.it', $_SERVER['PHP_SELF']);
    echo
    "SELECT * FROM visitate WHERE url='$url'";
    Ultima modifica di gruppoalveo : 09-07-2014 alle ore 07.28.37

  10. #10
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,762

    Predefinito

    Molto probabilmente, quindi, non passa proprio ad eseguire quella porzione di codice, ovvero non entra nell'if sopra: infatti quando metti il codice
    "sotto", dice che $url non è definita, mentre se lo metti dove esegui la query non stampa nulla (perché non ha mai eseguito quel codice).

    Ciao!

  11. #11
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Molto probabilmente, quindi, non passa proprio ad eseguire quella porzione di codice, ovvero non entra nell'if sopra: infatti quando metti il codice
    "sotto", dice che $url non è definita, mentre se lo metti dove esegui la query non stampa nulla (perché non ha mai eseguito quel codice).

    Ciao!
    Non si può sistemare? Bisognerebbe modificare qusto:

    Codice PHP:
    echo "<a class=\"visti\" href='".$link['url']."'>&bull;&nbsp;&nbsp;&nbsp;".$link['pagina']."</a>";
    Ultima modifica di gruppoalveo : 09-07-2014 alle ore 13.59.59

Regole di scrittura

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