Visualizzazione risultati 1 fino 13 di 13

Discussione: dati form a modulo php

  1. #1
    Guest

    Predefinito

    Salve a tutti.
    Sto da poco iniziando ad utilizzare php e mysql su server apache seguendo diverse guide online.
    In questo momento ho un piccolo problema che non riesco a risolvere, nonostante il codice sembri corretto. In pratica voglio passare un valore immesso in un form ad un modulo php per poterlo utilizzare come dato.
    Dovrei avere due file: insert.html e process.php.

    INSERT.HTML --------------------------------------
    <html>
    <body>
    <form method="post" action="process.php">
    <input type="text" name="miovalore">
    <input type="submit" value="invia">
    </form>
    </body>
    </html>
    ------------------------------------------------------
    PROCESS.PHP -------------------------------------
    <?
    echo "$miovalore";
    ?>
    ------------------------------------------------------
    Utilizzando questo codice semplicemente "miovalore" non ha... valore :P

    Qualcuno sa dirmi dove sta il problema?
    Grazie.

    Alswynn

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

    Predefinito

    In process.php prova a usare $_POST['miovalore'] anziche $miovalore
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  3. #3
    Guest

    Predefinito

    Le variabili php esistono solo nell'ambito della pagina stessa (quindi la tua $miovalore è definita nella pagina HTML con il form, ma non lo è nella pagina PHP), ergo per far comunicare due pagine fra loro devi agire in modo diverso. Esistono due "super-array" che contengono tutte le variabili di un form da cui la pagina PHP è stata richiamata. Se usi il metodo post l'array è $_POST, se usi il metodo get l'array è $_GET. Nel tuo esempio hai usato il primo, e la scelta è condivisibile. Ora per far comparire la tua variabile nella pagina PHP non devi riferirti a $miovalore, bensì a $_POST['miovalore']. Vedrai che funziona :o

    EDIT: OPS, non mi ero accorto che mentre scrivevo era già stata data una risposta, pardon :o

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

    Predefinito

    Citazione Originalmente inviato da bodo
    EDIT: OPS, non mi ero accorto che mentre scrivevo era già stata data una risposta, pardon :o
    Don't worry, sei stato più specifico di me, e visto che vuole imparare non può fargli che bene.
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  5. #5
    Guest

    Predefinito

    Veramnete quello che lui ha fatto è più che giusto....
    Il motivo per cui no ti funziona è perchè molto probabilmente se apri il php.ini e cerchi la direttiva register_globals la troverai come "Off".
    Prova a metterla a" On", fai ripartire Apache e riprova e vedrai che funziona.
    Quello che hai scritto non è assolutamente sbagliato...devi solo avere questo piccolo accorgimento in quanto dalla versione 4.2 è stato introdotto un nuovo metodo di gestione delle cosiddette variabili esterne.
    Se vuoi utilizzare questi nuovi metodi devi accedere alle variabili non più in maniera diretta ma passando tramite degli array speciali...
    Ad esempio se hai una form che passa le variabili col metofo get l'array sarà $_GET, con il post $_POST. Questi 2 array ad esempio sostituiscono $HTTP_GET_VARS e $HTTP_POST_VARS.
    Datti una letta qua http://www.latoserver.it/php/php420/ e in ogni caso, se vuoi utilizzare la sintassi "vecchio stile" come hai fatto su basta che vai a mettere a "On" la direttiva register_globals del php.ini.

    Ciao!

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

    Predefinito

    Citazione Originalmente inviato da digitAle
    Veramnete quello che lui ha fatto è più che giusto....
    Il motivo per cui no ti funziona è perchè molto probabilmente se apri il php.ini e cerchi la direttiva register_globals la troverai come "Off".
    Prova a metterla a" On", fai ripartire Apache e riprova e vedrai che funziona.
    Lo so anch'io che è come dici tu, però mi spieghi come fa a modificare il php.ini di altervista? Non è mica amministratore! Come non lo siamo ne io ne te ne bodo, credo solo Gianluca potrebbe fare ciò che dici.
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  7. #7
    Guest

    Predefinito

    Non mi pare che stesse parlando di altervista.......

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

    Predefinito

    Citazione Originalmente inviato da digitAle
    Non mi pare che stesse parlando di altervista.......
    Hai ragione, sono io che lo davo per scontato, ti chiedo scusa: effettivamente Alswynn parlava di test su un server Apache.
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  9. #9
    Guest

    Predefinito

    figurati!!!!

  10. #10
    Guest

    Predefinito

    Ho capito allora. Effettivamente ancora sto lavorando in locale, ma userò l'accesso all'array, visto che poi andrà messo su altervista e dovrei riscrivere il codice.
    Vi ringrazio delle risposte che sono state più che esaustive... è un bel modo di imparare questo :D


    Alswynn

  11. #11
    Guest

    Predefinito

    Di nulla :o

  12. #12
    Guest

    Predefinito

    Citazione Originalmente inviato da digitAle
    Veramnete quello che lui ha fatto è più che giusto....
    Beh, fino ad un certo punto... in verità il metodo corretto sarebbe quello di utilizzare gli arrays superglobali. Il fatto che anche il sistema "variabile diretta" funzionasse su alcune vecchi versioni (con il register_globals = On) non vuol dire che sia tecnicamente giusto...

  13. #13
    Guest

    Predefinito

    E' una questione di stile...
    Io per esempio lavoro sempre alla vecchia maniera....anche perchè se dovessi pensare di utilizzare "registerGlobals = Off" sui server di produzione dovrei andarmi a rimodificare tutti i siti che ci girano su al momento...un pò laborioso...
    E cmq non puoi dire che sia sbagliato...anche perchè è il PHP stesso a permettertelo....poi è tutta una questione di stile..

Regole di scrittura

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