Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Problema passaggio var in modalità post

    Salve, stò provando a realizzare il progetto di esempio di freephp.it, ovvero il sito di news.
    Ho un problema nel passaggio delle variabili Titolo, Testo etc. dalla pagina insert.php a save.php.
    In poche parole, in save.php mi dice che non ho definito le var Titolo etc. e mi da pertanto errore.
    Pensavo che una volta controllata la var $Titolo, essa contenga il valore passato per post dalla casella di testo che ha come nome Titolo....non è forse così?
    Dov'è che sbaglio?

    Spero di essermi spiegato bene, grazie a tutti!

  2. #2
    Lo script era sviluupato per una versione di php non piu' in uso. Cfr. la pillola di chris - (register_globals = Off)

    http://forum.html.it/forum/showthrea...hreadid=245215


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Si l'ho letta ed ho cercato di capirla il più possibile, evidentemente con scarsi risultati.
    Ho cmq provato a portare register_globals ad On, ma niente.
    La mia echo $Titolo ancora non mi da risultati...cosa dovrei correggere o come dovrei modificare il passaggio dei valori dal form alle var?

    Grazie per l'aiuto

  4. #4
    dopo la mofìdifica devi restartare apache....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Dunque, ho provato a fare così:
    Codice PHP:
    echo "$_POST[Titolo]"
    Che effettivamente mi scrive il contenuto, quindi di seguito ho scritto:
    Codice PHP:
    $Titolo $_POST[Titolo]; 
    Sperando che un:
    Codice PHP:
    echo $Titolo
    mi dia di nuovo una stampata della variabile.
    Effettivamente mi stampa, ma con parecchie NOTICE del tipo Undefined variable.
    Perchè mi da questi errori?

    Grazie

    PS: ho provato a disabilitare le notice mettendo il commento nell'apposito riga del php.ini ma senza alcun risultato, sarò rinco io...

  6. #6
    $Titolo = $_POST['Titolo'];

    E' un array, e Titolo e' un indice associativo. Va messo tra virgolette. Nel caso dell' ECHO gia' si trovava tra doppie virgolette. Prova:

    ECHO $_POST['Titolo'];
    ECHO "$_POST[Titolo]";
    ECHO "{$_POST['Titolo']}";

    Sono tutti equivalenti. Notice free.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Ok ora ci sono.
    Quindi ogni volta che voglio usare una var passata per post da un form, prima devo usare la sintassi:
    Codice PHP:
    $NomeVar $_POST['NomeCampo']; 
    ?

    C'è un metodo + veloce o più adatto alle circostanze?

    Grazie per l'aiuto, sei stato preziosissimo

  8. #8
    <input name = "pippo" >

    puoi passarlo via POST o via GET. Lo riceverai come $_POST['pippo'] o come $_GET['pippo'].

    Puoi utilizzarlo direttamente nell'array oppure estrarlo in una variabile.

    $query = "SELECT * FROM TABELLA WHERE nome = '$_POST[pippo]' ";

    Come noterai essendo $_POST[pippo] gia' tra doppie apici, non c'e' l'apice all'indice associativo. E quindi parimenti validi saranno:
    codice:
    ...WHERE nome = '{$_POST['pippo']}' ";
    ...WHERE nome = '" . $_POST['pippo'] . "' ";

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.