Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Aktywacja Email
Forum PHP.pl > Forum > Przedszkole
Max1992
Witam chciał bym zrobić bardzo prostą aktywację email jednak nie za bardzo mi to idzie, skierowałem ię w pewnym kierunku i nie wiem czy dobrze. Mam taki kod:

  1. <?
  2. include("config.php");
  3. $queryy="SELECT aktywacja FROM users";
  4. $resultt = mysql_query ($queryy); 
  5. if ($row = mysql_fetch_array($resultt))
  6. {
  7. if ($_GET['id']==$row['id'])
  8. {  
  9. $queryyy="UPDATE `users` SET `aktywacja` = '1' WHERE `id` = `$row[id]`";
  10. mysql_query ($queryyy) or die(mysql_error()); 
  11. echo('Twoje konto zostało aktywowane,'); 
  12. return;
  13. }
  14. else
  15. {
  16. echo ("Nie udana próba aktywacij.");
  17. }
  18. }
  19. ?>


No i nie wiem czemu nic tu nie działa, mógł by mi ktoś spróbować przerobić ten kod poniewaz ni w jedną ni w drugą mi nie idzie :/
kossa
  1. <?php
  2. $queryyy="UPDATE users SET aktywacja='1' WHERE id='".$row[id]." ";
  3. ?>


Łukasz
Max1992
nie działa :/ nawet nie pobiera tego $row[id] do strony sad.gif, to wymaga ogromnych poprawek ale niestety nie wiem jakich sad.gif
bash3r
Hmmm albo jestem zmęczony albo
  1. <?php
  2. $queryyy="UPDATE users SET aktywacja='1' WHERE id='".$row['id']."' ";
  3. ?>

Druga sprawa to:
  1. <?
  2. include("config.php");
  3. $id = addslashes($_GET['id']);
  4. $result = mysql_query("SELECT aktywacja FROM users WHERE id='$id'");
  5. if(mysql_num_rows($result) == 1) {
  6. //aktywacja przeprowadzona
  7. mysql_query ("UPDATE `users` SET `aktywacja` = '1' WHERE `id` = `$id`")
  8. } else {
  9. //nie przeprowadzona
  10. }
  11. ?>


Czy jakoś tak ;]

Możesz to jeszcze zrobić poprzez COUNT(*) w pierwszym zapytaniu do bazy i wtedy mysql_fetch_assoc ... mysql_fetch_row (przynajmniej ja się tylko tak spotkałem) stosuje się razem z while
  1. <?php
  2. //jakiś kod i zapytanie do bazy
  3. while($row = mysql_fetch_array($result)) {
  4. //coś co ma się zrobić w związku z tym wierszem
  5. }
  6. ?>
Max1992
czy będzie działąć ak np. cos.php?is=1 itd.questionmark.gif?

oraz jak odczytać: $row['id']questionmark.gif
bash3r
W zapytaniu do bazy masz sprawdzenie czy ID jest w bazie więc po co Ci ID ? A jeżeli faktycznie potrzebne to dodaj
  1. <?php
  2. $user = mysql_fetch_assoc($result);
  3. ?>
oraz w zapytaniu zmień SELECT * FROM -> SELEST id FROM ... i wtedy pod zmienną $user['id'] masz ID z bazy ... Chociaż nie widzę większego sensu pobierania czegokolwiek z bazy skoro już masz przekazane w URLu

Ewentulanie możesz zapisać to w jednym zapytaniu do bazy co jest jeszcze lepszym rozwiązaniem (wg mnie)
  1. <?php
  2. include("config.php");
  3. $id = addslashes($_GET['id']);
  4. if(mysql_query("UPDATE `users` SET `aktywacja` = '1' WHERE `id` = `$id`")) {
  5. //aktywowane
  6. } else {
  7. //nie aktywowane
  8. }
  9. ?>
Max1992
Widzę ale jak tu wstawić id usera?questionmark.gif chodziło mi dokładnie np. o stronę aktywacja.php?id=6 i wtedy jest aktywowany user o id 6 smile.gif czy wiesz(cie) jak to zrobić?questionmark.gif
bash3r
Geeez ;]
http://localhost/pryk/plik.php?id=6

To co Ci podałem pobiera id z URLa $id = addslashes($_GET['id']); i aktywuje tylko tego usera (o ile istnieje) ... nie wiem czy ten ostatni skrypt będzie działać ;] Ale
  1. <?
  2. include("config.php");
  3. $id = addslashes($_GET['id']);
  4. $result = mysql_query("SELECT aktywacja FROM users WHERE id='$id'");
  5. if(mysql_num_rows($result) == 1) {
  6. //aktywacja przeprowadzona
  7. mysql_query ("UPDATE `users` SET `aktywacja` = '1' WHERE `id` = `$id`")
  8. } else {
  9. //nie przeprowadzona
  10. }
  11. ?>
napewno ;]
Co więcej chcesz ? Może czego Ci tu brakuje ?

PS. zainwestuj trochę kasy w jakąś książkę bo widzę, że nie masz kompletnie żadnych podstaw i trochę brak Ci logiki :/
Max1992
wysyłam emeil na pocztę zarejestrowanego i otrzymuje wiadomość:

Gratulacje, bla, bal, bal

Musisz aktywować swoje konto klikając na poniższy link:
http://www.jakaś_strona.pl/aktywacja.php?id=6

i w ten oto sposób aktywowana jest osoba o id 6, ale niestety nie wiem jak zrobic aby pobierał przez ten adres to id, ponieważ resztę to już potrafię zrobić :/
bash3r
6 raz to piszę i więcej nie napiszę
  1. <?php
  2. $id = $_GET['id'];
  3. ?>
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.