Kmils21
21.12.2012, 18:04:59
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ść?
Damonsson
21.12.2012, 18:08:06
urldecode czy tam
rawurldecodei sprawdź sobie co rzeczywiście zawiera zmienna $mail
Kmils21
21.12.2012, 18:12:42
kiedy wyświetlam echem zmienną $mail zawiera ona zgodny mail z tym, który podałem
Damonsson
21.12.2012, 18:20:08
To zrób mały test...
Dodaj w bazie danych maila: ABC
zamiast
$mail = $_get['mail'];
daj
$mail = 'ABC';
i zweryfikuj czy poprawne jest użycie słowa "nie znajduje"
Kmils21
21.12.2012, 18:24:49
wtedy znajduje, nie znajduje jeżeli ciąg pobierany z $_GET zawiera '@'
Damonsson
21.12.2012, 18:30:00
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
Kmils21
21.12.2012, 18:33:17
nic nie kręcę, może to wina typu danych w bazie? Mam zwykły TEXT.
Damonsson
21.12.2012, 18:38:09
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
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ć.
Kmils21
21.12.2012, 18:42:51
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.
Damonsson
21.12.2012, 18:44:03
Ok jedźmy dalej
zamień
mysql_query("SELECT * FROM `maile` WHERE `mail` = '$mail');
na
Jaki wynik?
Kmils21
21.12.2012, 18:48:38
Dzięki za pomoc, ale szkoda mi czasu na to marnować więc użyję PHP
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.