Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Jak zabezpieczyć skrypt exportujący do csv, addslashes(). htmlentities() ? czy jeszcze coś?
kukix
post
Post #1





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Witam.

Przygotowuje własnie skrypt exportujący dane do pliku csv.


  1. <?php
  2. $nowe_dane = '';
  3. $wynik = sql("SELECT * FROM ".$dbprefix."prod");
  4. while ($row = mysql_fetch_assoc($wynik)) {
  5. $nowe_dane .= $row['id'].';'.addslashes($row['nazwa']).';'.$row['param1'].';'.$row['param2'].'' /n';
  6. }
  7. $fp = fopen('plik.csv', "w");
  8.  
  9. fputs($fp, $nowe_dane);
  10.  
  11. fclose($fp);
  12.  
  13. print('Export zostałwykonany);
  14. ?>



O czym powinienem pamiętać tworząc taki plik?

Co sie stanie, gdy w tekscie z bazy bedzie znak ";" ?
czy addslashes() albo htmlentities() wystarczy w tym przypadku?

Bardzo proszę o podpowiedź.
Będe bardzo wdzięczny za wszelkie wypowiedzi.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kukix
post
Post #2





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Udało mi się usunąc wszystkie znaki ";" z nazwy i innych pól za pomoca malej funckji

  1. <?php
  2. function del($del) { 
  3. $del = str_replace(';','',$del); return $del;
  4. }
  5. ?>

Problem jest jednak z znakami nowej lini ... w miejscach, gdzie mam dane z pola <TEXTAREA> i ktoś dał enter, w pliku csv w tym miejscu daje znak nowej lini.

Ten post edytował kukix 27.06.2008, 11:18:05
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 15.10.2025 - 10:18