Visualizzazione risultati 1 fino 21 di 21

Discussione: Collegamenti in PHP

  1. #1
    ohjolly non è connesso Neofita
    Data registrazione
    10-10-2003
    Messaggi
    26

    Question Collegamenti in PHP

    Salve a tutti ^^ sono ancora un principiante per quanto riguarda la creazione di siti in php e ho incontrato un primo ostacolo che spero possiate aiutarmi a superarlo.

    Navigando alla ricerca di vari siti realizzati in php non ho potuto fare a meno di notare che i collegamenti ipertestuali utilizzati per accedere alle varie aree del sito, hanno tutti come destinazione la pagina iniziale con la sola differenza nel tipo di parametri passati. Vi faccio un esempio:

    mi trovo in www.miosito.it/index.php e ho sulla sinistra della pagina i seguenti collegamenti:

    pagina1
    pagina2
    pagina3

    ora se passo col mouse su questi, nella barra di stato mi appare il percorso a cui fanno riferimento e per tutti è lo stesso tranne che per i parametri, esempio:

    http://www.miosito.it/index.php?passaggio=pg1
    http://www.miosito.it/index.php?passaggio=pg2
    http://www.miosito.it/index.php?passaggio=pg3

    Il punto è il seguente, finora sono riuscito a fare pagine che ricevono dei parametri e restituiscono le informazioni inerenti a questi, ma comunque ad ogni pagina corrisponde un tipo di informazione differente. Quindi se volessi rifarmi all'esempio precedente il mio risultato sarebbe così:

    http://www.miosito.it/pagina1.php?passaggio=pg1 (il passaggio dei parametri posso ometterlo per alcune pagine)
    http://www.miosito.it/pagina2.php?passaggio=pg2
    http://www.miosito.it/pagina3.php?passaggio=pg3

    Quello che non riesco a capire è come fare in un unica pagina a far restituire informazioni differenti considerando poi che non tutte le informazioni devono essere visualizzate allo stesso modo...

    Potrei anche realizzare il sito nel modo descritto sopra ma così facendo non dovrò caricare le stesse immagini (che rappresentano la struttura del sito) ogni volta che accedo ad una pagina del sito (non precedentemente visitata)?

    Mi rendo conto di essere stato troppo prolisso però spero di aver reso bene l'idea...

    Vi ringrazio in anticipo per una vostra eventuale risposta nella speranza di superare anche questo ostacolo. ^^''

    Buona Navigazione a tutti! ^^

  2. #2
    Guest

    Predefinito

    devi usare un codice tipo questo:
    Codice PHP:
    if($step=="2") {
    include(
    "2.php");
    exit;
    }
    al posto dell'include devi mettere il codice della pagina

  3. #3
    ohjolly non è connesso Neofita
    Data registrazione
    10-10-2003
    Messaggi
    26

    Exclamation Grazie ^^''

    Grazie mille jostock ma non ho capito bene 2 cose:

    Il codice che mi hai inserito serve per effettuare la visualizzazione della pagina se la condizione di $step è verificata.

    La variabile che hai utilizzato tu $step la definisco sopra come una normale variabile?

    Come faccio a leggere il parametro passato?

    Se inserisco il codice che mi hai scritto e definisco la variabile $step ponendola magari ad un valore tipo "1" che nn deve avere effetto dato che la condizione si verifica quando $step è uguale a 2, come faccio a leggere il valore passato come parametro così da modificare $step da "1" a "2"?

    Ti ringrazio ancora per la risposta e grazie per la pazienza ciaoooo ^^''

  4. #4
    Guest

    Predefinito

    se tu fai la tua index con quel codice poi vai in index.php?step=1 ecc funzia cosi nn devi recuperare nessuna variabile

  5. #5
    Guest

    Predefinito

    per far funzionare questi 3 link inserirei un codice del genere:

    Codice PHP:
    if(isset($_GET['passaggio'])){
    if(
    $_GET['passaggio']=="pg2"){
    include(
    "pg2.php");
    }
    elseif(
    $_GET['passaggio']=="pg3"){
    include(
    "pg3.php");
    }
    else{
    include(
    "pg1.php");
    }
    }
    Ciao! :D

  6. #6
    Guest

    Predefinito

    oppure anke questo:

    Codice PHP:
    $section = isSet($_GET['section']) ? $_GET['section'] : null;
    $all_pages = array('home', 'news'); // qui metti tutte le tue pagine
    if(in_array($section, $all_pages)) {
    include(
    $path . $section . '.php');
    exit;
    } else {
    echo
    "Pagina inesistente. Modifica nell'url non accettabile";
    }

  7. #7
    ohjolly non è connesso Neofita
    Data registrazione
    10-10-2003
    Messaggi
    26

    Predefinito U_u

    Vi ringrazio entrambi per i vostri consigli, ho messo in pratica tutto ciò che mi avete scritto ma purtroppo il problema persiste, in pratica nn accade nulla... Mi sa che ripiegherò sul mio metodo non voglio farvi perdere tempo oltretutto ho studiato del php solo le cose + semplici dato che con dreamweaver molte operazioni le faccio in automatico...

    Grazie ancora tanto per la vostra disponibilità a presto ^^'' ciaooooooooo

  8. #8
    Guest

    Predefinito

    no, queto è un ottimo metodo.. guada queto esempio..

    nella pagina index.php c'è il codice:
    <?php
    if (!$pagina) {
    include("home.php)";
    } else {
    include("$pagina");
    }
    ?>

    se apri la pagina con indirizzo index.php, poichè non esiste la variabile pagina, verrà inclusa la pagina home.php, altrimenti, se esiste la variabile pagina, (quindi index.php?pagina=ciao.php) verrà inclusa la pagina ciao.php..
    se invece digiti index.php?pagina=prova.php verrà inclusa la pagina prova.php..

    capito com'è il procedimento? ;)

    ciao!!
    giaco

  9. #9
    ohjolly non è connesso Neofita
    Data registrazione
    10-10-2003
    Messaggi
    26

    Smile ^_^

    Grazie per l'aiuto WrestlingForum, proverò questo codice che mi hai scritto e ti farò sapere, spero tanto che funzioni grazie mille cmq.

    Ci sentiamo ciaoooooooo :winkOLD:

  10. #10
    Guest

    Predefinito

    aggiungi gli exit; cosi:

    <?php
    if (!$pagina) {
    include("home.php)";
    exit;
    } else {
    include("$pagina");
    exit;
    }
    ?>

  11. #11
    Guest

    Predefinito

    Citazione Originalmente inviato da ohjolly
    Grazie per l'aiuto WrestlingForum, proverò questo codice che mi hai scritto e ti farò sapere, spero tanto che funzioni grazie mille cmq.

    Ci sentiamo ciaoooooooo :winkOLD:
    di nulla! certo che funziona! ;)

  12. #12
    ohjolly non è connesso Neofita
    Data registrazione
    10-10-2003
    Messaggi
    26

    Red face ^^''

    Ho provato WrestlingForum ad usare il codice che mi hai inserito ma ahimé la procedura che voglio utilizzare io è leggermente diversa e non ho saputo interpretare bene il codice U_U perdonami... (OVVIAMENTE :grin: il codice funzionerà solo che io non l'ho interpretato bene).
    In pratica se leggi il mio primo post noterai che le pagine hanno come parametri un "nome parametro"="valore" quindi al parametro non è associata la pagina ma un valore che fa riferimento ad essa.
    Utilizzando il codice sottostante se clicco sul collegamento <a href="ese_tab.php?prova=2">Commenti... mi appare la pagina desiderata ma se non ci clicco sopra, nello spazio dove dovrà apparire tale pagina, mi esce tale errore:

    Notice: Undefined index: prova in
    c:\programmi\easyphp1-8\www\prova2\tmp88hvhm3xjf.php on line 42

    41 <?php
    42 if ($HTTP_GET_VARS['prova']==2) {
    43 include('commenti.php');
    44 } ?>

    In pratica dice che "prova" non è definito... ora, alla riga 42, io ho inserito la chiamata del parametro (anche se metto la nuova notazione $GET['prova'] fa lo stesso problema) "prova" se io definisco $prova=1 per esempio prima di tale chiamata mi fa lo stesso errore...

    Mannaggia e dire che ci sono quasi, mi funziona il collegamento con relativa visualizzazione della pagina chiamata ma ho questo errore perenne quando non clicco niente... Ho provato anche a mettere un else così da far apparire cmq qualcosa se nn clicco su nessun collegamento ma alla fine esce il qualcosa + l'errore... Y_Y

    Sono una frana lo so ma questo argomento è l'unico ostacolo che per ora ho incontrato, gli altri bene o male li ho risolti, del resto c'è tempo per programmare in php cose più complesse ma per ora vorrei soltanto fare un sito semplice e veloce da caricare.

    Grazie ancora di tutto WrestlingForum, spero di riuscire a risolvere il problema perché mi sono fermato nella creazione del sito a causa di questo. ^^''

    Ciaooooooooooooooooooooooooooooooooooooooo

    PS
    Tutti sti problemi nascono perché un Informatico sfaticato come me non ha avuto la pazienza e la costanza di studiare il linguaggio php che tra l'altro è molto simile al C ^^'') :P

  13. #13
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    non
    $GET['prova']
    ma
    $_GET['prova']

    con l'underscore '_' prima di GET
    e, secondo,
    calcola che i valori dei parametri passati in querystring (GET ma anche in POST) arrivano come STRINGA dunque devi fare:
    if ($_GET['prova']=='2') {
    ...

    Poi è ovvio che se la pagina la testi in locale o altro, SENZA avergli passato il parametro 'prova' (eseguendola tipo: pagina.php?prova=2) non te lo trova..
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  14. #14
    L'avatar di webscript
    webscript non è connesso Utente attivo
    Data registrazione
    28-11-2004
    Messaggi
    320

    Predefinito

    jostock perchè usi gli exit? a mio avviso sono inutili.

    Anche perchè uno esclude l'altro.

  15. #15
    Guest

    Predefinito

    se provi a fare una pagina con scritto il codice senza exit; e poi ciao nel codice html poi vai nella pagina ke hai incluso index.php?prova=prova ti viene scritto il codice di quella pagina + ciao dell'altra pagina

  16. #16
    L'avatar di webscript
    webscript non è connesso Utente attivo
    Data registrazione
    28-11-2004
    Messaggi
    320

    Predefinito

    si ma è concettualmente inutile... anche perchè in tutti i casi toglie tutto quel che c'e sotto... quindi tanto vale non metterlo... (sia quel che c'è sotto, che exit.

    Sono tutte cose che se evitate, potrebbero velocizzare di poco la pagina

  17. #17
    Guest

    Predefinito

    allora, guarda è semplice fare come vuoi tu:

    pagina index.php
    [PHP+
    <?php
    if (!$passaggio) {
    include("home.php");
    } elseif ($passaggio == "2") {
    include("passaggio2.php);
    } elseif ($passaggio == "3") {
    include("passaggio3.php);
    }

    capito ora? :D

    ciao!
    Ultima modifica di wrestlingforum : 01-09-2005 alle ore 10.33.52

  18. #18
    ohjolly non è connesso Neofita
    Data registrazione
    10-10-2003
    Messaggi
    26

    Predefinito ^^''

    Citazione Originalmente inviato da heracleum
    Poi è ovvio che se la pagina la testi in locale o altro, SENZA avergli passato il parametro 'prova' (eseguendola tipo: pagina.php?prova=2) non te lo trova..
    Quindi? Se quando clicco sul collegamento funge ma quando apro la pagina la prima volta appare questo errore, come fare per non farlo apparire +?

    X WrestlingForum, il codice che mi hai scritto nn mi funge, probabilmente sbaglio io qualcosa :(

  19. #19
    Guest

    Predefinito

    se posso permettermi, io tempo fa avevo fatto uno script per fare proprio questo, lo ho pubblicato nel mio sito se ti interessa questo è il link: http://stanws.altervista.org/download.php?category=0
    lo script in questoine è il secondo, all'interno del file trovi tutte le informazioni e le spiegazioni necessarie.
    -ciao
    P.S.: moderatori se credete che questo sia spam eliminate pure questo post

  20. #20
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Strano però che ti da proprio errore (qual è l'ultimo mess. di errore di preciso che ti dà quando non è passato il parametro?)
    Ad ogni modo gestisci il caso iniziale, in cui non viene passato nessun parametro e quindi controlli, se non esiste 'prova' includi una pagina di benvenuto o quello che vuoi.
    Codice PHP:
    if (!isset($_GET['prova'])) {
    include(
    'welcome.php');
    }else if (
    $_GET['prova']=='2') {
    include(
    'commenti.php');
    }else if ...
    ...
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  21. #21
    ohjolly non è connesso Neofita
    Data registrazione
    10-10-2003
    Messaggi
    26

    Thumbs up ^___^

    Ragazzi miei non finirò mai di ringraziarvi per tutto il vostro aiuto, finalmente ho risolto il problema e pensare che c'è l'avevo sotto agli occhi e non ci avevo fatto caso...

    Heracleum ha centrato in pieno la ragione del problema infatti ho risolto facendo passare il parametro base dall'index e una volta nell'home poi clicco sui vari collegamenti per visionare le altre pagine, così facendo l'errore è scomparso.

    Il vostro aiuto mi è stato molto prezioso e vi ringrazio tantissimo per la vostra pazienza nella speranza di poter ancora contare su di voi per "possibili" problemi.

    GRAZIE MILLE ci si sente ciaooooooooooooooo :grin:

Regole di scrittura

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