Newsgroup: it.comp.www.php
Titolo: text e hidden nei form

Ho scritto questo codicillo per preparmi all'UPDATE.
i valori che mi ritornano le istruzioni "echo" sono
echo $line[id]    -------->    1
echo $line[nome]  ------->   Paperino Paolino
echo $line[numero] -------> 12345678
echo $form  ----> un campo con 1 visibile (?!!!)
                             un campo con solo Paperino (e Paolino?!!!)
                             un campo con 12345678 come mi attendevo.
Se inserisco nel campo nome il cognome con lo spazio trasmette correttamente
la variabile con sia nome che cognome.
Il codice è:
<?php
include("connessione.php");
// variabile da VisualizzaRecord.php
$id=$_GET["id"];
// imposta query di visualizzazione
$query = "SELECT id,nome,numero FROM base WHERE id='$id'";
// esegue query
$result = mysql_query($query, $db);
$line = mysql_fetch_array($result);
echo $line[id];
echo $line[nome];
echo $line[numero];
$form="<form method='POST' action='RegistraRecord.php'
<input tipe='hidden' name='id' value=$line[id]>
<input type='text' size='50' name='nome' value=$line[nome]>
<input type='int' size='8' name='numero' value=$line[numero]>
<input type='submit' name='submit' value='Modifica'>";
// visualizza form di modifica con dati esistenti
echo $form;
mysql_close($db);
?>
Cos'ho combinato....stavolta?
Grazie
Mario

Controlla la tua INSERT che salva i dati nel db ma non mi sembra molto
plausibile il tuo discorso...
Facci vedere come crei $form
J

Il form di insert č:
<?php
// esecuzione FORM attraverso echo
$form='<form method="POST" action="SalvaRecord.php">
Nome:<br>
<input type="text" size="50" name="nome"><br>
<br>
Numero:<br>
<input type="int"  size="8" name="numero"><br>
<br>
<br>
<input type="submit" value="Invia">
<input type="reset" value="Pulisci">
</form>';
echo $form;
?>
che mi rimanda a SalvaRecord.php :
<?php
include("connessione.php");
// assegna valori provenienti da form su InserisciRecord.php
$nome=$_POST["nome"];
$numero=$_POST["numero"];
// controllo titolo e testo non vuoti o solo spazi
if (trim($nome) == "" OR trim($numero) == 0)
{
   echo "I campi Nome e Numero devono essere riempiti!";
   return;
}
else
{
// sostituisce caratteri < e > che potrebbero creare problemi con html
     $nome = str_replace("<", "&lt;", $nome);
     $nome = str_replace(">", "&gt;", $nome);
}
// prepara query inserimento
$query = "INSERT INTO base (
       nome, numero) VALUES (
       '$nome', '$numero')";
// esegue inserimento
if (mysql_query($query, $db))
{
   echo "Il record č stato inserito correttamente";
}
else
{
    echo "Errore durante l'inserimento".mysql_error();
}
mysql_close($db);
?>
Non vedo perň cosa c'entri, visto che in visualizzazione mi estrae i dati
corretti (e quindi a mio avviso anche inseriti correttamente)
boh...
Mario
"jj" <j...@thecloud.or> wrote in message
news:EkRpa.81$by3....@news.it.colt.net...


      $nome = str_replace(">", "&gt;", $nome);
Usa htmlentities al posto delle replace

un campo con solo Paperino (e Paolino?!!!)
Lo hai perso perche' non metti fra virgolette il VALUE.
	NAME=\"nome\" VALUE=\"$line[nome]\"
Leonardo
-- 
the shadow of the dome of pleasure
floated midway on the waves,
where was heard the mingled measure
from the fountain and the caves.


provo subito...........grazie!
