Visualizzazione risultati 1 fino 22 di 22

Discussione: go.php e links in genere

  1. #1
    Guest

    Predefinito

    Ho notato che in molti siti in php i links sono del tipo
    www.nomesito.altervista.org/go.php?id=1

    Potete spiegarmi come sia fatto il file go.php?
    Potete scrivermene un esempio?

    e poi è possibile fare un link del genere, ma utilizzando una tabella mysql con i links?

    Ah, un'altra cosa: a che può servire ciò che viene spiegato in questo tutorial?

    http://www.webmasterpoint.org/php/tutorial/42.asp

    grazie

    Alex

  2. #2
    Guest

    Predefinito

    ciò che vedi dopo il carattere ? nei link, non è altro che l'elenco delle variabili che vengono inviate alla pagina o script go.php

    quando si aprirà la pagina go.php quindi, verrà creata in questo caso una variabile di nome $id a cui verrà assegnato il valore 1....

  3. #3
    Guest

    Predefinito

    nel tutorial che hai indicato, c'è spiegato il funzionamento dell'istruzione global........

    global, serve a rendere una variabile globale all'interno di tutto lo script... ti faccio un esempio che rende di più l'idea:

    [code:1:ed130d6da7]
    //creiamo una variabile e assegnamogli un valore:
    $nome="jolè";
    //ora creiamo una funzione che scrive il contenuto della variabile $nome
    function scrivinome() {
    //scrivi $nome
    echo $nome;
    }
    //eseguiamo la funzione scrivinome
    scrivinome();
    [/code:1:ed130d6da7]

    se eseguissimo questo breve script, sullo schermo non apparirebbe niente, poichè la variabile $nome all'interno della funzione è diversa dalla variabile $nome del programma principale.

    per dire alla funzione che $nome è proprio quella del programma principale, usiamo global!
    [code:1:ed130d6da7]
    //creiamo una variabile e assegnamogli un valore:
    $nome="jolè";
    //ora creiamo una funzione che scrive il contenuto della variabile $nome
    function scrivinome() {
    //dichiariamo $nome come variabile globale
    global $nome;
    //scrivi $nome
    echo $nome;
    }
    //eseguiamo la funzione scrivinome
    scrivinome();
    [/code:1:ed130d6da7]

    ora il nostro script scriverà sullo schermo "jolè"
    Ho usato la funzione per rendere l'idea, per passare le variabili a queste, ci sono altri metodi più efficaci...

    :D :D

  4. #4
    Guest

    Predefinito

    Citazione Originalmente inviato da Jole
    ciò che vedi dopo il carattere ? nei link, non è altro che l'elenco delle variabili che vengono inviate alla pagina o script go.php

    quando si aprirà la pagina go.php quindi, verrà creata in questo caso una variabile di nome $id a cui verrà assegnato il valore 1....

    Guarda le cose sono 2: o ho capito male io (molto probabile) oppure non ci siamo intesi

    per esempio: prova ad andare su www.sugandbibi.altervista.org e vedrai che tutti i link presentano un rimando a go.php e indicano una particolare id

    allora io vorrei capire cosa c'è in quel benedetto file go.php.

    credo ci sia uno script di collegamento a un db con una variabile id aperta (nel senso che non ha nessun valore) quindi passando l'url dice che id serve allo script di go.php. Esso lo acquisisce e dà come risultato l'url voluto prendendolo:
    a)dal db indicato
    b)da qualche altro file

    io vorrei capire come è strutturato lo script e come interagisce con il db

    spero non sia troppo difficile capire le mie elucubrazioni mentali :)

    grazie dell'aiuto

  5. #5
    Guest

    Predefinito

    Semplicemente si dice che passi le varibili per GET.
    La sintassi é questa:
    nomepagina.php?variabile1=nome1&variabile2=nom e2&---&variabilen=nomen

    Nella pagina php devi poi richiamare l'array $_GET passandogli come indirizzo il nome della variabile.

    Ad esempio nell'url ciao.php?nome=giovanni&cognome=rossi

    $_GET['nome']='giovanni'
    $_GET['cognome']='rossi'

  6. #6
    Guest

    Predefinito


    Pensavo che spiegandoti il significato del link avresti immaginato :?

    Comunque, il file go.php, è fatto molto probabilmente in questo modo

    [code:1:da049b0307]
    function primapagina() {
    ...
    ...
    ...
    }

    function secondapagina() {
    ...
    ...
    ...
    }

    function terzapagina() {
    ...
    ...
    ...
    }

    switch ($id) {
    case "1": primapagina();
    break;
    case "2": secondapagina();
    break;
    case "3": terzapagina();
    break;
    }

    [/code:1:da049b0307]

    a seconda della var $id che viene passata nell'url, go.php generera una pagina corrispondente!!!!


  7. #7
    Guest

    Predefinito

    Perchè non chiedete direttamente a sugan come è fatta la sua pagina go.php :D

  8. #8
    Guest

    Predefinito

    x jole: ho capito ma per ogni link uno dovrebbe fare una funzione?

    non è possibile fare uno script che costruisca la pagina in base al contenuto del db?

    gve ha scritto questo tempo fa:

    http://www.altervista.org/forum/viewtopic.php?t=12151

    secondo te può servire al mio intento?

    grazie dell'aiuto

  9. #9
    Guest

    Predefinito

    certo che si!
    infatti, il mio era solo un esempio........
    se guardi il mio sito, anche io ho usato questo metodo per creare tutte le pagine da index.php.....

  10. #10
    Guest

    Predefinito

    quindi non sono così tonto

    ecco, allora secondo te come mi dovrei comportare con sti pezzi di codice?

    <?php
    if (isset($_GET['act'])) include $_GET['act'];
    else include 'main.php';
    ?>

    <?php
    $conn=mysql_connect($host,$user,$pwd);
    mysql_select_db($db,$conn);

    $query = 'SELECT * FROM '.$table.' WHERE campomain='.$_GET['act'];
    $result = mysql_query($query,$conn);
    $row = mysql_fetch_array($result);

    mysql_close();

    .
    .
    output tramite echo e informazioni di formattazione dei vari campi
    .
    .

    ?>


    function primapagina() {
    ...
    ...
    ...
    }

    function secondapagina() {
    ...
    ...
    ...
    }

    function terzapagina() {
    ...
    ...
    ...
    }

    switch ($id) {
    case "1": primapagina();
    break;
    case "2": secondapagina();
    break;
    case "3": terzapagina();
    break;
    }

    grazie delvostro aiuto!!!

  11. #11
    Guest

    Predefinito

    Questo tutorial secondo me potrebbe servire:

    http://www.webmasterpoint.org/php/tutorial/51.asp

  12. #12
    Guest

    Predefinito

    Scusami, ieri poi non ti ho risposto......
    Nel db spero tu voglia mettere solo il nome della pagina da caricare....

    allora, nel tuo db, crea una tabella di nome pagine con due campi:
    ' id ' di tipo:INT, lunghezza:11,Attributi:UNSIGNED,extra:AUTOINCREMEN T,chekka indice!

    ' pagina ' di tipo TEXT se vuoi includere tutta la pagina o VARCHAR di lunghezza 20 per esempio se includi il nome della pagina da caricare!

    a questo punto, crei due file, uno che si chiama header.html, dove metti l'intestazione che includerai in tutte le pagine e footer.html in cui inserirai il messaggio che andrà nel piè di pagina.

    a questo punto, crei index.php in questo modo:

    [code:1:efa0bffbe5]
    <?php
    include("header.html");

    $conn=mysql_connect("localhost",&quo t;tuauser","tuapassword");
    mysql_select_db("tuodatabase",$conn& #41;;

    $result = mysql_query('SELECT * FROM pagine WHERE id=$id');
    $row = mysql_fetch_array($result);

    //se vuoi caricare la pagina metti
    include ($row[pagina]);

    //se la pagina è contenuta nel db metti
    echo $row[pagina];

    mysql_close();

    include("footer.html");
    ?>
    [/code:1:efa0bffbe5]

    in questo modo, caricherai la pagina che si trova nel db e che avrà come id il valore passato nell'url index.php?id=

  13. #13
    Guest

    Predefinito

    Tutti in coro:

    W JOLE'

    Grazie hai fatto anche più di quello che ti ho chiesto!!!! :D

    speravo anche solo in una spiegazione teorica, grazie!!!!

    cmq ieri avevo già provato il metodo di gve, ma questo che mi hai dato tu, mi consente di proseguire alla granda...

    quando sarà pronto il sito, non mi dimenticherò di questo tuo grande aiuto!!!!

  14. #14
    Guest

    Predefinito

    Grazie a te..........

    Mi hai fatto esprimere ai massimi livelli

  15. #15
    Guest

    Predefinito

    scusate se riporto su questo post, ma solo ora l'ho provato, mi da questo errore

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\programmi\easyphp\www\teamz\go.php on line 7

    cosa può essere?
    c'è da dire che lo script di jole l'ho messo in una pagina differente go.php che richiamo in index con un include....

    il codice è questo:

    <?php

    $conn=mysql_connect("localhost","miauser","miapass ");
    mysql_select_db("my_db",$conn);

    $result = mysql_query('SELECT * FROM pagine WHERE id=$id');
    $row = mysql_fetch_array($result);


    //se la pagina è contenuta nel db metti
    echo $row[pagina];

    mysql_close();


    ?>

    grazie dell'aiuto...

  16. #16
    Guest

    Predefinito

    prova così

    <?php

    $conn=mysql_connect("localhost","miauser","miapass ");
    mysql_select_db( "my_db" );

    $result = mysql_query( " SELECT * FROM pagine WHERE id = '$id' " );
    $row = mysql_fetch_row($result);


    //se la pagina è contenuta nel db metti
    echo $row[0];

    mysql_close();


    ?>

    ciaux ;)

    PS = naturalmente questo sempre dopo aver creato la tabella pagine sul tuo DB

  17. #17
    Guest

    Predefinito

    stessa risposta, con row al posto di array...

  18. #18
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    Ma hai delle tabelle nel tuo database?
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  19. #19
    Guest

    Predefinito

    infatti è quello che gli ho detto.. quell'errore lo da di solito quando o è sbagliata la query oppure le tabelle non esistono :D :D :D :D

  20. #20
    L'avatar di Alessandro1
    Alessandro1 non è connesso Utente storico
    Data registrazione
    22-04-2003
    Residenza
    Milano
    Messaggi
    2,483

    Predefinito

    Interessante questo topic :D
    MondoWeb.net - Crea gratis il tuo forum

  21. #21
    Guest

    Predefinito

    certo che c'è, ci sono tabelle e record...

  22. #22
    Guest

    Predefinito

    Citazione Originalmente inviato da gizax
    prova così

    <?php

    $conn=mysql_connect("localhost","miauser","miapass ");
    mysql_select_db( "my_db" );


    $result = mysql_query( " SELECT * FROM pagine WHERE id = '$id' " );
    $row = mysql_fetch_row($result);


    //se la pagina è contenuta nel db metti
    echo $row[0];

    mysql_close();


    ?>

    ciaux ;)

    PS = naturalmente questo sempre dopo aver creato la tabella pagine sul tuo DB
    C'è un errore!!!

    O fai così:
    [code:1:41cc20d0fa]
    mysql_connect("localhost","miau ser","miapass");
    mysql_select_db("my_db");
    [/code:1:41cc20d0fa]

    oppure così:
    [code:1:41cc20d0fa]
    $conn=mysql_connect("localhost", "miauser", "miapass");
    mysql_select_db("my_db", $conn);
    [/code:1:41cc20d0fa]

    Ps. a me funziona il metodo di Jole

    Ciao.

Regole di scrittura

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