Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z zapisaniem adresu WWW w bazie
chlebik
post
Post #1





Grupa: Zarejestrowani
Postów: 113
Pomógł: 5
Dołączył: 12.09.2006
Skąd: Pruszków/Warszawa

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


Witam!


Ostatnimi czasy kiedy testowalem swoja aplikacje okazalo sie, ze pojawil sie dosc ciekawy blad. Otoz przy probie zapisania do bazy adresu internetowego zawierajacego adres internetowy np: http://jakis.adres.org/zaloguj.php?f=66&am...16a5780e597f8f9 adres zapisuje sie do znaku "&" w adresie. Uzywam funkcji mysql_real_escape_string na lancuchach zanim zapisze je w bazie, ale to nic nie daje. Innej mozliwosci nie znam - ktos ma moze jakis pomysl bym mogl zapisywac calosc?


Pozdrawiam i z gory dziekuje
Chlebik
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
nevt
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


pokaż kod: jak pobierasz adres, jak zapisujesz do bazy - wtedy może coś poradzimy...
Go to the top of the page
+Quote Post
tomeksobczak
post
Post #3





Grupa: Zarejestrowani
Postów: 139
Pomógł: 10
Dołączył: 6.07.2007
Skąd: opole

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


przed wstawieniem do bazy zrob url_encode w PHP
Go to the top of the page
+Quote Post
chlebik
post
Post #4





Grupa: Zarejestrowani
Postów: 113
Pomógł: 5
Dołączył: 12.09.2006
Skąd: Pruszków/Warszawa

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


Zrobilem - do bazy dolacza sie to w formie

Kod
http%3A%2F%2Fjakis.adres.net%2Fzaloguj.php%3Ff%3D66



Typ danych w kolumnie MySQL to TEXT zatem miejsca by zapisac jest od cholery i ciut ciut. Generalnie raczej linki nie beda do tej bazy wkladane, ale ewentualnosc taka zawsze istnieje i ciekawi mnie co takiego sie dzieje, ze nie chce sie zapisac caly.
Go to the top of the page
+Quote Post
PawelC
post
Post #5





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

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


Bez kodu będzie ciężko Ci pomóc, tak więc wklej tutaj kod to szybciej się dowiesz gdzie on jest. Mi adresy stron zapisuje normalnie, bezproblemu poprzez zwykłe dodanie z formularza, do bazy gdzie jest pole link z parametrem text.
Go to the top of the page
+Quote Post
chlebik
post
Post #6





Grupa: Zarejestrowani
Postów: 113
Pomógł: 5
Dołączył: 12.09.2006
Skąd: Pruszków/Warszawa

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


Wklejam do bazy najzwyczajniej w swiecie. Aplikacja dziala - wszystko inne (odczyt, zapis czego innego, instrukcje UPDATE) dzialaja bez zarzutu. Wklejam tak:


Kod
$data = getdate();
$data_biezaca = $data['year'] . "-" . $data['mon'] . "-" . $data['mday'];

$tekst = urlencode($tekst);
            
            
            
$zapytanie = "INSERT INTO tabela VALUES('', '$data_biezaca', '', '$nadawca', '$adresat', 'tok', '$tekst', '');";  
$wynik = mysql_query($zapytanie, $link);



Polaczenie z baza jest nawiazane i wszystko z nim OK skoro cos do tej bazy sie zapisuje, a po drodze nie dostaje komunikatu o bledzie. W zmiennej $TEKST jest wlasnie zapisana tresc wiadomosci i jesli wystapi tam adres WWW w formacie, ktory napisalem w pierwszym poscie to zapisuje sie tylko jego fragment.
Go to the top of the page
+Quote Post
PawelC
post
Post #7





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

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


To
Kod
$zapytanie = "INSERT INTO tabela VALUES('', '$data_biezaca', '', '$nadawca', '$adresat', 'tok', '$tekst', '');";  
$wynik = mysql_query($zapytanie, $link);

Powinno być raczej tak
Kod
$zapytanie = "INSERT INTO tabela VALUES('', '$data_biezaca', '$nadawca', '$adresat', 'tok', '$tekst')";  
$wynik = mysql_query($zapytanie, $link);

A tam ma być tok czy może $tok??

A kolumne gdzie zapisujesz link masz jako text czy varchar albo char?

Ten post edytował ExPlOiT 13.10.2007, 18:24:00
Go to the top of the page
+Quote Post
chlebik
post
Post #8





Grupa: Zarejestrowani
Postów: 113
Pomógł: 5
Dołączył: 12.09.2006
Skąd: Pruszków/Warszawa

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


"Tok" to lancuch, ktory mowi na jakim etapie jest obecnie wpisywany wiersz (tok, OK, cancelled, itp.), zas ostatni zapis '' (przy wkladaniu jest pusty) jest dodawany przy wpisaniu przez usera metody zalatwienia danego zagadnienia (i wtedy tok zamienia sie na OK). Dlatego tez przy wpisywaniu nowej pozycji (a to jest w tym przypadku) kolumna ta pozostaje pusta, ale pozniej jest ona modyfikowana. Dla jasnosci - dopisywanie metody rozwiazania i zmienianie 'tok' na 'ok' odbywa sie bez problemu.
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: 24.09.2025 - 06:12