Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Zapisywanie do pliku - Chińskie znaczki
karolh2
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 25.10.2006

Ostrzeżenie: (0%)
-----


Mam problem otóż napisałem skrypcik, który wykorzystuje dane z formularza... Niestety podczas zapisu do pliku zapisują się chińskie znaczki... dodam jeszcze że każde wykrzystanie formularza ma przesuwać znacznik do końca pliku i tam dopiero dopisywać dane... Kod poniżej ma tylko wyświetlać przesłane dane i zapisywać do pliku (oczywiście z przesunięciem).
o to kod:
Cytat
<?php
$fp = fopen("zapisy.txt", "w");
if (!fp) die("Nie mogę otworzyć pliku");
fseek($fp,1,seek_end);
$nicka="Nick: ";
$pozioma="Poziom: ";
$space=" ";
$gga="GG: ";
$maila="Mail: ";
$br="<br>";
$text=$nicka . $nick . $space . $pozioma . $poziom . $space . $gga . $gg . $space . $maila . $mail . $br;
fwrite($fp, $text);
fclose($fp);

echo "Twoje dane: $text zostały wysłane.";
?>


Najprawdopodobniej problem tkwi w kodzie (nie w formularzu) albo w moim XAMPP'ie... zresztą sam już nie wiem... POMOCY!!!

Ten post edytował karolh2 25.10.2006, 22:09:01
Go to the top of the page
+Quote Post
lopik
post
Post #2





Grupa: Zarejestrowani
Postów: 340
Pomógł: 0
Dołączył: 7.07.2006

Ostrzeżenie: (0%)
-----


Otwieranie pliku z atrybutem a:
a - Otwiera tylko do zapisu; umieszcza wskaźnik pliku na jego końcu. Jeśli plik nie istnieje to próbuje go utworzyć.
Wtedy będzie Ci dodawało dane na końcu pliku, jak sam opis mówi

Ten post edytował lopik 25.10.2006, 23:19:26


--------------------
w3c & c++
Go to the top of the page
+Quote Post
DeBest
post
Post #3





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 20.10.2006

Ostrzeżenie: (0%)
-----


chińskie znaczki?? ale tylko zamiast polskich liter robię się znaczki?
jeśli tak to zrób coś takiego
  1. <?php
  2. $text= HTMLSpecialChars($text);
  3. ?>

dajesz to pod zmienną $txt, ta funkcja zamienia wszystkie znaki na znaki HTMLa jak sama nazwa wskazuje,
jedynym mankamentem jest że zamienia także znaki "<" ">" itp.
Go to the top of the page
+Quote Post
Amorph
post
Post #4





Grupa: Zarejestrowani
Postów: 309
Pomógł: 0
Dołączył: 6.06.2006
Skąd: include('root/europe/ poland/szczecin.php');

Ostrzeżenie: (0%)
-----


@De Best zlituj się proszę...
Sory za OT
Go to the top of the page
+Quote Post
karolh2
post
Post #5





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 25.10.2006

Ostrzeżenie: (0%)
-----


"a" fajnie ale dalej zapisuje chińskie znaczki... sad.gif i to nie tylko polskich liter!

Ten post edytował karolh2 26.10.2006, 18:06:01
Go to the top of the page
+Quote Post
lopik
post
Post #6





Grupa: Zarejestrowani
Postów: 340
Pomógł: 0
Dołączył: 7.07.2006

Ostrzeżenie: (0%)
-----


To a to atrybut do pliku, nie ma to nic wspólnego z "chińskimi znaczkami"

A jakie masz kodowanie strony ustawione na tej stronie co masz ten skrypt ?


--------------------
w3c & c++
Go to the top of the page
+Quote Post
karolh2
post
Post #7





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 25.10.2006

Ostrzeżenie: (0%)
-----


Kodowanie: iso-8859-2
Go to the top of the page
+Quote Post
Amorph
post
Post #8





Grupa: Zarejestrowani
Postów: 309
Pomógł: 0
Dołączył: 6.06.2006
Skąd: include('root/europe/ poland/szczecin.php');

Ostrzeżenie: (0%)
-----


Cały kod:
  1. <?php
  2.  
  3. header("Content-Type: text/html; charset=iso-8859-2");
  4.  
  5. $fp = fopen("zapisy.txt", "a");
  6. if (!fp) die("Nie mogę otworzyć pliku");
  7. fseek($fp,1,seek_end);
  8. $nicka="Nick: ";
  9. $pozioma="Poziom: ";
  10. $space=" ";
  11. $gga="GG: ";
  12. $maila="Mail: ";
  13. $br="<br>";
  14. $text=$nicka . $nick . $space . $pozioma . $poziom . $space . $gga . $gg . $space . $maila . $mail . $br;
  15. fwrite($fp, $text);
  16. fclose($fp);
  17.  
  18. echo "Twoje dane: $text zostały wysłane.";
  19. ?>

i zapisy.txt:

Nick: Poziom: GG: Mail: <br>Nick: Poziom: GG: Mail: <br>

Nie widzę żadnych krzaczków smile.gif
Go to the top of the page
+Quote Post
karolh2
post
Post #9





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 25.10.2006

Ostrzeżenie: (0%)
-----


a ja widze... sad.gif
Go to the top of the page
+Quote Post
jarrod
post
Post #10





Grupa: Zarejestrowani
Postów: 312
Pomógł: 9
Dołączył: 14.10.2006
Skąd: warszawa

Ostrzeżenie: (0%)
-----


jakim edytorem otwierasz? i jakie ma kodowanie plik w którym to napisałeś?
Go to the top of the page
+Quote Post
mls
post
Post #11





Grupa: Zarejestrowani
Postów: 677
Pomógł: 89
Dołączył: 31.08.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Mnie najbardziej zastanawia ten zapis:
  1. <?php
  2. fseek($fp,1,seek_end);
  3. ?>

Czy nie powinno być albo -1, albo 0?
W manualu jest napisane wyraźnie:
Cytat
SEEK_END - Set position to end-of-file plus offset. (To move to a position before the end-of-file, you need to pass a negative value in offset.)


A jeśli już masz
  1. <?php
  2. $fp = fopen("zapisy.txt", "a");
  3. ?>

to zrezygnuj w ogóle z fseek (...)...

Ten post edytował mls 27.10.2006, 10:07:48


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 15:59