![]() |
![]() |
|
| Condividi questo contenuto nei Social Network: |
|
Tweet |
|
|
|
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito. |
||||
|
|||||||||
|
|
LinkBack | Strumenti di discussione |
|
|
#1 (permalink) |
|
User
Data di registrazione: Apr 2005
Ubicazione: Bergamo
Messaggi: 125
|
definizione di varibili in hash
Un saluto a tutti coloro che mi leggono.
Sono un nuovo utente che si è affacciato allo sviluppo web con strumenti Open Source da poco tempo e superati tutti i problemi iniziali (installazioni, configurazioni, etc...) mi si è appena aperta una nuova falla. In pratica non riesco a capire perchè non posso definire come variabili le informazioni contenute in un hush. Io credo che probabilmente ho qualche modulo disattivato ma non so quale (ammesso sia questo l'errore). Non credo di sbagliare la stesura dello script anche perchè alcuni provati li ho presi da testi di informatica professionale. Spero che riuscirò a capirne di più intanto vi saluto .... |
|
|
|
|
|
|
|
#2 (permalink) |
|
User Attivo
|
|
|
__________________
Sitozzo esperimentalozzo - Beta Testing |
|
|
|
|
|
|
#3 (permalink) |
|
User
Data di registrazione: Apr 2005
Ubicazione: Bergamo
Messaggi: 125
|
In pratica se definisco un array nel modo seguente tutto ok
$var=array('mio_nome','mio_cognome','mio_numero'); oppure così: $var[0]='mio_nome'; $var[1]='mio_cognome'; $var[2]='mio_numero'; Fin qui non credo ci siano grossi problemi; ma nel caso il mio_nome, mio_cognome e mio_numero provengano da un form (html o php) le cose si complicano. Non riesco a visualizzare a video i parametri immessi nel form, a meno che non uso una espressione foreach(). Di seguito ho inserito le due pagine che mi danno il grattacapo: <html> <body> # chiamo il file form.html <form METHOD=GET action="read_info.php"> # provato diversi method nome <input type="text" name="nome"> scegli un giorno della settimana <select name="giorno_settimana[]"> <option>lun <option>mart <option>merc <option>giov <option>ven <option>sab <option>dom </select> pagamento assegno<input type="radio" name="pagamento" value="assegno"> carta di credito<input type="radio" name="pagamento" value="carta"> contanti<input type="radio" name="pagamento" value="contanti" checked> <input type="submit" value="invio le informazioni"> <input type="reset" value="cancella"> </form> </body> </html> invio del form a read.php <html> <body> <?php echo"grazie $nome "; echo" giorno scelto: "; if (sizeof($giorno_settimana) >= "1") { foreach($giorno_settimana as $valore) { echo" $valore"; } } else { echo"Non hai selezionato alcun giorno "; } echo" pagamento con $pagamento "; ?> ************************************ qui sotto estrapolate le informazioni con foreach <?php $a=$_REQUEST; foreach($a as $d => $m) { echo"$d: $m "; } ?> </body> </html> Queste due pagine non servono a gran che. In pratica quando schiaccio il pulsante invio le informazioni mi si apre la finesta come se stessi facendo un download (questo vale solo se uso internet explorer; se uso Mozilla riesco a vedere qualche cosa anche se il risultato non è soddisfacente). Sulla mia macchina ho istallato php 5. Mi chiedevo se il form funzionerebbe con php 4. Mi sembra un tantino bizzarro retrocedere anche per una semplice prova; non trovate? Un saluto a tutti. |
|
|
|
|
|
#4 (permalink) | |
|
User Attivo
|
1) non usare request, è facile contraffare le variabili.
2) usa l'array $_POST se invii con il metodo POST, $_GET se usi GET 3)non usare foreach, cosa ti serve prendere??? Quote:
$_POST['nome'] dove nome è il nome del campo del form mandato con POST | |
|
__________________
Sitozzo esperimentalozzo - Beta Testing |
||
|
|
|
|
|
#5 (permalink) |
|
User
Data di registrazione: Apr 2005
Ubicazione: Bergamo
Messaggi: 125
|
Avevo visto il topic "Problemi con i form", in realtà avevo provato questo tipo di espressione
$_POST['nome'] usando method="POST" mi dava l'errore e non ho più insistito; poi visto che mi hai dato le indicazioni giuste su quello che devo usare e non devo usare ho riprovato. L'errore era negli apici, in pratica: $_POST['nome'] mi da l'errore perchè ci sono gli apici; $_POST[nome] è giusto. Adesso ho risolto un grosso problema e te ne sono grato. Spero solo che funzioni anche sul server esterno. Per me può anche considerarsi chiuso il topic. Grazie. |
|
|
|
|
|
#6 (permalink) |
|
User Attivo
|
mmm... strano, in quanto gli apici ci dovrebbero essere... che versione di PHP hai?
prova con $HTTP_POST_VARS anzichè $_POST |
|
__________________
Sitozzo esperimentalozzo - Beta Testing |
|
|
|
|
|
|
#9 (permalink) |
|
User Attivo
|
Avrai impostato male il php.ini ( o php.conf )
|
|
__________________
Sitozzo esperimentalozzo - Beta Testing |
|
|
|
|
|
|
#12 (permalink) |
|
User Attivo
|
impostazioni di sicurezza... ma è una cretinata, ti disattiva alcune cose e basta...
|
|
__________________
Sitozzo esperimentalozzo - Beta Testing |
|
|
|
|
|
|
#13 (permalink) |
|
User
Data di registrazione: Apr 2005
Ubicazione: Bergamo
Messaggi: 125
|
Pensando alla sicurezza però
io non escluderei l'uso foreach() $a=$_POST; foreach($a as $campo => $variabile) { echo "$campo: $variabile "; } In pratica le due variabili cambiano sempre, pur restando definite una sola volta. Con questo modo è possibile anche inserire i valori immessi nel form all'interno di una tabella. |
|
|
|
|
|
#14 (permalink) | |
|
User
Data di registrazione: Mar 2005
Messaggi: 503
|
Quote:
non capisco.... cmq, la sicurezza è relativa al fatto di obbligare il programmatore a usare _GET/_POST o HTTP_GET_VARS/HTTP_POST_VARS o _SESSION senza questa impostazione sarebbe sufficiente andare a mettere nell'url un parametro con il nome di una variabile usata nella pagina (magari una variabile di sessione che si potrebbe sempre utilizzare senza _SESSION) per modificarne il valore... | |
|
|
|
|
|
#15 (permalink) |
|
User Attivo
|
Si, ma non è il safemode che fa questo, c'è un'altra direttiva che ora mi sfugge... comunque sconsiglio in ogni caso il _REQUEST
|
|
__________________
Sitozzo esperimentalozzo - Beta Testing |
|
|
|
|
| Tags: definizione, hash, varibili |
| Strumenti di discussione | |
|
|