Visualizzazione risultati 1 fino 11 di 11

Discussione: Querystring

  1. #1
    Guest

    Predefinito Querystring

    Ciao a tutti

    In che modo posso usare la querystring di PHP per fare in modo che una stessa pagina presenti, di volta in volta, un contenuto diverso?

    Mi spiego meglio. Youtube ha una directory chiamata watch, alla quale si aggiunge la quesrystring

    Codice PHP:
    ?v=
    e poi un codice alfanumerico che funziona da identificativo per un video.

    Come si ottiene una funzione del genere?

    Grazie anticipatamente a tutti.

  2. #2
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Analizzi il contenuto del parametro fornito (nel tuo esempio puoi usare l'espressione $_GET['v']) e reagisci di conseguenza.

  3. #3
    L'avatar di memai
    memai non è connesso Utente
    Data registrazione
    10-02-2010
    Residenza
    Bergamo
    Messaggi
    175

    Predefinito

    Solitamente vengono inseriti nei link ipertestuali e vengono richiamati in PHP con le variabili GET.
    Esempio:
    Codice HTML:
    <a href='pagina.php?v=bello
    in php per leggerlo:
    Codice PHP:
    echo "messaggio: ".$_GET['v']; # output messaggio: bello
    Poffarbacco, mi hai preceduto Karl!
    Ultima modifica di dreadnaut : 17-01-2013 alle ore 19.39.42 Motivo: Veloce Karl -linguaggio colorito
    Notte bistecca, ho l'acquolina in bocca e 'sta sera c'è, carne di manzo per me!

  4. #4
    Guest

    Predefinito

    Ok, grazie mille a entrambi.

    Quindi al posto che creare un array GET che invii le informazioni in query string, creo prima la query string e dopo ne recupero il contenuto con $_GET?


    EDIT:
    Forse pero' non mi sono spiegato correttamente.
    Dall' esempio che mi avete postato mi pare di capire che il valore associato alla chiave v (in questo caso) venga poi stampato a video tramire $_GET.

    In realta' a me non interessa del contenuto della query, io devo semplicemente fare in modo che l'utente possa creare una pagina, alla quale viene assegnato un id.

    Supponiamo quindi di avere la pagina index.php

    Una volta che il primo utente crea una pagina, l'ID della nuova pagina sara' 1. A questa pagina si accedera' da www. sito .it/index.php?id=1

    quando un altro utente creera' una nuova pagina, questa avra' ID=2 e quindi vi si accedera' da www. sito .it/index.php?id=2

    È possibile una cosa del genere? mi pare che sia quello che avviene su youtube, ogni video ha un ID, e la stessa pagina (penso sia index.php della directory watch) permette di visualizzare contenuti differenti in base al contenuto della query.

    Grazie ancora.
    Ultima modifica di threads : 17-01-2013 alle ore 19.25.14

  5. #5
    Guest

    Predefinito

    Secondo me puoi farlo salvandoti l'id in una tabella mysql, ad esempio: se hai una tabella con gli utenti e vuoi che ognuno possa avere una sola pagina fai una query count sulla tabella ed hai il numero, meglio ancora potresti associare ad ogni utente un id univoco ed usare quello. Per far vedere pagine diverse devi pensare un modo per far restituire pagine diverse da un tuo script php. Questo dovrebbe recuperare il numero e fare il display. Se vuoi prova con smarty, si configura ed usa in un attimo, puoi creare una pagina standard e riempirla con ciò che preferisci.

    EDIT: consiglio smarty perchè se ci fai caso le pagine sono tutte uguali, hanno la stessa struttura, cambiano i video, i commenti e la sidebar. Secondo me sono tutte la stessa pagina, ma popolate con contenuti distinti ;)
    Ultima modifica di eannunci : 17-01-2013 alle ore 21.43.36

  6. #6
    Guest

    Predefinito

    Il mio problema e' che non devo creare una pagina per utenti registrati. Cioe' e' sufficiente inserire un nick e postare.
    Comunque sono a buon punto, praticamente ho creato un form con method POST e action una pagina chiamata pagina.php a cui accodo una query del tipo

    Codice PHP:
    id=$n[0]
    dove $n e' un array range che va da 1 a un numero indefinito.

    Codice PHP:
    $n = range(1,100);
    Il problema e' fare in modo che il numero all'interno delle parentesi quadre[] cresca autonomamente ad ogni pagina creata... qualche consiglio?

  7. #7
    Guest

    Predefinito

    Forse allora ti ho capito male prima, pardòn.
    Per mantenerlo dovresti memorizzarlo dove non possa andar perso: file o database.
    Visto che è un solo numero ti consiglierei file.
    Apri il file, prendi il numero, lo converti in intero, lo usi, riscrivi il nuovo numero sul precedente, chiudi il file.

    EDIT: se salvi l'array potresti anche fare il count degli elementi.
    Ultima modifica di eannunci : 17-01-2013 alle ore 22.09.55

  8. #8
    Guest

    Predefinito

    Citazione Originalmente inviato da eannunci Visualizza messaggio
    Forse allora ti ho capito male prima, pardòn.
    Per mantenerlo dovresti memorizzarlo dove non possa andar perso: file o database.
    Visto che è un solo numero ti consiglierei file.
    Apri il file, prendi il numero, lo converti in intero, lo usi, riscrivi il nuovo numero sul precedente, chiudi il file.

    EDIT: se salvi l'array potresti anche fare il count degli elementi.
    Grazie mille per la risposta.

    Avevo pensato anch'io al count delgli elementi dell'array, ma il problema mi rimane. Cioe', come faccio a creare una variabile che si incrementi ad ogni iterazione? È possibile in qualche modo con $n++ ?

  9. #9
    Guest

    Predefinito

    Citazione Originalmente inviato da threads Visualizza messaggio
    Grazie mille per la risposta.

    Avevo pensato anch'io al count delgli elementi dell'array, ma il problema mi rimane. Cioe', come faccio a creare una variabile che si incrementi ad ogni iterazione? È possibile in qualche modo con $n++ ?
    Fai così, posto $a il nuovo elemento:
    $n[count($n)]=$a;

    count($n) è il numero di elementi, ma gli indici iniziano da zero, quindi punta direttamente al successivo ;)
    Senza fare incrementi e altro.

  10. #10
    Guest

    Predefinito

    Citazione Originalmente inviato da eannunci Visualizza messaggio
    Fai così, posto $a il nuovo elemento:
    $n[count($n)]=$a;

    count($n) è il numero di elementi, ma gli indici iniziano da zero, quindi punta direttamente al successivo ;)
    Senza fare incrementi e altro.
    Perfetto, grazie mille

  11. #11
    Guest

    Predefinito

    Per la cronaca e per chi ne avesse bisogno in futuro, spiego come ho risolto:

    Mi sono accorto che eannunci mi aveva dato un suggerimento che potevo applicare anche senza registrare gli utenti. Infatti una volta inviati i dati da un form ad un'altra pagina tramite POST, li invio al DB e associo loro un ID. Dopodiche' recupero l'ID dalla tabella e lo uso come valore per la chiave id= della query string.

    Grazie mille a tutti nuovamente ;)

Regole di scrittura

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