Pagina 1 di 2 12 UltimoUltimo
Visualizzazione risultati 1 fino 30 di 49

Discussione: Menù in PHP e XML che cambia in se stesso

  1. #1
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito Menù in PHP e XML che cambia in se stesso

    Ciao qualcuno sa linkarmi un sito dove posso trovare un menù in PHP che usi un file XML per leggere i link e i rispettivi collegamenti che però alla fine del menù abbia un link "Avanti" che eseguendo un refresh della pagina (o solo di quello script php) mi mostri altri link al posto di quelli iniziali?

    Cioè io ho un menù con questi link:

    Link 1
    Link 2
    Link 3
    Link 4
    Link 5

    Avanti >>>


    L'utente vede questi link appena apre il sito dopodichè se clicca su "Avanti >>>" li cambia con questi altri:

    Link 6
    Link 7
    Link 8
    Link 9
    Link 10

    <<< Indietro


    Però tutto questo deve essere prelevato da un file XML. Sapete aiutarmi?
    Apprezzi l'aiuto? Offrimi un caffè!

  2. #2
    Guest

    Predefinito

    usa la funzion simplexml_load_file() .
    ora t faccio uno script e poi lo metto in questo msg editandolo...
    Codice PHP:
    <?php
    $path
    = "data.xml"; //path del file
    if(file_exists($path)) {
    $xml = simplexml_load_file($path);
    } else {
    exit(
    "Errore: il file ".$path." non esiste");
    }
    if(isset(
    $_GET['p'])) {
    $add = $_GET['p'] + 1;
    $men = $_GET['p'] - 1;
    $var = $_GET['p'];
    } else {
    $add = 1;
    $men = 1;
    $var = 1;
    }
    foreach(
    $xml->children() as $links) {
    if(
    $var == $links['var']) {
    echo
    "<a href=\"".$links['link']."\" target=\"".$links['target']."\">".$links."</a><br />";
    }
    }
    echo
    "<a href=\"?p=".$men."\">Indietro</a> | <a href=\"?p=".$add."\">Avanti</a>";
    ?>
    e poi il file: data.xml :
    Codice:
    <?xml version="1.0" encoding="utf-8" ?>
    <tag>
    <link link="http://google.it" var="1" target="target">GOOGLE</link>
    <link link="http://google.it" var="1" target="target">GOOGLE</link>
    <link link="http://google.it" var="1" target="target">GOOGLE</link>
    <link link="http://google.it" var="1" target="target">GOOGLE</link>
    <link link="http://google.it" var="1" target="target">GOOGLE</link>
    <link link="http://google.it" var="1" target="target">GOOGLE</link>
    <link link="http://google.it" var="2" target="target">GOOGLE</link>
    <link link="http://google.it" var="2" target="target">GOOGLE</link>
    <link link="http://google.it" var="2" target="target">GOOGLE</link>
    <link link="http://google.it" var="2" target="target">GOOGLE</link>
    <link link="http://google.it" var="2" target="target">GOOGLE</link>
    <link link="http://google.it" var="2" target="target">GOOGLE</link>
    </tag>
    Praticamente ogni 6 links metti un var diverso, cioè di un numero maggiore al precedente. In questo modo puoi metterne anche di + in alcuni.
    Se vuoi t posso anche dare una mano se lo vuoi automatizzare tramite pannello di controllo...ciaoo
    Ultima modifica di NetSkin : 19-09-2007 alle ore 17.33.09

  3. #3
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Ma c'è la possibilità anche di scegliere la frame di destinazione?
    Apprezzi l'aiuto? Offrimi un caffè!

  4. #4
    Guest

    Predefinito

    editato!

  5. #5
    Guest

    Predefinito

    Per una cosa così semplice, perchè disturbare XML?
    Visto che i dati da prelevare sono semplici link, basterebbe anche un txt, o un php incluso...

    Basta avere una lista di link, magari separati da un carattere speciale o meglio uno per riga, e il gioco è fatto, se tanto le proprietà di tali link sono tutti uguali.


    Ciaooooo!!!!!

  6. #6
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Mi sono annoiato di vedere sempre le solite faccie e cosi ho invitato XML a casa mia per un caffè ed ha accettato.

    Ho voluto usare un file XML perchè mi piace la sua struttura e la sua integrazione con PHP. Io ho chiesto un link e mi è stato dato lo script...sono sempre più felice di aver scelto AlterVista come mio primo forum!!!
    Apprezzi l'aiuto? Offrimi un caffè!

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da debug Visualizza messaggio
    Per una cosa così semplice, perchè disturbare XML?
    Visto che i dati da prelevare sono semplici link, basterebbe anche un txt, o un php incluso...

    Basta avere una lista di link, magari separati da un carattere speciale o meglio uno per riga, e il gioco è fatto, se tanto le proprietà di tali link sono tutti uguali.


    Ciaooooo!!!!!
    Molto molto vero, anche perchè necessita php5 ... , ma non è questo il fatto! io penso comunque che per miki92 usare xml oltre per cambiare è anche un modo per analizzarne il codice e capirne lo svolgimento. Capito questo poi è facile programmare con xml, che a mio parere, è molto meglio di txt per esempio per creare un forum !
    Ultima modifica di NetSkin : 19-09-2007 alle ore 20.00.30

  8. #8
    Guest

    Predefinito

    Citazione Originalmente inviato da NetSkin Visualizza messaggio
    Molto molto vero, anche xkè necessita php5 ... , ma nn è questo il fatto! io penso comunque che x miki92 usare xml oltre x cambiare è anche un modo per analizzarne il codice e capirne lo svolgimento. Capito questo poi è facile programmare con xml, che a mio parere, è molto meglio di txt x ex x creare un forum !
    Su questo sono d'accordo.
    p.s. vado di corsa, scusate le mei x ..ciao!!
    Ci hai messo più tempo per scrivere questo PS che non a scrivere un messaggio decente.


    Ciaoooo!

  9. #9
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Scusa se sono un po' viziato...ma si potrebbe aggiungere una formattazione a tutti i link richiamata dai css cosi:
    Codice HTML:
    <span class="menu_php">qui il codice php di NetSkin</span>
    e un titolo fisso sopra tutti i link?
    Apprezzi l'aiuto? Offrimi un caffè!

  10. #10
    Ospite Guest

    Predefinito

    Citazione Originalmente inviato da miki92 Visualizza messaggio
    Scusa se sono un po' viziato...ma si potrebbe aggiungere una formattazione a tutti i link richiamata dai css cosi:
    Codice HTML:
    <span class="menu_php">qui il codice php di NetSkin</span>
    e un titolo fisso sopra tutti i link?
    Cambia
    Codice PHP:
    echo "<a href=\"".$links['link']."\" target=\"".$links['target']."\">".$links."</a><br />";
    in:
    Codice PHP:
    echo "<a class=\"menu_php\" href=\"".$links['link']."\" target=\"".$links['target']."\">".$links."</a><br />";
    Per il titolo, puoi metterlo prima dello script di NetSkin.

  11. #11
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    @probid Grazie funziona
    @NetSkin Ora data.xml è diventato:
    Codice:
    <?xml version="1.0" encoding="utf-8" ?>
    <tag>
    <link link="http://google.it" var="1" target="target">GOOGLE</link>
    <link link="http://google.it" var="1" target="target">GOOGLE</link>
    <link link="http://google.it" var="1" target="target">GOOGLE</link>
    <link link="http://google.it" var="1" target="target">GOOGLE</link>
    <link link="http://google.it" var="1" target="target">GOOGLE</link>
    <link link="http://google.it" var="1" target="target">GOOGLE</link>
    <link link="http://google.it" var="2" target="target">GOOGLE</link>
    <link link="http://google.it" var="2" target="target">GOOGLE</link>
    <link link="http://google.it" var="2" target="target">GOOGLE</link>
    <link link="http://google.it" var="2" target="target">GOOGLE</link>
    <link link="http://google.it" var="2" target="target">GOOGLE</link>
    <link link="http://google.it" var="2" target="target">GOOGLE</link>
    <link link="http://google.it" var="3" target="target">GOOGLE</link>
    <link link="http://google.it" var="3" target="target">GOOGLE</link>
    <link link="http://google.it" var="3" target="target">GOOGLE</link>
    <link link="http://google.it" var="3" target="target">GOOGLE</link>
    <link link="http://google.it" var="3" target="target">GOOGLE</link>
    <link link="http://google.it" var="3" target="target">GOOGLE</link>
    </tag>
    Ma visualizzo solo 7 link senza il pulsante avanti.
    Apprezzi l'aiuto? Offrimi un caffè!

  12. #12
    Guest

    Predefinito

    guarda che a me funge..
    Codice PHP:
    <?php
    $path
    = "data.xml"; //path del file
    $max = 3; //Numero di click max
    if(file_exists($path)) {
    $xml = simplexml_load_file($path);
    } else {
    exit(
    "Errore: il file ".$path." non esiste");
    }
    if(isset(
    $_GET['p'])) {
    $add = $_GET['p'] + 1;
    $men = $_GET['p'] - 1;
    $var = $_GET['p'];
    }
    if(!isset(
    $_GET['p'])) {
    $add = 1;
    $men = 1;
    $var = 1;
    }
    if(isset(
    $_GET['p'])) {
    if(
    $_GET['p'] == 1) {
    $men = 1;
    $add = 2;
    $var = $_GET['p'];
    }
    }
    if(isset(
    $_GET['p'])) {
    if(
    $_GET['p'] == ($max - 1)) {
    $add = $max - 1 ."&n=true";
    }
    }
    foreach(
    $xml->children() as $links) {
    if(
    $var == $links['var']) {
    echo
    "<a class=\"menu_php\" href=\"".$links['link']."\" target=\"".$links['target']."\">".$links."</a><br />";
    }
    }
    if(isset(
    $_GET['p'])) {
    if(
    $_GET['p'] == 1) {
    echo
    "<a href=\"?\">Indietro</a>";
    } else {
    echo
    " <a href=\"?p=".$men."\">Indietro</a>";
    }
    }
    if(!isset(
    $_GET['n'])) {
    echo
    " <a href=\"?p=".$add."\">Avanti</a>";
    }
    ?>
    EDIT: ti ho fatto qualche modifica...
    EDIT: EDIT: @debug:
    Vero che facevo prima a scrivere correttamente, però ho prima scritto "male" e poi ho fatto il p.s. .. comunque sia ora ho editato quel messaggio, in modo che chi lo legga capisca!, omettendo tutti gli orrori di grammatica che commetto XD
    Ultima modifica di NetSkin : 19-09-2007 alle ore 20.02.33

  13. #13
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Allora forse è meglio darci assistenza maggiore qui NetSkin:
    Codice PHP:
    <?php
    $path
    = "data.xml"; //path del file
    if(file_exists($path)) {
    $xml = simplexml_load_file($path);
    } else {
    exit(
    "Errore: il file ".$path." non esiste");
    }
    if(isset(
    $_GET['p'])) {
    $add = $_GET['p'] + 1;
    $men = $_GET['p'] - 1;
    $var = $_GET['p'];
    } else {
    $add = 1;
    $men = 1;
    $var = 1;
    }
    foreach(
    $xml->children() as $links) {
    if(
    $var == $links['var']) {
    echo
    "<a href=\"".$links['link']."\" target=\"".$links['target']."\" class=\"menu_php\">".$links."</a><br />";
    }
    }
    echo
    "<a href=\"?p=".$men."\">Indietro</a> | <a href=\"?p=".$add."\">Avanti</a>";
    ?>
    Appena arrivo ai primi link il collegamento "Indietro" esiste ancora e mi porta a pagina -1,-2 ecc che non hanno collegamenti e non mi visualizza niente. Io vorrei che ai primi link, quindi a "pagina 1", il link "Indietro" scompare e compare solo avanti.
    Apprezzi l'aiuto? Offrimi un caffè!

  14. #14
    Ospite Guest

    Predefinito

    Al posto di:
    Codice PHP:
    echo "<a href=\"?p=".$men."\">Indietro</a> | <a href=\"?p=".$add."\">Avanti</a>";
    Metti:
    Codice PHP:
    if($men>1)
    echo
    "<a href=\"?p=".$men."\">Indietro</a> | ";

    echo
    "<a href=\"?p=".$add."\">Avanti</a>";

  15. #15
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Succede che visualizzo tutti "Avanti | Indietro" Immagine Qui
    Apprezzi l'aiuto? Offrimi un caffè!

  16. #16
    Ospite Guest

    Predefinito

    Non è che l'hai messo nel ciclo?
    Copia questo:

    Codice PHP:
    <?php
    $path
    = "data.xml"; //path del file
    if(file_exists($path)) {
    $xml = simplexml_load_file($path);
    } else {
    exit(
    "Errore: il file ".$path." non esiste");
    }
    if(isset(
    $_GET['p'])) {
    $add = $_GET['p'] + 1;
    $men = $_GET['p'] - 1;
    $var = $_GET['p'];
    } else {
    $add = 1;
    $men = 1;
    $var = 1;
    }
    foreach(
    $xml->children() as $links) {
    if(
    $var == $links['var']) {
    echo
    "<a href=\"".$links['link']."\" target=\"".$links['target']."\" class=\"menu_php\">".$links."</a><br />";
    }
    }
    if(
    $men>1)
    echo
    "<a href=\"?p=".$men."\">Indietro</a> | ";

    echo
    "<a href=\"?p=".$add."\">Avanti</a>"; ?>

  17. #17
    Guest

    Predefinito

    @miki92:
    ma che 6 scemo XD!
    http://forum.it.altervista.org/540255-post12.html
    ho editato da tanto aggiustando quel prob...
    Ultima modifica di NetSkin : 19-09-2007 alle ore 21.20.28

  18. #18
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    @probid L'ho inserito tra codice HTML della mia index nel tag body.
    @NetSkin Scusa ma tra quello che hai postato e tra quello che mi dicevi in chat non ho capito niente e ho saltato quel passaggio perchè credevo sbagliato.

    Comunque grazie a tutti ora funziona bene.

    EDIT: Ma devo usare php5?
    Ultima modifica di miki92 : 20-09-2007 alle ore 13.20.03
    Apprezzi l'aiuto? Offrimi un caffè!

  19. #19
    Ospite Guest

    Predefinito

    EDIT: Ma devo usare php5?
    Citazione Originalmente inviato da NetSkin
    anche perchè necessita php5
    le funzioni SimpleXML sono disponibili soltanto in PHP5.
    @probid L'ho inserito tra codice HTML della mia index nel tag body.
    Perchè non segui le istruzioni che ti vengono fornite invece di fare di testa tua sbagliando per poi dire che sono gli script a non funzionare?
    Per favore non replicare, non era una domanda.

  20. #20
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    No no non replico però vorrei sapere come devo fare a far funzionare lo script dato che deve venir inserito nella mia index (quindi nella root).
    Apprezzi l'aiuto? Offrimi un caffè!

  21. #21
    Guest

    Predefinito

    vedi nel thread ufficiale di php5, devi usare htaccess. ciao

  22. #22
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Scusate se riposto ma se voglio fare il modo che quando il mouse va sopra il link esca una descrizione cosa devo aggiungere?
    Apprezzi l'aiuto? Offrimi un caffè!

  23. #23
    Guest

    Predefinito

    All'interno del tag a: title="Descrizione"


    Ciao!

  24. #24
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Dovrei quindi fare cosi:
    Codice PHP:
    <?php
    $path
    = "xml/menu.xml"; //path del file
    $max = 3; //Numero di click max
    if(file_exists($path)) {
    $xml = simplexml_load_file($path);
    } else {
    exit(
    "Errore: il file ".$path." non esiste");
    }
    if(isset(
    $_GET['p'])) {
    $add = $_GET['p'] + 1;
    $men = $_GET['p'] - 1;
    $var = $_GET['p'];
    }
    if(!isset(
    $_GET['p'])) {
    $add = 1;
    $men = 1;
    $var = 1;
    }
    if(isset(
    $_GET['p'])) {
    if(
    $_GET['p'] == 1) {
    $men = 1;
    $add = 2;
    $var = $_GET['p'];
    }
    }
    if(isset(
    $_GET['p'])) {
    if(
    $_GET['p'] == ($max - 1)) {
    $add = $max - 1 ."&n=true";
    }
    }
    foreach(
    $xml->children() as $links) {
    if(
    $var == $links['var']) {
    echo
    "<a class=\"menu_php\" title=\"".$title['title']."\" href=\"".$links['link']."\" target=\"".$links['target']."\">".$links."</a><br />";
    }
    }
    if(isset(
    $_GET['p'])) {
    if(
    $_GET['p'] == 1) {
    echo
    "<a href=\"?\">Menù Indietro</a>";
    } else {
    echo
    "<center><a href=\"?p=".$men."\">Menù Indietro</a></center>";
    }
    }
    if(!isset(
    $_GET['n'])) {
    echo
    "<center><a href=\"?p=".$add."\">Menù Avanti</a></center>";
    }
    ?>
    Apprezzi l'aiuto? Offrimi un caffè!

  25. #25
    Ospite Guest

    Predefinito

    Citazione Originalmente inviato da miki92 Visualizza messaggio
    Scusate se riposto ma se voglio fare il modo che quando il mouse va sopra il link esca una descrizione cosa devo aggiungere?
    Mi chiedo il perchè di questa domanda visto che sbirciando nel codice del menu all'interno delle pagine del tuo sito, ho individuato diverse occorrenze di:
    Codice:
    <a title="descrizione" ..>

  26. #26
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Certo, ma ora che sto facendo il menù in php e xml volevo sapere come modificare questo codice affinchè la descrizione venga sempre prelevata dal file xml.
    Apprezzi l'aiuto? Offrimi un caffè!

  27. #27
    Ospite Guest

    Predefinito

    Codice:
    <?xml version="1.0" encoding="utf-8" ?>
    <tag>
    <link link="http://google.it" var="1" target="target" desc="descrizione">GOOGLE</link>
    <link link="http://google.it" var="1" target="target" desc="descrizione">GOOGLE</link>
    <link link="http://google.it" var="1" target="target" desc="descrizione">GOOGLE</link>
    <link link="http://google.it" var="1" target="target" desc="descrizione">GOOGLE</link>
    <link link="http://google.it" var="1" target="target" desc="descrizione">GOOGLE</link>
    
    </tag>
    sostituisci:
    Codice PHP:
    echo "<a class=\"menu_php\" title=\"".$title['title']."\" href=\"".$links['link']."\" target=\"".$links['target']."\">".$links."</a><br />";
    con:
    Codice PHP:
    echo "<a class=\"menu_php\" title=\"".$links['desc']."\" href=\"".$links['link']."\" target=\"".$links['target']."\">".$links."</a><br />";
    affinchè la descrizione venga sempre prelevata dal file xml.
    Avresti dovuto specificarlo in precedenza.

  28. #28
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Ok grazie probid molto gentile.

    EDIT: Online non funziona di nuovo. Guardate cosa mi fa, allora in primo luogo non mi visualizza 7 collegamenti ma 4 e se vado avanti sono sempre gli stessi e non cambiano!
    Ultima modifica di miki92 : 21-09-2007 alle ore 21.06.53
    Apprezzi l'aiuto? Offrimi un caffè!

  29. #29
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Prova a modificare tutte le righe nel formato (inserendo anche il valore di "xxx" in grassetto):
    Codice:
    <link link="xxx" var="xxx" target="xxx" desc="xxx">xxx</link>
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  30. #30
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Cosa intendi dire? Dovrei aggiungere quella tua riga al file XML?
    Apprezzi l'aiuto? Offrimi un caffè!

Pagina 1 di 2 12 UltimoUltimo

Regole di scrittura

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