![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 308 Pomógł: 0 Dołączył: 9.12.2009 Ostrzeżenie: (10%) ![]() ![]() |
Napisałem dwa pliki:
index.php Kod <form action="back.php" method="post"> <br><br><table border=1 borderColor=#000000 cellSpacing=1 cellPadding=5 rules=1 align=center bgColor=#DCDCDC width="550"><tr><td><center><a>Dodaj wiadmo?ć <br><br> <textarea name="mess" rows="4" cols="30" WRAP=physical></textarea><br> <input SIZE="18" type="text" name="podpis" value="podpis" MAXLENGTH="10"> <input type="submit" value=" Wy?lij " style="BACKGROUND-COLOR: #FF8040; FONT-FAMILY : Verdana; FONT-SIZE : 12; color: #FFFFFF" ></form> <INPUT TYPE="button" VALUE=" Powrót " onClick="parent.location.href='../index.php'" style="BACKGROUND-COLOR: #FF8040; FONT-FAMILY : Verdana; FONT-SIZE : 12; color: #FFFFFF"><br><br></td></tr></table> <?php $file = file("message.txt"); foreach($file as $value) { // foreach to pętla, służy do przegladania tablic // pętla ma analizować tablicę $file, a aktualnie przetwarzany element ma być zapisany w zmiennej $value. $exp = explode("|",$value); $exp[0] = stripslashes($exp[0]); $exp[0] = ereg_replace("<","<", $exp[0]); $exp[0] = ereg_replace(">",">", $exp[0]); $exp[1] = stripslashes($exp[1]); $exp[1] = ereg_replace("<","<", $exp[1]); $exp[1] = ereg_replace(">",">", $exp[1]); echo "<center><br><table rules=1 border bgColor=#DCDCDC width=550><tr><td><b><a title=".$exp[3]."> ".$exp[0]."</a></b></td>"; echo "<td><div align=right>".$exp[2]." "; echo "<tr><td colspan=2 ><div style=margin-left:5 style=margin-right:5>".$exp[1]."</td>"; echo "</td></tr></table>"; } ?> back.php Kod <?php $podpis = stripslashes($podpis); $podpis = ereg_replace("<","<", $podpis); $podpis = ereg_replace(">",">", $podpis); $mess = stripslashes($mess); $mess = ereg_replace("<","<", $mess); $mess = ereg_replace(">",">", $mess); $podpis = trim($_POST['podpis']); $mess = trim($_POST['mess']); $date = date("d,m,Y - H:i:s"); $REMOTE_ADDR = $_SERVER[REMOTE_ADDR]; $REMOTE_HOST = $_SERVER[REMOTE_HOST]; $dane = $podpis."|".$mess."|".$date."|".$REMOTE_ADDR."\n"; if(($mess=="") or ($podpis=="")) { print("<BR><BR><BR><BR><font color=red><B><center>Nie wpisałe? wiadmo?ci!</B>"); print("<BR><P class=\"styl\"><font color=red><B><A HREF=\"index.php\">[powrót]</A></b></font></P>"); exit(); } $podpis = stripslashes($podpis); $podpis = ereg_replace("<","<", $podpis); $podpis = ereg_replace(">",">", $podpis); $mess = stripslashes($mess); $mess = ereg_replace("<","<", $mess); $mess = ereg_replace(">",">", $mess); $file = "message.txt"; $fp = fopen($file, "r+"); $dane=$dane.fread($fp, filesize($file)); rewind($fp); fputs($fp, $dane); fclose($fp); ?> <center> <p><p> <script LANGUAGE="JavaScript"> if(top.frames.length==0) { document.write("<br>Wiadomosc została dodana"); window.clear; window.location.href="index.php"; } else { document.write("index.php"); } </SCRIPT> W pliku message.txt zapisywane są dane. Wszystko jest dobrze dopóki w textarea nie użyty zostanie enter. Sprawdźcie jak to ominąć. Ten post edytował david8213 14.01.2010, 13:40:18 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Różnica między systemami to nie tylko logo na starcie czy inne
![]() Entery w systemach Unixowych, Windowsach i Macach mają inne "rozwinięcia" Ty \n tylko wyłapujesz, co jest rozwiązaniem stricte Unixowym. Bo wygląda Enter w systemach tak Unix: \n Windows: \n\r Mac: \r Rozwiązanie? nl2br i potem kombinuj. Ale z drugiej strony babrać się w wyrażeniach regularnych mając htmlspecialchars to trochę jak wbijanie drewnianego pala zwykłym młotkiem ![]() Ten post edytował thek 14.01.2010, 13:03:29 -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 308 Pomógł: 0 Dołączył: 9.12.2009 Ostrzeżenie: (10%) ![]() ![]() |
Kombinowałem z nl2br i nic mi nie wyszło
Proszę o porady, alternatywy Za dobrze na tym się nie znam Ten post edytował david8213 14.01.2010, 13:44:42 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 389 Pomógł: 141 Dołączył: 11.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
W pliku back.php 12 linia
Kod $mess = trim($_POST['mess']); zamień na $mess = urlencode(htmlspecialchars(trim($_POST['mess']))); W pliku index.php 31linia Kod echo "<tr><td colspan=2 ><div style=margin-left:5 style=margin-right:5>".$exp[1]."</td>"; zamień na echo "<tr><td colspan=2 ><div style=margin-left:5 style=margin-right:5>".urldecode($exp[1])."</td>"; Jeśli robisz księgę gości na plikach to zobacz sobie to http://mylittlehomepage.net/en/miscellaneous/code-collection (guestbook). Ten post edytował athei 14.01.2010, 14:18:18 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 308 Pomógł: 0 Dołączył: 9.12.2009 Ostrzeżenie: (10%) ![]() ![]() |
Dzięki.
To rozwiązało mój problem Podczas zapisu danych do pliku ma nie tworzyć znaku enter tylko jak w tym przypadku znacznik %0D%0A. Następnie podczas odczytu pokazać ten enter: $exp[1] = ereg_replace("%0D%0A", "<br>", $exp[1]); Ten post edytował david8213 16.01.2010, 20:52:46 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 27.06.2025 - 01:00 |