Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL]Problem z przesyłaniem tekstu do bazy MySql, Pomocy!
erjot90
post
Post #1





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 19.06.2009
Skąd: Piotrków Tryb

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


Witam,

Mam pewien problem z moim skryptem. Jest to skrypt który umożliwia wysyłanie wiadomości priv. Ostatnio napotkałem błąd, ponieważ gdy się wpisze znak \ to mysql nie chce zapisać tego do bazy. Nie wiem jak się tego pozbyć.

Może jakieś propozycje?

P.S. Pisze w PHP (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




uzyj
http://pl.php.net/manual/pl/function.mysql-escape-string.php

ps :przenosze
Go to the top of the page
+Quote Post
erjot90
post
Post #3





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 19.06.2009
Skąd: Piotrków Tryb

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


Właśnie o to mi chodziło. Dzięki wielkie.

Cytat(nospor @ 19.06.2009, 12:12:31 ) *


Kurde, znów znalazłem koleiny błąd , ponieważ mam w treści wiadomości znaki \n i \r a funkcja którą podał nospor mi to psuje :/ proszę o koleiną podpowiedź co zrobić (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




mi tam ona nigdy nie psula takich rzeczy. a ty to masz wizualnie \n czy moze juz wykonawczo?

Pokaz moze kod i przykladowe dane jakie wkladasz
Go to the top of the page
+Quote Post
erjot90
post
Post #5





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 19.06.2009
Skąd: Piotrków Tryb

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


ze zwykłego formularza przesyłam dane metodą POST
  1. <?php
  2. $tab = mysql_escape_string($_POST['wiadomosc']); &#092;treść wiadomości
  3. $licznik = 0;
  4. $tmp = "";
  5.            
  6. if( strlen($tab) > 55)  funkcja która załamuje tekst po 54 znakach
  7. {
  8.     for($i = 0; $i < strlen($tab); $i++)
  9.    {
  10.        if ( $tab[$i] == "\n" || $tab[$i] == " " )
  11.        {
  12.            $licznik = 0;
  13.        }
  14.        else
  15.        {
  16.            if ( $licznik == 54 )
  17.            {
  18.                $tab = wordwrap($tab, $i, "\n", true);
  19.                $licznik = 0;
  20.            }
  21.            $licznik++;
  22.        }
  23.    }
  24.    $wiadomosc = mysql_escape_string($wiadomosc);
  25.    $wiadomosc = nl2br(htmlspecialchars($tab, ENT_QUOTES));
  26. }
  27. else
  28. {
  29.    $wiadomosc = mysql_escape_string($wiadomosc);
  30.    $wiadomosc = nl2br(htmlspecialchars($tab, ENT_QUOTES));
  31. }
  32. ?>

Gdy chce wysłać np.

a
a
a
aaa

as'd;lkas;ldkas;ldkas;ldkas;ldkas;ldkas;ldkas;ldkas;dlkas;dlaksd;laskd;lasdksad
lkasd;laskd;laskda;sdalsdk

to wynik mam

a a a aaa as'd;lkas;ldkas;ldkas;ldkas
;ldkas;ldkas;ldkas;ldkas;dlkas;dlaksd;laskd;lasdksad;l
kasd;laskd;laskda;sdalsdk

Jak to zrobić?

dobra już wiem jak to zrobić (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post

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: 26.08.2025 - 20:45