volevo aggiungere la possibilità per me di vedere un'anteprima (quindi senza salvataggio nel db) dei post prima di inserirli nel blog...
quindi quando premo su submit i dati del form vengono inviati al server e la pagina si dovrebbe ricaricare con i form vuoti...
siccome in fase di anteprima non voglio che i form si svuotino perdendo di fatto il contenuto ho dato dei valori predefiniti (leggendoli dalle variabili $_post)
con i campi textarea (che poi sono quelli con il contenuto più importante) non ho problemi, mentre il contenuto dell'input file e del select mi vanno persi...
in realtà non è un dramma perchè ci metterei poco a reinserirli... ma non mi piace darla vinta al pc...
io uso questo codice:
Codice PHP:
<!-- qui inserisco l'editor per i post -->
<form enctype='multipart/form-data' action='http://www.stepone.altervista.org/blog.php?lower_bound=0' method='post'>
<!-- textarea per il titolo del pos -->
<?php
echo " <p>";
if (!empty($_POST['titoloPost'])) {
echo "<textarea name='titoloPost' style='width:340px; height:30px; overflow:hidden;'>".$_POST['titoloPost']."</textarea>";
}
else {
echo "<textarea name='titoloPost' style='width:340px; height:30px; overflow:hidden;'>Inserire titolo</textarea>";
}
echo "</p>";
echo "<p>";
if (isset($_FILES['filePOST'])) {
$tmp = $_FILES['filePOST'];
echo "<input type='file' value=$tmp name='filePOST' style='text-align:center; margin-top:0 auto;'> ";
}
else {
echo "<input type='file' name='filePOST' style='text-align:center; margin-top:0 auto;'>";
}
if (!empty($_POST['categoria'])) {
$tmp2 = $_POST['categoria'];
echo "<select name='categoria' style='width:160px; margin:0 auto;' value=$tmp2>";
echo "<option>Generale</option><option>Project: Forum</option><option>Internet</option><option>Web Design</option><option>Sport</option><option>Cinema</option><option>Videogame</option></select>";
}
else {
echo "<select name='categoria' style='width:160px; margin:0 auto;'>";
echo "<option>Generale</option><option>Project: Forum</option><option>Internet</option><option>Web Design</option><option>Sport</option><option>Cinema</option><option>Videogame</option></select>";
}
echo "</p>";
/*<!-- textarea per il post -->
<!-- The name and id of textarea can be any name you prefer but dont change the class.
You should also specify class=”ed” inside textarea tag. This style is coded in styles.css -->*/
echo"<script>edToolbar('mytxtarea'); </script>";
if (!empty($_POST['mytxtarea'])) {
echo "<textarea name='mytxtarea' id='mytxtarea' class='ed' style='padding-top:20px;'>".$_POST['mytxtarea']."</textarea>";
}
else {
echo "<textarea name='mytxtarea' id='mytxtarea' class='ed' style='padding-top:20px;'> </textarea>";
}
//<!-- Note: Make sure that the id value and the value inside of edToolbar() is same. -->
//<!-- The default height and width of text area is specified in styles.css. It is 400px width and 150 height. -->
?>
<p>
<input type='radio' name='wannaDo' value='publish' /> Pubblica
<input type='radio' name='wannaDo' value='preview' /> Anteprima
<input type="submit" name="Submit" value="Invia!">
</p>
</form>
<?php
include_once("./php_script/insert_post.php");
include_once("./php_script/class.upload_post.php");
if (!empty($_POST['titoloPost']) && !empty($_POST['mytxtarea']) && !empty($_POST['categoria'])) {
if ($_POST['wannaDo'] == 'publish') {
$postObj = new insertPost($_POST['titoloPost'],$_POST['mytxtarea'],$_POST['categoria']);
$news = $postObj->addPost();
echo $news;
}
if ($_POST['wannaDo'] == 'preview') {
$title = $_POST['titoloPost'];
$cat = $_POST['categoria'];
$txt = $_POST['mytxtarea'];
echo "Anteprima Post: <br />";
echo $title.'<br />';
echo $cat.'e <br />'.$txt;
}
}
$max_file_size = 512000;
$image_type = array('jpeg', 'jpg', 'png', 'gif', 'bmp');
//if(isset($_FILES['file']) && !empty($_POST['titoloPost'])) {
if (!empty($_FILES['filePOST']) && !empty($_POST['titoloPost'])) {
$obj = new uploadPost($_FILES['filePOST'],"./images/topic/",$max_file_size,$image_type,$_POST['titoloPost']);
$advice = $obj->getError();
if ($advice != '') {
echo "<p class='result'>".$advice."</p>";
}
}
?>
fate quindi in particolare attenzione ai form file, e select...
secondo voi perchè dopo che clicco submit, con il radiobutton puntato su preview vanno persi i valori dei form file e select?
grazie in anticipo