Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    76

    Leggere variabile da URL

    Ciao a tutti ,
    ho un piccolo problema che sto cercando di risolvere.

    Ho in file pagina.php, e altri file con estenzione *.txt.

    Quando apro il file pagina.php?apri=nome_articolo deve far visualizzare il testo HTML che si trova nel file specificato nell ' url.
    Per esempio:
    codice:
    Apro il file pagina.php?apri=benvenuto e il file php mi fà vedere il contenuto HTML del file benvenuto.txt.
    Ora penso di essere stato più chiaro.
    Il mio problema è che non so come far capire a PHP di includere quel determinato file.
    Ho già provato in questo modo:

    Codice PHP:
    <?php
    $estenzione 
    ".txt";
    php if (isset($_GET['apri']) && ($_GET['apri'] == '$nome_articolo')) {
    include(
    "$nome_articolo$estenzione");
    } else {
    print 
    "Errore : Nessun articolo da caricare";
    print 
    "
    "
    ;
    print 
    "Benvenuto nell'home page del sito =)";
    }
    ?>
    Grazie in anticipo! Ciao!

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    76
    Ho semplificato lo script ma non riesco ancora.

    Codice PHP:
    <?php 
    if (isset($_GET['apri']) && ($_GET['apri'] == '')) { 
        include(
    $_REQUEST['apri']".txt");

    ?>
    Aiuto vi prego! E' urgente!

    Grazie mille (in anticipo ) ancora.

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    76
    Scusate x il terzo post di seguito che faccio ma ci sono riuscito!!!
    Posto il codice nel caso in cui dovesse servise a qualcuno:
    Codice PHP:
    <?php 
    $nome_file 
    $_REQUEST['apri'];
    $variabile1 $nome_file;
    $variabile2 ".txt";
    $variabili "$variabile1$variabile2";
    if (isset(
    $_GET['apri']) && ($_GET['apri'] == $nome_file)) { 
        include(
    $variabili);
    } else {
        print 
    " Errore: Seleziona il file da aprire.";
    }
    ?>
    Infine l'ho modificato secondo i miei criteri:

    <?php
    $nome_file = $_REQUEST['apri'];
    $cartella = $_REQUEST['apri'];
    $variabile1 = $nome_file;
    $variabile2 = ".txt";
    $variabili = "$cartella/$variabile1$variabile2";
    if (isset($_GET['apri']) && ($_GET['apri'] == $cartella && $nome_file)) {
    include ($variabili);
    } else {
    print " ciao";
    }
    ?>
    Però in questo modo include il file che si trova nel percorso NomeFile/NomeFile non nel percorso NomeCartella/NomeFile

    Aiuto!

  4. #4
    Non ho capito se vuoi includere il file,nello script oppure far visualizzare il contenuto html come codice!

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    76
    Voglio far visualizzare il contenuto html.
    Comunque ho risolto in questo modo:
    Codice PHP:
    <?php 
    $cartella 
    $_REQUEST['cartella'];
    $nome_file $_REQUEST['file'];
    $database "DB";
    $variabile2 ".txt";
    $variabili "$database/$cartella/$nome_file$variabile2";
    if (
    $_GET['cartella'] == $cartella && $_GET['file'] == $nome_file) {
        include (
    $variabili);
    }
    ?>
    Questo script fà visualizzare il file *.txt (che si trova nella path DB/$cartella/$nome_file) con il codice HTML.


    P.S. ho usato "echo", negli script precedenti per vedere se il file riconosceva la path.

    Adesso non mi funge più "else".
    Guardate:

    <?php
    $cartella = $_REQUEST['cat'];
    $nome_file = $_REQUEST['file'];
    $database = "DB";
    $variabile2 = ".ydb";
    $variabili = "$database/$cartella/$nome_file$variabile2";
    if ($_GET['cat'] == $cartella && $_GET['file'] == $nome_file) {
    include ($variabili);
    } else {
    echo "ciao";
    }
    ?>


    Perchè non funziona?

  6. #6
    @Antuzzo

    Ciao,

    fa più attenzione gentilmente, quando devi aggiungere informazioni alla tua richiesta iniziale e, soprattutto quando nessuno ha ancora postato, puoi utilizzare il tasto modifica cosi da aggiungere le informazioni al post iniziale. Altrimenti, magari, chi legge si ritrova le informazioni sparpagliate per più post e gli sfugge qualcosa.

    Detto questo, evita di mixare $_REQUEST e $_GET perché, benché le variabili presenti in $_GET sono presenti anche in $_REQUEST non è vero il contrario!

    Inoltre non effettuare inclusioni di questo genere, ovvero prendendo le variabili dei percorsi direttamente dalle variabili senza effettuare nessun controllo (verificare che la variabile sia dentro il $_GET non serve a nulla dal punto di vista della sicurezza).

    Per essere "sicuro" che non ci siano problemi dovresti effettuare un primo controllo del tipo
    codice:
    if (($realpath = realpath($variabili) == false)
    {
        echo "Percorso inesistente";
        die();
    }
    else if (dirname(dirname($realpath)) != realpath('DB'))
    {
        echo "Percorso inaccessibile";
        die();
    }
    Il primo controllo si occupa di acquisire la path richiesta e di verificare se il file esiste, mentre il secondo acquisisce la path della cartella fino a DB e la confronta con realpath cosi da assicurarsi che i percorsi base siano corretti
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    76
    Grazie per la tua risposta ma capisco ancora poco di PHP .
    Quindi, in poche parole, potresti dirmi il codice?
    Scusa ma ho capito solo il 50% di quello che hai detto, mi dispiace perchè ho visto che per fare lo script e la risposta ti sei impegnato molto ma non sono in grado di capire completamente.

    Spero che tu non ci sia rimasto male.

    Antonio.

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.