Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] [MYSQL] System kodów
Killerek
post
Post #1





Grupa: Zarejestrowani
Postów: 89
Pomógł: 2
Dołączył: 15.12.2012

Ostrzeżenie: (10%)
X----


Witam mam taką tabelkę

  1. kod | status


i w tej tabelce jest kod phppl_ScBKn i teraz powinien się wyświetlić formularz i w nim coś takiego:

Wpisz użytkownika:
TUTAJ POLE TYPU TEXT
Wpisz kod:
TUTAJ POLE TYPU TEXT

i teraz niech skrypt sprawdzi czy kod który został wpisany do drugiego pola istnieje i jeżeli istnieje i w statusie jest 0 to robi się zapytanie

  1. UPDATE user SET `punkty` = +5 WHERE `name` = 'TUTAJ UŻYTKOWNIK'


oraz

  1. UPDATE codes SET `status` = '1' WHERE `kod` = 'TUTAJ KOD'


oraz wyskakuje napis "Konto TUTAJ NAZWA zostało doładowane 5 punktami!"

Jeżeli kod istnieje ale w statusie jest 1 to wyskakuje błąd np. "Ten kod został już wykorzystany".

Jeżeli kod nie istnieje w bazie wyskakuje "Kod nie istnieje"


Czy da się coś takiego zrobić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Killerek
post
Post #2





Grupa: Zarejestrowani
Postów: 89
Pomógł: 2
Dołączył: 15.12.2012

Ostrzeżenie: (10%)
X----


Wynalazłem coś takiego:

  1. <?php
  2.  
  3. include 'inc/db.php'; // połączenie z bazą danych
  4. $tabela = 'codes'; // zdefiniowanie tabeli MySQL
  5. $tabela2 = 'uzytkownicy'; // zdefiniowanie tabeli MySQL
  6.  
  7. $id = $_POST['id']; // pobieranie ID do zmiennej
  8. $kod = $_POST['kod']; // pobieranie KOD do zmiennej
  9.  
  10. if ($_POST['wyslane']) { // jeżeli formularz został wysłany, to wykonuje się poniższy skrypt
  11.  
  12. // Sprawdzanie ile plusów dodaje dany kod
  13. $wynik = mysql_query("SELECT * FROM $tabela WHERE kod='$kod'");
  14. if ($wynik) {
  15. $informacja = mysql_fetch_array($wynik);
  16. $ile_dodac = "{$informacja['ile']}";
  17. }
  18.  
  19. $wynik = mysql_query("SELECT * FROM $tabela WHERE kod='$kod' and status=1");
  20. if (mysql_num_rows($wynik) == 1) {
  21. echo '<div class="msg error">Podany kod został już aktywowany!</div>';
  22. } else {
  23. $wynik = mysql_query("UPDATE $tabela SET status='1' WHERE kod='$kod' and status=0");
  24. $wynik = mysql_query("UPDATE $tabela2 SET `plus`= `plus` + $ile_dodac WHERE `id`='$id'");
  25. $wynik = mysql_query("SELECT * FROM $tabela WHERE kod='$kod' and status=1");
  26. if (mysql_num_rows($wynik) == 1) {
  27. echo '<div class="msg error">Konto doładowane.</div>';
  28. }
  29. }
  30.  
  31. // Jeżeli nie wpisano id lub kodu
  32. if(empty($id) or empty($kod)) {
  33. echo '<div class="msg error">Doładowanie konta nie powidło się.</div>';
  34. }
  35. mysql_close($polaczenie);
  36. }
  37.  
  38. // Wyświetlanie formularza
  39. echo <<< KONIEC
  40.  
  41. <form class="form" action="doladuj" method="post">
  42.  
  43. <input type="hidden" name="wyslane" value="TRUE" />
  44.  
  45. Identyfikator:
  46. <input type="text" name="id" id="id" value="" />
  47.  
  48. Kod:
  49. <input type="text" name="kod" id="kod" value="" />
  50.  
  51. <input type="submit" value="Doładuj konto!" />
  52.  
  53. </form>
  54.  
  55. KONIEC;
  56.  
  57. ?>


ale nie wiem jak zrobić, żeby sprawdzało czy istnieje użytkownik o id $id. i jeżeli istnieje to dopiero się dodają punkty i zmienia status kodu na 1.

Pomozecie?

Ten post edytował Killerek 18.04.2013, 15:51:58
Go to the top of the page
+Quote Post

Posty w temacie


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: 8.10.2025 - 03:19