Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [PHP] Readfile vs. Include

    Ho una pagina php, nella quale in base a una variabile presa dall'url ($_GET) inserisco una pagina in un certo punto!

    é meglio readfile o include?


    Grassie
    Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi! (A.Einstein)

  2. #2
    usa l'include o il require , però fai attenzione a validare quel parametro $_GET, di modo che non gli venga passato un percorso ai tuoi file di configurazione(tipo accesso al database o altro)

  3. #3
    Ciao,
    se devi includere contenuto html o testuale meglio readfile() o file_get_contents().
    Se devi includere codice PHP di solito si usa include() o require() (require_once() etc.etc.).

    Ovviamente presta attenzione alla sicurezza come ti ha detto Sibelium
    per favore NIENTE PVT TECNICI da sconosciuti

  4. #4
    si ma non c'è pericolo per quello ^^
    col $_GET prendo la variabile esempio news
    e poi sotto c'è
    codice:
    $pagina = $_GET['p'];
    if ($pagina == "news") {include("news.htm");}
    elseif ($pagina == "link") {include ("link.htm");}
    else {include("errore.htm");}
    Quindi non c'è pericolo ^^


    Una cosa: invece di stare li a mettere tutte quelle parentesi graffe, come potrei scrivere il codice qui su!?? Grassie grassie

    Userò readfile, dato che sono file htm! ^^
    Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi! (A.Einstein)

  5. #5
    Originariamente inviato da Sora88
    si ma non c'è pericolo per quello ^^
    col $_GET prendo la variabile esempio news
    e poi sotto c'è
    codice:
    $pagina = $_GET['p'];
    if ($pagina == "news") {include("news.htm");}
    elseif ($pagina == "link") {include ("link.htm");}
    else {include("errore.htm");}
    Quindi non c'è pericolo ^^


    Una cosa: invece di stare li a mettere tutte quelle parentesi graffe, come potrei scrivere il codice qui su!?? Grassie grassie

    Userò readfile, dato che sono file htm! ^^
    codice:
    $pagina = $_GET['p'];
    
    switch($pagina){
     case "news": $pagina = "news.html"; break;
     case "link": $pagina = "link.html"; break;
     default : $pagina = "errore.html";
    }
    
    @readfile($pagina);
    Soluzioni di Web marketing, CMS, Temi wordpress, grafica e molto altro

    -----
    Ogni topic aperto con un titolo errato fa perdere un capello al moderatore che lo dovrà sistemare.. se non vuoi contribuire alla calvizia dei moderatori apri 3D a norma di regolamento, e prima fai una ricerca! No pvt tecnici!

  6. #6
    Grassie, ma non intedevo usando lo switch ...usando la sintassi alternatvia per if elseif ed else, che ho letto su php.net, ma non ho capito molto come si fa...

    esempio ho

    codice:
    if ($ciao=="ciao") {echo "ciao";}
    elseif ($ciao=="no") {echo "no";}
    else { echo "?"}
    però senza tutte le { }!
    Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi! (A.Einstein)

  7. #7
    Originariamente inviato da Sora88
    Grassie, ma non intedevo usando lo switch ...usando la sintassi alternatvia per if elseif ed else, che ho letto su php.net, ma non ho capito molto come si fa...

    esempio ho

    codice:
    if ($ciao=="ciao") {echo "ciao";}
    elseif ($ciao=="no") {echo "no";}
    else { echo "?"}
    però senza tutte le { }!
    se hai solo una sola istruzione puoi omettere le graffe..

    altrimenti usi lo switch

    oppure se hai 2 sole condizioni puoi fare

    codice:
    $pagina = "p";
    ($pagina == "ciao") ? $a = "ciao" : $a = "altro";
    echo $a;
    se non è neppure questo spiegati meglio..
    Soluzioni di Web marketing, CMS, Temi wordpress, grafica e molto altro

    -----
    Ogni topic aperto con un titolo errato fa perdere un capello al moderatore che lo dovrà sistemare.. se non vuoi contribuire alla calvizia dei moderatori apri 3D a norma di regolamento, e prima fai una ricerca! No pvt tecnici!

  8. #8
    Questa va bene???

    <?

    $1="1.htm";
    $2="2.htm";
    $3="1.htm";
    $4="2.htm";
    $no="no.htm";
    if ($a == "news"):
    readfile($1);
    readfile($1);
    elseif ($a == "link"):
    readfile($3);
    readfile($4);
    else:
    readfile($no);
    endif;
    ?>
    Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi! (A.Einstein)

  9. #9
    scusa, così forse è più semplice:

    //definisci un array con le tue paggine

    $pagConsentite = array(1=>"pagina_01.htm",2=>"link.htm");
    $pagError = "error.htm";
    //pigli il parametro $_GET
    $pagina = $_GET[P];

    //controlli che sia in array
    if(array_key_exists($pagina,$pagConsentite)){
    //se sì lo leggi
    file_get_contents($pagConsentite[$pagina]);
    }
    else {
    file_get_contents($pagError);
    }

  10. #10
    Ok Grassie dei consigli ^^
    Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi! (A.Einstein)

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 © 2024 vBulletin Solutions, Inc. All rights reserved.