|
|
|
FAQ PHP - MySQL
|
|
|
Approfondimenti?
|
WikiGT Locuzioni Categoria FAQ PHP
|
Domande?
|
Apri un Thread nella sezione PHP-MySQL
|
Accedi alla home del Forum GT
|
Spesso si commette l'errore, forse meglio chiamarla svista, di non includere il valore della variabile dentro gli apici o doppie virgolette.
Infatti se abbiamo il seguente script:
<?
$string="ciao sono uno script";
?>
<form action="page.php" method="post">
<input type="text" name="testo" value=<? echo $string; ?>>
.....
</form>
Il risultato del nostro script sarà il seguente codice HTML:
<form action="page.php" method="post">
<input type="text" name="testo" value=ciao sono uno script>
.....
</form>
Come potrai ben immaginare per lo script il value sarà solo ciao, dato che lo spazio verrà inteso come fine vecchio attributo (value appunto) e inizio nuova occorrenza (o nuovo attributo), occorrenza che non verra' interpretata dato che "sono", "uno" e "script" non sono attributi HTML.
Pertanto, lasciando così il form, il valore inviato alla pagina page.php sarà solo ciao:
page.php:
<?
$testo=$_POST['testo'];
echo $testo; // risultato: ciao
?>
Per risolvere basterà, così come aviene per gli altri attributi, includere il valore di $string dentro apici o doppie virgolette:
<?
$string="ciao sono uno script";
?>
<form action="page.php" method="post">
<input type="text" name="testo" value="<? echo $string; ?>">
.....
</form>
Il risultato del nostro script sarà il seguente codice HTML:
<form action="page.php" method="post">
<input type="text" name="testo" value="ciao sono uno script">
.....
</form>
E finalmente nella nostra page.php riusciremo ad ottenere quanto ci aspettavamo:
<?
$testo=$_POST['testo'];
echo $testo; // risultato: ciao sono uno script
?>
FAQ Correlate