Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Aktywacja konta użytkownika
Forum PHP.pl > Forum > Przedszkole
adrianozo
Witam wszystkich.
Napisałem sobie kod, aktywacji konta użytkownika przez email. Wiadomość dochodzi na mail wchodzę w link, który wygląda tak:

http://strona.pl/index.php?page=active&...2wujpxz3kdl0f7y

i za każdym razem otrzymuje komunikat:

Podano nieistniejący kod aktywacyjny.

A w bazie danych jest rekord w bazie przy tym użytkowniku klucz: vr9gtme6ahi4s5qobn18c2wujpxz3kdl0f7y

  1. <?php
  2. if(isset($_GET['code']))
  3. {
  4. if($_GET['code'])
  5. {
  6. $zapytanie = 'UPDATE `user` SET `accessik` = 1 WHERE `klucz` = '.$_GET['code'].'';
  7. $idzapytania = mysql_query($zapytanie);
  8. {
  9. echo '<div align="center"><br /><font color="green"><b>Aktywacja ukończona pomyślnie. Możesz już korzystać z naszego serwisu.<br /><a style="text-decoration: none;" href="index.php">Przejdź do logowania</a></b></font><br /><br /></div>';
  10. }
  11. else
  12. {
  13. echo '<div align="center"><br /><font color="red"><b>Podano nieistniejący kod aktywacyjny.</b></font><br /><br /></div>';
  14. }
  15. }
  16. }
  17. mysql_close($connect);
  18. ?>


Proszę o pomoc. Co jest nie tak?
Spirit86
  1. $zapytanie = 'UPDATE `user` SET `accessik` = 1 WHERE `klucz` = \''.$_GET['code'].'\'';
adrianozo
Działa, ale dlaczego taki kod, a nie taki jak mój?
Spirit86
bo był błąd w zapytaniu SQL winksmiley.jpg
adrianozo
A co tam było nie tak?
Spirit86
  1. UPDATE `user` SET `accessik` = 1 WHERE `klucz` = vr9gtme6ahi4s5qobn18c2wujpxz3kdl0f7y


a vr9gtme6ahi4s5qobn18c2wujpxz3kdl0f7y nie jest nagłówkiem tabeli,ani zmienna, tylko łańcuchem znaków winksmiley.jpg
adrianozo
No to chodzi głównie o to:

W tabeli user nadaj accessik 1 temu rekordowi, którego klucz równa się vr9gtme6ahi4s5qobn18c2wujpxz3kdl0f7y
Spirit86
wartość stringu musisz wstawić w nawiasy
adrianozo
W jakie nawiasy?
Wicepsik
w apostrofy
Spirit86
źle:

  1. UPDATE `user` SET `accessik` = 1 WHERE `klucz` = vr9gtme6ahi4s5qobn18c2wujpxz3kdl0f7y


dobrze:

  1. UPDATE `user` SET `accessik` = 1 WHERE `klucz` = 'vr9gtme6ahi4s5qobn18c2wujpxz3kdl0f7y'
adrianozo
Dzięki No tak rzeczywyście
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.