- Home
- Categorie
- Coding e Sistemistica
- Coding
- Problema con un form
-
Problema con un form
Ciao a tutti
Ho provato a mettere in locale uno script trovato su un libro, ma il risultato è diverso da quello descritto.
Ho il file form.php
<html> <head> <title>Il form</title> </head> <body> <form action="script.php"> <h3>Inserisci il tuo nome <input type="text" name="nome" size="20" maxlength="20"></h3> <h3>Inserisci il tuo cognome <input type="text" name="cognome" size="20" maxlength="20"></h3> <input type="submit" value="Invia"> </form> </body> </html>
ed il file script.php
<?php $a = $_REQUEST; print("<b>Parametri del form HTML:</b><br><br>"); foreach ($a as $k => $v) {print "<b>$k</b>: $v<br>";} ?>
Dopo aver inserito i dati Nome e Cognome, dopo l'invio mi restituisce:
Parametri del form HTML:
nome: Mario
cognome: Rossi
pma_lang: it-utf-8
pma_charset: iso-8859-1
pma_collation_connection: utf8_unicode_ci
pma_theme: originalCosa sono quelle ulteriori 4 righe inaspettate?
Come faccio a toglierle?
-
Ciao,
la variabile predefinita $_REQUEST contiene il contenuto (scusa il gioco di parole) di $_GET, $_POST e $_COOKIE.
Quando invi il form oltre ai dati passati tramite GET questi dati vengono memorizzati dentro $_REQUEST insieme a quelli di dei cookie. Probabilmente ciò è dovuto ad una qualche impostazione del server o di php che avvia automaticamente una sessione.Un parametro che puoi controllare con la funzione phpinfo() è:
session.auto_start
Se è su On puoi modificarlo a Off dal php.iniAl momento altri non mi vengono in mente altri parametri...
Per correggere invesce solamente il codice ti basta sostituire a $_REQUEST le variabili $_GET o $_POST a seconda di quale metodo di invio dati stai utilizzando (Nel tuo caso, non essendo specificato, è GET)
Alessandro
-
Ho controllato session.auto_start ed è su off.
Comunque, ho sostituito $_REQUEST con $_GET ed adesso tutto funziona regolarmente.
Per usare request hai detto che probabilmente bisognerebbe modificare le impostazioni del server o di php...
ma che vantaggi avrei ad usarlo?
o meglio, in quali casi sarebbe utile?