Salve a tutti.
Sto facendo uno script per poter scrivere su file di testo tramite form.
il mio script va abbastanza bene.... l'unico problema me lo da quando nel form inserisco dati troppo lunghi.
In pratica quando clicco sul pulsante "invia" non mi fa niente e i form rimangono li. Se però i miei dati non sono relativamente lunghi.... non ho problemi.
Come faccio? ve lo posto

index.html
Codice PHP:
<html>
<
head>
<
title>Pannello di controllo</title>
<
link rel="stylesheet" href="../stile.css" type="text/css">

</
head>
<
body>
<
center>
<
table width=600

<
tr><td align="center" background="../sfondo.jpg"><font color="#ffffff" size="5">[b]:: PANNELLO DI CONTROLLO ::[/b]</font></td></tr>

<
tr><td>

    <
form method=get action="verifica.php">
    
[
b]TITOLO[/b]

    <
input type="text" name="titolo" size="40">
    
[
b][i]Anteprima[/i][/b]

    <
input type="text" name="anteprima" size="80">
    

Editoriale

    
<textarea name="articolo" rows="15" cols="80"></textarea> </p>
    
Immagine

    
<input type="text" name="immagine" size="20">
    

    <
input type="submit" value="Invia">
    <
input type="reset" value="Cancella">
    </
form>

</
dt></tr>

<
tr><td><center>:: [url="../admin/prova.html"]Home[/url] ::</center></td></tr
<
tr><td height="10" width="400" bgcolor="#cccccc"> </td></tr>

</
table>
</
body>
</
html
verifica.php
Codice PHP:
<?php

echo "<center>";
echo 
"Ciao ecco i risultati del tuo inserimento:";
$errorefalse;

If((!
$_GET['titolo']) || (!$_GET['anteprima']) || (!$_GET['articolo']) || (!$_GET['immagine'])) {
#controllo che nessun campo sia vuoto
$errore=true;
echo 
"Non hai compilato tutti i campi <a href=\"uno.html\">torna indietro</a>";
exit;
    }
else {
$_GET['titolo'] = stripslashes($_GET['titolo']);
$_GET['anteprima'] = stripslashes($_GET['anteprima']);
$_GET['articolo'] = stripslashes($_GET['articolo']);
$_GET['titolo'] = str_replace("\n""
"
$_GET['titolo']);
$_GET['anteprima'] = str_replace("\n""
"
$_GET['anteprima']);
$_GET['articolo'] = str_replace("\n""
"
$_GET['articolo']);

}

#controllo che il file sia accessibile 
if (!$apri fopen ("file.txt","a+")) {
$errore=true;
echo 
"non posso aprire il file";
}else{
$apriw fopen ("file.txt","a+");

# Sul file scrivo titolo e vado a capo,l'anteprima e vado a capo
# l'articolo e vado a capo e il nome dell'immagine
fputs($apriw,$_GET['titolo']."\n");
fputs($apriw,$_GET['anteprima']."\n");
fputs($apriw,$_GET['articolo']."\n");
fputs($apriw,$_GET['immagine']."\n");
#chiudo il file
fclose($apriw);
}
#se c'e l'errore mi dice di inserirli di nuovo altrimenti mi fa leggere gli annunci
if($errore){
echo
"
 Riinseriscili per favore
"
;
}
else{
echo 
"
 <a href=\"news.php\">leggi gli annunci</a>"
;
}
?>
news.php
Codice PHP:
<?php

echo "Ecco i vostri annunci
"
;
if (!
$apri fopen("file.txt","r")){
echo 
"Non posso aprire il file";
}else{
#Se il file si può leggere allora con un ciclo while
# leggo tutte le righe del mio file

while(!feof($apri)){
#memorizza gli annunci in leggo che adesso è un vettore
$leggo["titolo"][] = fgets($apri,4096);
$leggo["anteprima"][] = fgets($apri,4096);
$leggo["articolo"][] = fgets($apri,4096);
$leggo["linea"][] = fgets($apri,4096);
}

# Conta il numero di annunci
$numero=count($leggo["titolo"])-1;

#fa il ciclo for al contrario dall'ultimo al primo
for($i=$numero-1;$i>=$numero-5;--$i)
{
 echo 
" <table><tr><td bgcolor=#0392e0><h3><font color=#ffffff>".$leggo["titolo"][$i]."</font></h3></td></tr>";
 echo 
' <tr><td>[url="annunci.php?number='.$i.'"]'.$leggo["anteprima"][$i].'[/url]</td></tr></table>';
 
}

}
fclose($apri);

?>
All'inizio pensavo che il problema fosse la funzione gets che legge massimo 4096 byte.... però, appunto LEGGE!! io invece non riesco proprio a scrivere dati lunghi