Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Aktywacja konta $_GET...
artkow00
post
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 5.11.2013

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


Witam.

Pytanie brzmi następująco:

Dlaczego po wysłaniu na maila takiego linku:

http://.../confirm.php?key=$key

gdzie $key to nic innego jak losowa liczba przypisywana każdemu userowi,
oraz wywołaniu na stronie confirm.php następującej akcji:

  1. mysql_query("UPDATE `active` SET `active` = '1' WHERE key = '".$_GET['key']."'");


nie zmienia mi active na 1?

Np. link wygląda następująco: http://.../confirm.php?key=197986081
w bazie danych jest taki user, gdzie key = 197986081, a active = 0.
Po zastosowaniu skryptu powinno zmienić active na 1, czy się mylę?

---------------------------------------

Problem rozwiązany - zamiast key w zapytaniu powinno być `key`.. Głupi ja... (IMG:style_emoticons/default/tongue.gif)

Ten post edytował artkow00 7.11.2013, 15:45:21
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
nospor
post
Post #2





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




Masz banalny blad i aby go wylapac wystarczy wyswietlic blad bazy danych... No ale po co....

TU masz napisane jak wyswietlac bledy bazy danych
Temat: Jak poprawnie zada pytanie
Go to the top of the page
+Quote Post
SaMi
post
Post #3





Grupa: Zarejestrowani
Postów: 173
Pomógł: 14
Dołączył: 27.03.2004
Skąd: Białystok

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


Po pierwsze kwestia bezpieczeństwa używasz zmiennej globalnej $_GET w zapytaniu, w związku z tym prawdopodobieństwo SQL Injection wzrasta bardzo mocno.
Jesli chodzi o zapytanie to po UPDATE powinna się znaleść nazwa tabeli a nie pola, no chyba że twoja tabela z użytkownikami nazywa się active.
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: 23.12.2025 - 00:06