Visualizzazione risultati 1 fino 13 di 13

Discussione: Passaggio variabile PHP

  1. #1
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito Passaggio variabile PHP

    Devo passare una variabile PHP da una pagina ad un'altra. In quali modi posso farlo?

  2. #2
    Guest

    Predefinito

    Citazione Originalmente inviato da tryhere Visualizza messaggio
    Devo passare una variabile PHP da una pagina ad un'altra. In quali modi posso farlo?
    Nella pagina A, per passare la variabile alla pagina B, dovrai dovrai semplicemente mettere un link di questo tipo:

    Codice HTML:
    <a href="paginab.php?variabile=valore>Collegamento alla pagina B</a>
    Vedi se funziona senza problemi

  3. #3
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Non intendevo questo,
    ho un form che invia i dati alla pagina B. Non posso con PHP inviare anche una variabile?

  4. #4
    Guest

    Predefinito

    tryhere se sei più chiaro possiamo aiutarti meglio, per esempio facendo un esempio del tuo problema, ma credo di aver capito.

    Nel caso di un form il mettodo di passaggio variabile è $_POST[], e funziona nel seguente modo.

    Costriusci il form in questo modo:

    Codice HTML:
    <form method="post" action="file.php"> <--! sostituisce file.php con il nome del file B -->
    <input type="tipo_di_variabile (bolleana, testo, chebox)" name="nome_della_tua_variabile">
    <input type="submit" value="Invia"> <--! che si occupera di esseguire l'action del form -->
    </form>
    Nel file B per richiamare la variabile trasmessa con mettodo Post è sufficente inserire la seguente stringa di codice dove ti serve la variabile

    Codice PHP:
    $_POST['nome_della_tua_variabile']

  5. #5
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Non mi sono spiegato. Il mio form già funziona e invia il contenuto di una casella di testo. Vorrei che insieme a quello venisse inviata la lunghezza della stringa inserita dall'utente...

  6. #6
    Guest

    Predefinito

    strlen($VARIABILE)

  7. #7
    L'avatar di matt93
    matt93 non è connesso Utente
    Data registrazione
    01-09-2008
    Messaggi
    241

    Predefinito

    come ben saprai i dati li invii con i form e li ricevi con PHP con la variabile $_POST['nomeform'], se vuoi inviare una variabile con il metodo post, senza che l'utente lo sappia, nel codice html aggiungi:
    Codice HTML:
    <input type="hidden" name="nomeform2" value="ci sono!" />
    nella pagina .php specificata dall'action del form, se fai un echo della variabile $_POST['nomeform2'] vedrai che ti apparirà "ci sono!"

    se invece vuoi mantenere la variabile per la durata di tutta la visione del sito da parte dell'utente (ed a sua insaputa), usa le variabili $_SESSION.
    Per fare ciò all'inizio di ogni pagina .php dove intendi usare le variabili $_SESSION devi dichiarare, PRIMA DI QUALSIASI CONTENUTO,
    Codice PHP:
    <? session_start(); ?>
    se poi vuoi settare la variabile:

    setta.php
    Codice PHP:
    <?
    session_start
    ();
    $_SESSION['variabile']='Ci sono!';
    ?>
    vedi.php
    Codice PHP:
    <?
    session_start
    ();
    echo
    $_SESSION['variabile'];
    ?>
    Se provi a vedere prima "vedi.php" vedrai una pagina bianca, ma se vedi "setta,php" e poi ancora "vedi.php", quest'ultima ti ritornerà "Ci sono!"

    Ciauz!
    Mattia

  8. #8
    Guest

    Predefinito

    Citazione Originalmente inviato da tryhere Visualizza messaggio
    Non mi sono spiegato. Il mio form già funziona e invia il contenuto di una casella di testo. Vorrei che insieme a quello venisse inviata la lunghezza della stringa inserita dall'utente...
    E perdonami, ma non puoi calcolartela nella pagina successiva? Usi la funzione apposita nella seconda pagina e la associ ad una variabile... Che bisogno c'è di calcolarsela prima per portarsela sul groppone da una pagina all'altra? Chiedo perchè se c'è una ragione specifica, imparo qualcosa di nuovo...

  9. #9
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Era uno dei tanti esempi che si potevano fare.
    Comunque ho passato un array di stringhe:
    Codice:
    $tables=array();
    $tables[0]="ciao";
    $tables[1]="a";
    $tables[2]="tutti";
    echo "<input type='hidden' name='tables' value='".$tables."'/>";
    Nella pagina che lo riceve faccio:
    Codice:
    $tables=$_POST['tables'];
    echo $tables[0].$tables[1].$tables[2].$tables[3].$tables[4];
    E ottengo "Array".
    Come faccio invece ad otterene "ciao a tutti"?

  10. #10
    Guest

    Predefinito

    usa explode(' ', $var) in modo da dividere le parole.

    Codice PHP:
    $tables = explode(' ', $_POST['tables']);
    foreach(
    $tables as $key => $value)
    {
    echo
    $value;
    }

  11. #11
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Hai capito bene qual'è il problema?
    Il valore di $tables diventa "Array".

  12. #12
    Guest

    Predefinito

    E hai capito l'esempio che ti ho fatto? Io ti ho dato quasi tutto.

    Tables è un array, anche se accodi le variabili.

    Usa $nome_var = implode(' ', $tables); in modo da avere la stringa con tutti i valori dell'array

  13. #13
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Si l'avevo provato ma in $tables[0] mette "Array" e in tutti gli altri non mette niente.

Regole di scrittura

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