Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Rejestracja Na Kod w VB, Możliwe?
Traser
post 21.06.2010, 08:32:14
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 20.06.2010
Skąd: Toruń

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


Witam.

Znalazlem na tym forum kod, który bardzo mnie zainteresował i chciałbym go wrzucic na swoją strone.
Chodzi mi dokladnie o takie cos:
http://forum.php.pl/index.php?s=&showt...st&p=752497

Widziałem, iż posiadał on taki sam problem jak Ja i nie wiem czy go rozwiązał. Pisałem do Damiian na numer GG podany w profilu, lecz mi nie odpowiedział.

Wiec posiadam forum VBulletin, i chciałbym tam zrobić rejestracje tylko i wyłącznie na kod.
Zrobiłem juz tak jak podano w tamtym poście, stworzyłem kolumny w bazie danych i stworzyłem dwa pliki:

Logowanie.php:
  1. <form action="dodawanie.php" method="post">
  2. <input type="text" name="name" /><br /
  3. <input type="text" name="email" /><br /
  4. <input type="text" name="code" /><br />
  5. <input type="submit" value="Zarejestruj" />
  6. </form>


oraz dodawanie php
  1. <?php
  2.  
  3.  
  4.  
  5. $connection = mysql_connect('', '', '')
  6.  
  7. or die('Brak połączenia z serwerem MySQL');
  8.  
  9. $db = mysql_select_db('earnings_cba_pl', $connection)
  10.  
  11. or die('Nie mogę połączyć się z bazą danych');
  12.  
  13. $name = mysql_real_escape_string(trim($_POST['name']));
  14. $email = mysql_real_escape_string(trim($_POST['email']));
  15. $code = mysql_real_escape_string(trim($_POST['code']));
  16.  
  17. //sprawdzamy czy taki kod jest w bazie i czy jest aktywny
  18. $sql = "SELECT code_id FROM codes WHERE code = $code AND code_active = 1";
  19. if($result = mysql_query($sql))
  20. {
  21. if(mysql_num_rows($result) > 0)
  22. {
  23. //kod istnieje w bazie i jest aktywny -> dodajemy użytkownika
  24.  
  25. //sprawdzamy czy taki użytkownik już istnieje, zakładam, że nazwa użytkownika nie może być użyta więcej niż raz
  26. $sql_check = "SELECT id FROM users WHERE name = '$name'";
  27. if($result_check = mysql_query($sql_check))
  28. {
  29. if(mysql_num_rows($result_check) > 0)
  30. {
  31. echo "taka nazwa użytkownika jest już zajęta.";
  32. } else
  33. {
  34. //ustawiamy kod na nieaktwyny
  35. $sql_code = "UPDATE codes SET code_active = '0' WHERE code = '$code'";
  36. if(!$result_code = mysql_query($sql_code))
  37. {
  38. }
  39. //nazwa nie jest zajęta -> dodajemy usera
  40. $sql_add = "INSERT INTO users(id, name, email) VALUES(NULL, '$name', '$email')";
  41. if($result_add = mysql_query($sql_add))
  42. {
  43. header("Location: www.xxx.pl/forum/register.php"
  44. } else
  45. {
  46. }
  47. }
  48. } else
  49. {
  50. }
  51.  
  52. } else
  53. {
  54. //kod nie istnieje lub jest nieaktywny
  55. echo "Przykro mi, kod jest nie poprawny.";
  56. }
  57. } else
  58. {
  59. }
  60.  
  61. mysql_close($connection);
  62. ?>


Name i email w moim przypadku nie ma znaczenia, bo chodzi mi tylko o to aby uzytkownik po podaniu dobrego kodu który znajduje sie w bazie, dostał sie do strony z rejestracją, a sam kod stał sie niekatywny (zeby nie było podwójnej rejestracji na jeden kod)

I Kiedy uzytkownik poda poprawny kod to żeby go przeniosło na strone, taką jaka podałem, czyli:
  1. header("Location: www.xxx.pl/forum/register.php"

www.xxx.pl/forum/register.php

A jeżeli dany uzytkownik wpisze bezpośrednio adres do przegladarki, bez podania hasła, to żeby przekierowało do do:
logowanie.php

( Nie chodzi mi o robienie to poprzez sesje. )

I teraz mam problem, bo register.php wyglada tak:

- Załącznik

I komplenie nie wiem, jak zrobić aby działało tak jak napisalem wczesniej. Czy wgl tak sie da.

Z góry dziękuje za pomoc:)

// Pomoże ktoś?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 12:57