Ciao, io utilizzerei le sessioni...
1) esempio nella form
Codice PHP:
<?php
<fieldset>
<legend class="label">nome dell'articolo (massimo 255 caratteri) <span class="attenzione">*</span></legend>
<?php
// verifico se la sessione è "vuota"...
if(isset($_SESSION['messaggio_art2']) && $_SESSION['messaggio_art2'] != '')
{
echo $_SESSION['messaggio_art2']; // stampo il messaggio....
}
unset($_SESSION['messaggio_art2']); // elimino il messaggio della sessione...
?>
<?php
$tit = isset ($_SESSION['data_store_art']['titolo']) ? $_SESSION['data_store_art']['titolo'] : '';
?>
<input name="titolo" type="text" id="titolo" value="<?php echo $tit ?>" size="30" maxlength="255" />
</fieldset>
?>
2) Esempio nel file che processa la form (per abitudine, uso un file con i campi form ed uno che processa)
Codice PHP:
//controllo per verificare che tutti i campi abbiano valore
if ($_POST['id_scat'] == 'B' || empty($_POST['titolo']) || empty($_POST['testo']) )
{
if ($_POST['id_scat'] == 'B')
{
$_SESSION['messaggio_art1'] = '<div id="mess_form" class="errore">Manca:la sotto categoria</div>';
}
if (empty($_POST['titolo']))
{
$_SESSION['messaggio_art2'] = '<div id="mess_form" class="errore">Manca:il titolo</div>';
}
if (empty($_POST['testo']))
{
$_SESSION['messaggio_art3'] = '<div id="mess_form" class="errore">Manca:il testo</div>';
}
// codice per "riportare" il testo nei campi input della form
if(isset($_SERVER['HTTP_REFERER']))
{
$_SESSION['data_store_art']['id_scat'] = $_POST['id_scat'];
$_SESSION['data_store_art']['titolo'] = $_POST['titolo'];
$_SESSION['data_store_art']['testo'] = $_POST['testo'];
header ('Location:' . "{$_SERVER['HTTP_REFERER']}");
return; // uso return per bloccare l'esecuzione delo script
}
}
else
{
... altro codice PHP
Spero che ti sia utile.
Ciao.