Visualizzazione risultati 1 fino 20 di 20

Discussione: Link url directory php

  1. #1
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito Link url directory php

    Buona sera a tutti^^
    ho di nuovo bisogno del vostro aiuto, x quanto abbia cercato nelle varie guide web, non riesco a capire come realizzare un menu di link con le pagine raccolte in diverse cartelle utilizzando php.

    Mi spiego meglio... scusate,
    seguendo questa guida LINK sono riuscita a realizzare una piccola sezione del mio sito in php, molto pratico, veloce e funzionale x cui ho pensato di trasformare in php anche un'altra sezione^^

    Per sezione intendo pagine dedicate contenute in una cartella/directory specifica,
    in questa cartella ho suddiviso le pagine per arcomenti, per cui ho altre cartelle
    ora, il mio problema è questo, come faccio a mettere un link nella home di queste pagine considerando che lo script che ho ora x aprire le pagine nella cartella principale è questo:
    Codice PHP:
    <?php

    $p
    ="home"; //pagina di default per i contenuti centrali
    if(isset($_GET['page'])){ //pagina passata via parametro
    $p=$_GET['page'];
    if(
    $p!=basename($p) || !preg_match("/^[A-Za-z0-9\-_]+$/",$p) || $p=="index" || !file_exists($p.".php"))
    $p="error"; //pagina di errore
    }
    include(
    $p.".php");
    ?>
    In pratica io ho la cartella principale che si chiama "Natale"
    e dentro ci sono cartelle tipo: "gadget" "tag" "datari" ecc. ecc.

    Spero di esser stata chiara e che possiate aiutarmi GRAZIE

  2. #2
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    ciao, quello che serve a te è un PHP LINK DIRECTORY SCRIPT.

    qui trovi tanti script e gratuiti:
    http://sourceforge.net/search/?type_...rectory+script

    ciò che ho capito dalla tua descrizione è che vuoi uno script che indicizza ai file di una directory, guarda allora questo script:
    http://sourceforge.net/projects/autoindex/

    se ho capito male correggimi....?
    Ultima modifica di EuroSalute : 15-11-2010 alle ore 16.05.24 Motivo: più info
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  3. #3
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Ciao Euro grazie come sempre sei gentilissimo^^
    Allora ho guardato nei link che mi hai scritto, ma credo che quello che serve a me sia qualcosa di più semplice, nel senso che io devo solo fare in modo che il php capisca dove sta la pagina che viene lincata ovvero cerchi la cartella giusta.

    X il momento io ho realizzato questo LINK

    con questo script
    Codice PHP:
    <?php

    $p
    ="home"; //pagina di default per i contenuti centrali
    if(isset($_GET['page'])){ //pagina passata via parametro
    $p=$_GET['page'];
    if(
    $p!=basename($p) || !preg_match("/^[A-Za-z0-9\-_]+$/",$p) || $p=="index" || !file_exists($p.".php"))
    $p="error"; //pagina di errore
    }
    include(
    $p.".php");
    ?>
    scrivo i link in questo modo:
    Codice PHP:
    <a href="index.php?page=affiliati">PAG PROVA</a>
    ora se tu provi il link vedrai che funziona perfettamente perche la pagina è nella cartella principale "natale" il mio problema è linkare le pagine anteprima x i vari argomenti che si trovano in altre cartelle contenute nella cartella principale natale,
    perchè se io metto il link così:
    Codice PHP:
    <a href="index.php?page=adottini/icon">ICON</a>
    mi da' la pgina di errore....
    il percorso della pagina sarebbe questo:
    Codice HTML:
    http://www.iltelaiodipenelope.it/natale/adottini/icon.php
    Spero di essermi spiegata bene... ^_^ un abbraccio

  4. #4
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    be ovvio che ti da errore....

    il problema principale è nell' if di confronto :
    Codice PHP:
    if($p!=basename($p) || !preg_match("/^[A-Za-z0-9\-_]+$/",$p) || $p=="index" || !file_exists($p.".php"))
    $p="error"; //pagina di errore
    }
    e ovviamente se file non esiste ti darà sempre "error":
    Codice PHP:
    !file_exists($p.".php")
    devi inserire il percorso giusto($p) del file .php da includere nella pagina...

    anche basename() non va bene....

    il tuo è un codice che funziona se inserito in un file appartente a quella directory.
    Ultima modifica di EuroSalute : 15-11-2010 alle ore 19.31.03 Motivo: più info
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  5. #5
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Appunto Euro x questo avevo postato il codice, solo che non sono in grado di fare le giuste variazioni affinchè si aprano le pagine che stanno nelle varie cartelle.
    Non mi riesce di trovare una guida in italiano, x capire come fare.... haelp me!!!!

  6. #6
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    mi sa che forse ho sbagliato....

    puoi provare singolarmente ogni condizione dell if, dato che sono or ???
    __________________________________________________ ____________
    Allora ho provato queste 2 condizioni con $p="adottini/icon":
    $p!=basename($p) ==> l'output è icon
    !preg_match("/^[A-Za-z0-9\-_]+$/",$p)

    sono entrambi sbagliate!!!quindi ti da errore con tutte e due!!!

    per !file_exists($p.".php") ..dipende dove hai caricato lo script(il tuo codice) , in quale cartella?

    QUINDI NON HO SBAGLIATO....SENZA PROVARE!!!!

    __________________________________________________ ____________

    Allora puoi risolvere in questo modo:

    sostituisci !preg_match("/^[A-Za-z0-9\-_]+$/",$p) con:
    Codice PHP:
    !preg_match("/^[A-Za-z0-9\/-_]+$/",$p)
    sostituisci $p!=basename($p) con:
    Codice PHP:
    if (substr_count($p,"/")) $page=dirname($p)."/".basename($p) ;
    else
    $page = basename($p);
    //nell if:
    $p!=$page
    Ultima modifica di EuroSalute : 16-11-2010 alle ore 18.04.13 Motivo: PIù IONFO
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  7. #7
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Perfetto Euro ^_^ ora mi apre tutte le pagine,
    c'è un problema però, non legge le immagini, io in ogni cartella/categoria faccio anche una cartella "images" dove salvo tutte le immagini che mi servono x le pagine, per avere meno confusione. Per esempio nella pagina "adottini/icon" che ora si apre benissimo non si visualizzano le immagini che si trovano nella cartella images -- ovvero il percorso delle immagini sarebbe
    Codice HTML:
    http://www.miosito/natale/adottini/images/icon-1.gif
    mentre il percorso della pagina anteprima icon è:
    Codice HTML:
    http://www.miosito/natale/adottini/icon.php
    il link che uso per richiamarla è:
    Codice HTML:
    <a href="index.php?page=adottini/icon">ICON</a>
    spero di non averti confuso le idee!!!!

    Ho sistemato il codice così e forse al solito ho pasticciato io^^:
    Codice PHP:
    <?php

    $p
    ="home"; //pagina di default per i contenuti centrali
    if(isset($_GET['page'])){ //pagina passata via parametro
    $p=$_GET['page'];
    if (
    substr($p,"/")) $page=dirname($p)."/".basename($p) ;
    else
    $page = basename($p);
    }
    include(
    $p.".php");
    ?>
    PS Non ho più la pagina errore

    GRAZIE EURO ^_______^

  8. #8
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    probabilmente non hai capito quello che ho scritto....

    devi lasciare il loop di confronto variando la parte di basename e preg_match, così:
    Codice PHP:
    <?php

    $p
    ="home"; //pagina di default per i contenuti centrali
    if(isset($_GET['page'])){ //pagina passata via parametro

    $p=$_GET['page'];

    if (
    substr_count($p,"/")) $page=dirname($p)."/".basename($p) ;
    else
    $page = basename($p);

    if(
    $p!=$page || !preg_match("/^[A-Za-z0-9\/-_]+$/",$p) || $p=="index" || !file_exists($p.".php")) $p="error"; //pagina di errore

    }

    include(
    $p.".php");

    ?>
    per le immagini:

    se hai :
    iltelaiodipenelope.it/natale/index.php <== dove hai lo script
    avrai:
    iltelaiodipenelope.it/natale/adottini/icon.php
    e le immagini sono in:
    iltelaiodipenelope.it/natale/adottini/images/icon-1.gif
    dipende dal file icon.php che dovrà avere il percorso assoluto alle immagini

    controlla quindi nel file icon.php il percorso delle immagini da caricare.

    in pratica includendo il file icon.php alla index.php di natale, dovrai avere nel file icon.php:
    Codice HTML:
    <img border="0" src="adottini/images/penelopecrisfan1.gif">
    oppure:
    Codice HTML:
    <img border="0" src="http://iltelaiodipenelope.it/natale/adottini/images/penelopecrisfan1.gif">
    Ultima modifica di EuroSalute : 16-11-2010 alle ore 18.03.50 Motivo: più info
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  9. #9
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Grazie Euro ero sicura che avevo fatto casino io ^_^' ora faccio prova e ti faccio sapere^^
    Un abbraccio gentilissimo come sempre


    FUNZIONA TUTTO ALLA PERFEZIONE GRAZIE INFINITE ^____________^
    NATURALMENTE SARAI MENSIONATO NEI CREDITS
    UN ABBRACCIONE


    .... piccola rettifica^^
    con la stringa della pagina errore, non legge le pagine contenute nella cartella principale
    ovvero la base della sezione "cartella/natale" se la tolgo non ho la pagina errore però legge tutte le pagine,
    si può far qualcosa per avere questa opzione?
    Altrimenti la tolgo e via^^
    La stringa di cui parlo è questo pezzo qui:
    Codice PHP:
    if($p!=$page || !preg_match("/^[A-Za-z0-9\/-_]+$/",$p) || $p=="index" || !file_exists($p.".php")) $p="error"; //pagina di errore
    Ultima modifica di penelopesito : 16-11-2010 alle ore 17.29.48 Motivo: + info

  10. #10
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    scusami ho sbagliato l'istruzione, ho messo substr() invece di substr_count(), codice giusto:
    (nella fretta ho scritto substr() ed ho ommesso _count dell'istruzione)

    funziona sempre, anche per sottodirectory, es: adottini/icon/subicon/subsubicon ecc....
    Codice PHP:
    <?php

    $p
    ="home"; //pagina di default per i contenuti centrali
    if(isset($_GET['page'])){ //pagina passata via parametro

    $p=$_GET['page'];

    if (
    substr_count($p,"/")) $page=dirname($p)."/".basename($p) ;
    else
    $page = basename($p);

    if(
    $p!=$page || !preg_match("/^[A-Za-z0-9\/-_]+$/",$p) || $p=="index" || !file_exists($p.".php")) $p="error"; //pagina di errore

    }

    include(
    $p.".php");

    ?>
    Ultima modifica di EuroSalute : 16-11-2010 alle ore 18.45.42 Motivo: più info
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  11. #11
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Ora e' perfettissimo grazie e figurati se ti devi scusare io da sola non ce l'avrei mai fatta ^__________________^
    un abbraccio alla prossima che sicuro non sara' tanto a lungo....

  12. #12
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    ciao, un abbraccio ..... e auguroni

    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  13. #13
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    ...scusate se sono di nuovo qui a rompere^^
    premetto che ora il sito con le correzioni di Euro funziona perfettamente, solo che ho notato che in pratica adottando questa struttura x realizzare la mia piccola sezione ho ingabbiato tutte le pagine nella index, nel senso che se provo ad inserire un qualsiasi script (ho provato ad inserire il servizio di statistiche seguendo la lezione di weblink)funziona solo nella pagina index, compreso il contatore che si incrementa ad ogni clik sui link... e se lo metto su una qualsiasi pagina mi da le pagine della index >.<

    C'è un sistema diverso per realizzare un sito in php?

    Ho provato a leggere delle guide ma al solito con scarsi risultati.... non sono in grado di scrivere degli script in php
    grazie

  14. #14
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    dalle stats dovrebbe rilevare la pagina dal querystring...vedrai sempre la index.php ma dove punta:
    iltelaiodipenelope.it/natale/index.php?page=accessori/natalemondo

    punta alla pagina accessori/natalemondo


    utilizzando un servizio opportuno che ti permetta di inserire uno script che rilevi l'apertura di ogni singolo file
    Ultima modifica di EuroSalute : 19-11-2010 alle ore 19.31.40 Motivo: correzzioni/più info
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  15. #15
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Ciao Euro grazie prima di tutto^^
    allora io non so se mi sono spiegata bene su ciò che volevo dire... come al solito^^
    x farti capire se io provo a mettere questo script in una delle pagine:
    Codice PHP:
    <?php print ("Sei nella pagina: "); ?>
    <?php $currentPage
    = $_SERVER["PHP_SELF"];
    print (
    $currentPage); ?>
    e la vado ad aprire dalla index mi da il percorso della index e non quello della pagina^^ ora io mi ero divertita a realizzare il minisito in php proprio x provare un po' di script che ho trovato in giro ma essendo poi in un certo senso attiva solo la index non lo posso fare x cui mi chiedevo se c'era uno script diverso da utilizzare x far funzionare il menu affinchè le pagine sono siano incatenate nella index
    Un abbraccio

  16. #16
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    invece di utilizzare $_SERVER["PHP_SELF"], dovresti provare a utilizzare $_SERVER['REQUEST_URI']

    il manuale per $_SERVER lo trovi a questa pagina:
    http://php.net/manual/en/reserved.variables.server.php



    se prendiamo questa pagina di esempio iltelaiodipenelope.it/natale/index.php?page=gif/alberi
    $_SERVER['REQUEST_URI'] sarà uguale a /natale/index.php?page=gif/alberi
    quindi potresti fare così:
    Codice PHP:
    Sei nella Pagina : <a href="<?=$_SERVER['REQUEST_URI'] .'.php'?>">Gif Alberi</a>
    Ultima modifica di EuroSalute : 20-11-2010 alle ore 16.22.33 Motivo: più info
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  17. #17
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Ti ringrazio Euro e così magari faccio funzionare lo script per sapere il percorso delle pagine,
    ma c'è un altro script per il menu link?
    Un abbraccio e buonissimo fine settimana a tutti ^_^

  18. #18
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    ci sono altri metodi, e penso che siano molto simili fra di loro o anche a quello che utilizzi tu.

    uno di questi è quello che utilizza gli array e funzioni di stampa dei diversi contenuti(che sarebbero i contenuti di ogni file da includere)....questo metodo è abbastanza complesso, mentre quello che utilizzi tu è relativamente semplice.

    un esempio di funzione per includere i diversi contenuti delle pagine è questo :
    si può specificare un titolo, un contenuto e le dimensioni, la funzione ritornerà il titolo e il contenuto che si vuole visualizzare in quel punto della pagina....
    Codice PHP:
    function contenuto($title="",$content="", $width="100%", $height="100%") {
    return
    "
    <table cellpadding=0 cellspacing=0 class=\"\" width=\"
    $width\">
    <tr>
    <td>
    <table cellpadding=0 cellspacing=1 width=\"100%\">
    <tr>
    <td valign=\"top\" align=\"center\" class=\"\"><b>
    $title</b></td>
    </tr>
    <tr>
    <td bgcolor=\"\" valign=\"top\">
    <table cellpadding=2 width=\"100%\" height=\"
    $height\" class=\"\">
    <tr>
    <td valign=\"top\">
    $content</td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    "
    ;
    }
    puoi quindi utilizzare la funzione in questo modo, ovviamente dando alle variabili i rispettivi contenuti:
    Codice PHP:
    <? echo contenuto($includes[title], $includes[content]); ?>
    Ultima modifica di EuroSalute : 20-11-2010 alle ore 18.46.08 Motivo: più info
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  19. #19
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Ciao Euro ^_^ buon inizio settimana a tutti^^
    Allora ho provato uno script con gli array x le pagine ma io al solito ne ho troppe e mi diventa più complicato^^ e hai ragione x me è difficile la funzione che mi suggerisci dai va benissimo così per ora, mi studierò le funzioni x bene e vedrò se più avanti sarò in grado di trafficarci in caso saprò a chi rivolgermi x difficoltà^^
    Ti ringrazio tantissimo sei stato come sempre prezioso e paziente
    Un abbraccio alla prossima.... tanto non mancherà figurati!!!!

  20. #20
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    con gli array diventa più laborioso....

    bisogna impostare gli array per ogni pagina (o file .php) che si vuole andare a visualizzare in questo modo:
    prendiamo in esempio la pagina iltelaiodipenelope.it/natale/index.php?page=gif/alberi

    quindi sarà:
    Codice PHP:
    $modulo['gif/alberi'] = array("Gif Alberi","gif/alberi.php");

    //imposti una pagina not found:
    $modulo['not_found']= array("Pagina non trovata!","errors/404.php");

    if(!
    $modulo[$p][1]) {
    $p="not_found";
    }

    $includes[title]=$modulo[$p][0];

    if(!include(
    $modulo[$p][1])) {
    $p="not_found";
    include(
    $modulo[$p][1]);
    }
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

Regole di scrittura

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