Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z formularzem
Forum PHP.pl > Forum > PHP
david8213
index.php
Kod
<FORM ACTION="return.php" METHOD="POST">
<?
  $file = "dane.txt";
  $myFile = fopen($file, "r");
  $myLine = fgets($myFile);
//  $myLine = ereg_replace("<br>", "", $myLine);
  print("<textarea  name=Tresc rows=26 cols=106>$myLine</textarea>");
  fclose($myFile);
?>
<INPUT TYPE=SUBMIT VALUE= " Zapisz ">


return.php
Kod
<HTML><HEAD>
<?
$fp = fopen ("dane.txt", "w");                    //przed zapisaniem danych czy?ci plik
fwrite($fp, NULL);                              //przed zapisaniem danych czy?ci plik

$Tresc = ereg_replace("\n", "", $Tresc);        // enter zamienia w woln? przestrzeń
$Tresc = stripslashes($Tresc);                  // usunięcie powielania slash'ów "/"


$nazwa = "dane.txt";
$wpis = "$Tresc";
$myFile = fopen($nazwa, "r+");
fputs($myFile, $wpis);
fclose($myFile);
?>

<script LANGUAGE="JavaScript">
if(top.frames.length==0) {
window.location.href="index.php"; }
else { document.write("error.htmll"); }
</SCRIPT>

</BODY></HTML>


Dlaczego gdy wpisuje tekst a następnie klikam ENTER to po nim już powyższy skrypt nie zapamiętuje teksu w pliku.

Zapamiętuje mi tylko tekst do momentu naciśnięcia enter, za nim już nic nie pamięta
Thorang Hoog
U mnie działa prawidłowo :-/

Ale zwróć uwagę że system Windows koniec linii zapisuje jako \r\n
a nie tak jak pozostałe systemy operacyjne. Spróbuj zmienić tą linijkę w return.php
  1. $Tresc = ereg_replace("\n|\r\n", " ", $Tresc); // enter zamienia w wolną przestrzeń
david8213
Zmieniłem jak poniżej i działa :

index.php
Kod
<FORM ACTION="return.php" METHOD="POST">

<?
$file = file("dane.txt");
echo"<TABLE cellSpacing=0 cellPadding=0 background=\"grafika/0000.gif\" bgcolor=\"white\" width=\"88%\"><TR><TD><img src=\"grafika/spinacz.gif\"></td><td><div align=\"right\"><img src=\"grafika/spinacz.gif\">&nbsp;&nbsp;</td><TR><TD colspan=2><textarea style=\"background-image:url(grafika/0000.gif); margin-left:15; margin-right:15 \" name=Tresc rows=40 cols=150>";

foreach($file as $value)
{
$exp = explode("`",$value);
echo $exp[0]."";
}
echo"</textarea></TD></TR></TD></TR></TABLE>";
?>


</div><br><center>


<INPUT TYPE=SUBMIT VALUE= " Zapisz " style="BACKGROUND-COLOR: #FF8040;  FONT-FAMILY : Verdana; FONT-SIZE : 12; color: #FFFFFF"></FORM>


return.php
Kod
<HTML>


<?
$fp = fopen ("dane.txt", "w");                    //przed zapisaniem danych czyści plik
fwrite($fp, NULL);                              //przed zapisaniem danych czyści plik


$Tresc = trim($_POST['Tresc']);
$wpis = $Tresc."`";

$file = "dane.txt";
$fp = fopen($file, "a");

flock($fp, 2);
fputs($fp, $Tresc);
flock($fp, 3);
fclose($fp);
?>



<script LANGUAGE="JavaScript">
if(top.frames.length==0) {
window.location.href="index.php"; }
else { document.write("error.php"); }
</SCRIPT>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.