Ho un semplice form per l'inserimento di una news:
<form name="modifica" method="post" action="esito.php">
Titolo: <input type="text" name="titolo">
Testo della news: <textarea name="testo" rows="10" cols="60"></textarea>
<input type="submit" name="Submit" value=" Aggiungi news "></p>
tutto qui
la pagina esito.php contiene invece questo script
Codice PHP:
<?php
$titolo=$_POST['titolo'];
$testo=$_POST['testo'];
$path_id="id.txt";
$fd=fopen($path_id, "r");
$fstring=fread($fd, filesize($path_id));
fclose($fd);
$id=$fstring+1;
$fd=fopen($path_id, "w");
$fout=fwrite($fd, $id);
fclose($fd);
//------------------------------------------------
$giorno=date(d);
$mese=date(n);
$anno=date(y);
$ora=date(G);
$minuti=date(i);
$data="$giorno.$mese.$anno";
$ora="$ora.$minuti";
$pagina=<<<EOPAGINA
<?php
\$titolo="$titolo";
\$testo="$testo";
\$testo_ridotto=substr(\$testo,0,190);
\$utente="$utente";
\$data="$data";
\$ora="$ora";
?>
EOPAGINA;
$fd=fopen("news/$id.txt", "w");
$fout=fwrite($fd, $pagina);
fclose($fd);
?>
tutto questo dovrebbe servire
1. a creare un file (o aggiornarlo) chiamato id.txt che conterrà il numero di news create fino a quel momento
2. a creare un file di testo contenente diverse variabili sotto forma di php... (il tutto verrà inserito con Include();...
il tutto serve in quanto non ho la possibilità di usare mysql o altri database e quindi mi devo arrangiare
comunque: il problema è che quando vado a vedere se il tutto è andato a buon fine, succede che è stata creata una prima news con i dati corretti, mentre è stata creata una seconda news completamente vuota (ossia è presente il file ma compare come
$titolo="";
$testo="";
$testo_ridotto=;
$utente="";
$data="";
$ora="";
quindi la news compare completamente vuota. Inoltre il file id.txt, il cui contenuto era, mettiamo, 0, non è diventato 1 bensì 2...
perchè succede questo?? il funzionamento dovrebbe essere corretto.. proprio non capisco.. in locale funziona perfettamente, mentre quando vado a metterlo on-line dà questi problemi...