Newsgroup: it.comp.www.php
Titolo: Problema con un campo Hidden da utilizzare in query MySQL

Ciao a tutti, ho un piccolo problema
Ho creato un modulo html.
Passo il contenuto di un campo Hidden ad una pagina php.
ne raccolgo il valore e lo inserisco in una query per un database MySQL.
Risultato: non funziona.
La query non mi aggiorna il valore del record.
Se invece lo passo attraverso un campo Text tutto funziona.
Come mai?
In teoria dovrebbe funzionare.
Mi sfugge qualcosa?
Avete soluzioni?
Ciao!

 Come mai?
perchè hai fatto un errore da qualche parte

> perchè hai fatto un errore da qualche parte
Tutto il codice rimane lo stesso!
Cambio soltanto:
<INPUT type = "HIDDEN" name = "nome">
in
<INPUT type = "TEXT" name = "nome">
E funziona.
Se c'era errore in qualche parte di codice non doveva funzionare neppure con
<INPUT type = "TEXT" name = "nome">
Quindi ci sarà da sapere qualcosa che non so...


non è che per caso li hai messi entrambi ?
-- 
AAAAAAAA American Association Against Acronym Abuse And Also Ambiguity

 Avete soluzioni?
Potresti cominciare verificando che il campo e di conseguenza il suo
valore giungano allo script di destinazione.
Se cosi non fosse, mmm la prima cosa che mi viene in mente eì che c'e'
un errore nella sintassi HTML
Ciao

> non è che per caso li hai messi entrambi ?
Certo che no!!
Grazie per la tempestività con cui mi state rispondendo :-) 

Ciao
Con un semplice echo ho verificato che il valore del campo hidden giunge 
nella pagina dove devo eseguire la query.
Soltano che poi questo valore č come se venisse ignorato dalla query e 
infatti il valore nella tabella del database non viene aggiornato.
Avevo letto in giro di fare una cosa del genere prima:
$var = isset($_REQUEST['campo_hidden']) ? $_REQUEST['campo_hidden'] : '';
Cosa che ho fatto ma non funziona. 

 E funziona.
funziona perchè scrivi qualcosa nella input box


e allora prova con
<INPUT type="HIDDEN" name="nome" value="perbacco!">


> <INPUT type="HIDDEN" name="nome" value="perbacco!">
Mi sono espresso male:
Certo che il valore del campo č passato dal form alla pagina.
La forma completa č quindi:
<INPUT type = "HIDDEN" name = "nome" value ="Valore_da_Inviare">
<INPUT type = "TEXT" name = "nome" value ="Valore_da_Inviare">
Stessa sintassi a parte Hidden e Text.
Perņ con Text funziona con Hidden no!

 Però con Text funziona con Hidden no!
Ok.
Visto che *non* *è* *possibile* ci dev'essere un errore da qualche parte.
Però invece di andare a tentoni, perché non ci dici anche qual è il
valore che invii, un pezzo di codice, un pezzo di html?
-- 
ValeRyo
XT600 "Katoki Pajama" - 
http://www.slimmit.com/go.asp?7Y9
GamerTag: 
http://card.mygamercard.net/IT/nxe/ValeRyo76.png
 

 valore che invii, un pezzo di codice, un pezzo di html?
E' un numero (un id) immesso in un form.
Nessun errore nel codice suppongo se con text funziona e con hidden no.
Il codice rimare il medesimo solo che mettendo text va mentre con hidden 
no...
Boh! 

 no...
MOSTRACI IL CODICE!!

 ha scritto nel messaggio
news:j35q1o$6m2$
1...@speranza.aioe.org

Sono i fantasmi.




E CHIUDI I TAG INPUT!


scusa ma non  manca value="" ??
-- 
Antonio
www.IoGuadagno.it
 


Fai una echo della query prima di eseguirla e poi eseguila manualmente 
in phpmyadmin.
A me ï¿œ capitato, non so come, che mysql si rifiutasse di eseguire una 
query da php. Riscrivendo la query *a mano* in phpmyadmin funzionava, ma 
facendo copia e incolla della query dal listato php, mysql sballava 
parlando di tabelle corrotte.
Ho riscritto la query nel listato php di nuovo *a mano* e magicamente 
tutto ï¿œ tornato a funzionare. boh.

 E CHIUDI I TAG INPUT!
Ecco:
<input
 name="id_messaggio" size="40" type="text" value="
<?php
echo ($numero_id + 1) ;
?>
"  >
Passo il risultato del campo ad una pagina php che lo raccoglie.
Poi questo valore viene inserito all'interno di una query per inserirlo nel 
database.
Se al posto di text ci metto hidden (per non far vedere il valore del campo) 
non funziona: con text sě con hidden no... 

 "  >
E il file html risultante?


 "  >
Se � un tentativo di popolare una colonna con un progressivo
autoincrementante, sei completamente fuori strada. Prova a pensare che
cosa succede quando due utenti aprono la pagina contemporaneamente.
	Y.

Risolto!!
Sapete come, secondo un'intuizione:
ho convertito il campo in int.
A quanto pare la query lo considerava string per questo non funzionava.
Una volta utilizzato (int) ha funzionato!
Ringrazio comunque tutti voi per l'interessamento al risoluzione del caso.
Ciao!

 funzionava. Una volta utilizzato (int) ha funzionato!
Si, perň non hai postato l'html generato.
E, visto che ci sei, anche un var_dump($variabileinarrivo).
La soluzione non dev'essere (solo) sanificare l'input, ma anche
fare in modo che l'input arrivi il piů possibile corretto.
Scommetto che nel tuo caso arriva qualcosa del tipo
string(5) o string(3) (in base al browser e a so).
