Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]PHP przekazywanie getem
Kmils21
post
Post #1





Grupa: Zarejestrowani
Postów: 128
Pomógł: 0
Dołączył: 29.12.2010

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


Dlaczego mi to nie działa ?

(przesyłem getm adres email np 13123@qeqw.qwe)

$mail = $_get['mail'];

mysql_query("SELECT * FROM `maile` WHERE `mail` = '$mail');

Nie znajduje maila, który jest w bazie, a przez zapytanie w phpmyadmin go znajduje.

Czy to jest wina przesyłania przez get, i zmieniania @ na %40?

Jak to obejść?

Ten post edytował Kmils21 21.12.2012, 18:23:14
Go to the top of the page
+Quote Post
Damonsson
post
Post #2





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


urldecode czy tam rawurldecode

i sprawdź sobie co rzeczywiście zawiera zmienna $mail

Ten post edytował Damonsson 21.12.2012, 18:09:20
Go to the top of the page
+Quote Post
Kmils21
post
Post #3





Grupa: Zarejestrowani
Postów: 128
Pomógł: 0
Dołączył: 29.12.2010

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


kiedy wyświetlam echem zmienną $mail zawiera ona zgodny mail z tym, który podałem
Go to the top of the page
+Quote Post
Damonsson
post
Post #4





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


To zrób mały test...

Dodaj w bazie danych maila: ABC

zamiast
  1. $mail = $_get['mail'];

daj
  1. $mail = 'ABC';


i zweryfikuj czy poprawne jest użycie słowa "nie znajduje" (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
Kmils21
post
Post #5





Grupa: Zarejestrowani
Postów: 128
Pomógł: 0
Dołączył: 29.12.2010

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


wtedy znajduje, nie znajduje jeżeli ciąg pobierany z $_GET zawiera '@'
Go to the top of the page
+Quote Post
Damonsson
post
Post #6





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


Na moje powinno wyrzucić błąd

a po za tym co za różnica, czy ciąg to 'asdsdfsdf' czy 'asdasd@sadsdf'?

Coś kręcisz (IMG:style_emoticons/default/wink.gif)

Ten post edytował Damonsson 21.12.2012, 18:30:41
Go to the top of the page
+Quote Post
Kmils21
post
Post #7





Grupa: Zarejestrowani
Postów: 128
Pomógł: 0
Dołączył: 29.12.2010

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


nic nie kręcę, może to wina typu danych w bazie? Mam zwykły TEXT.
Go to the top of the page
+Quote Post
Damonsson
post
Post #8





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


To zrób sobie typu INT i prześlij jakąś liczbę, po co pytasz, jak samemu możesz to sprawdzić w 10 sekund.

Zresztą jak to
  1. mysql_query("SELECT * FROM `maile` WHERE `mail` = '$mail');

zapytanie wykonuje się poprawnie, tylko nie znajduje tych wartości gdzie jest "@" to ja nie mam kompetencji, żeby coś tu radzić.
Go to the top of the page
+Quote Post
Kmils21
post
Post #9





Grupa: Zarejestrowani
Postów: 128
Pomógł: 0
Dołączył: 29.12.2010

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


Skoro narobiłem niewiadomych błędów, to myślę, że zrezygnuję z tego i odczytam każdy rekord kolejno i porównam je jakąś funkcją z php.
Go to the top of the page
+Quote Post
Damonsson
post
Post #10





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


Ok jedźmy dalej

zamień

  1. mysql_query("SELECT * FROM `maile` WHERE `mail` = '$mail');


na

  1. mysql_query("SELECT * FROM `maile`);


Jaki wynik?
Go to the top of the page
+Quote Post
Kmils21
post
Post #11





Grupa: Zarejestrowani
Postów: 128
Pomógł: 0
Dołączył: 29.12.2010

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


Dzięki za pomoc, ale szkoda mi czasu na to marnować więc użyję PHP
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: 25.08.2025 - 17:35