Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Rejestracja, Gdzie jest błąd^^??
ArekJ
post 10.09.2008, 20:52:18
Post #1





Grupa: Zarejestrowani
Postów: 266
Pomógł: 9
Dołączył: 21.05.2008
Skąd: Łomianki

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


Otóż na pewnej stronie znalzłem skrypt rejestracji, zmodyfikowałem go do swoich potrzeb, ale nie działa sad.gif Może ktoś wie gdzie jest błąd?

  1. <?php
  2.  
  3. // łączymy się z bazą danych i wybieramy potrzebną baze danych
  4. $link_id = mysql_connect("localhost", "XXX", "XXX"); // tu root i pass są wprowadzone przez was w zależności od konfiguracji waszego serwera
  5. mysql_select_db("XXX");
  6. mysql_close($link_id);
  7.  
  8. // stworzymy dwie przydatne funkcje...jedna będzie tworzyła nagłówek strony, a druga stopke strony
  9. function html_header()
  10. {
  11. global $new_win_width, $new_win_height;
  12. ?>
  13. <HTML>
  14. <HEAD>
  15. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  16. <TITLE>Rejestracja</TITLE>
  17. </HEAD>
  18. <BODY>
  19. <?php
  20. }
  21.  
  22. function html_footer()
  23. {
  24. ?>
  25. </BODY>
  26. </HTML>
  27. <?php
  28. }
  29.  
  30.  
  31. function in_use($userid) // funkcja ta sprawdza czy nie dany login nie jest już wykorzystany
  32. {
  33. global $tabela_uzytkownikow;
  34.  
  35. $query = "SELECT userid FROM $tabela_uzytkownikow WHERE userid = 'userid'";
  36. $result = mysql_query($query);
  37. if(!mysql_num_rows($result)) return 0;
  38. else return 1;
  39. }
  40.  
  41.  
  42. function register_form() // funkcja ta wyświetla nam formularz w który użytkownik wpisze swoje dane
  43. {
  44. global $userid, $mail;
  45. global $PHP_SELF;
  46. ?>
  47. <CENTER><H3>Rejestracj:</H3></CENTER>
  48. <FORM METHOD="post" ACTION="<?php echo $PHP_SELF ?>">
  49. <INPUT TYPE="hidden" NAME="action" VALUE="register">
  50. <DIV ALIGN="center"><CENTER><TABLE BORDER="1" WIDTH="90%">
  51. <TR>
  52. <TH WIDTH="30%" NOWRAP>Logi: </TH>
  53. <TD WIDTH="70%"><INPUT TYPE="text" NAME="userid" VALUE="<?php echo $userid ?>" SIZE="15" MAXLENGHT="15"></TD>
  54. </TR>
  55.  <TR>
  56. <TH WIDTH="30%" NOWRAP>E-mail: </TH>
  57. <TD WIDTH="70%"><INPUT TYPE="text" NAME="mail" VALUE="<?php echo $mail ?>" SIZE="15"></TD>
  58. </TR>
  59. <TR>
  60. <TH WIDTH="30%" NOWRAP>Hasło: </TH>
  61. <TD WIDTH="70%"><INPUT TYPE="password" NAME="userpassword" SIZE="15"></TD>
  62. </TR>
  63. <TR>
  64. <TH WIDTH="30%" NOWRAP>Powtórz hasło: </TH>
  65. <TD WIDTH="70%"><INPUT TYPE="password" NAME="userpassword2" SIZE="15"></TD>
  66. </TR>
  67. <TR>
  68. <TH WIDTH="30%" COLSPAN="2" NOWRAP>
  69. <INPUT TYPE="submit" VALUE="Zarejestruj">
  70. <INPUT TYPE="reset" VALUE="Wyczyść">
  71. </TH>
  72. </TR>
  73. </TABLE>
  74. </CENTER></DIV>
  75. </FORM>
  76. <?php
  77. }
  78.  
  79.  
  80. function create_account() // funckja ta tworzy tworzy konto danego użytkownika
  81. {
  82. global $userid, $mail, $userpassword, $userpassword2;
  83.  
  84.  
  85.  
  86. // można też na wszelki wypadek dopisać warunki funkcji if które sprawdzałyby czy podane dane są poprawne. Ja ten krok pomijam
  87.  
  88. $link_id = mysql_connect("localhost", "XXX", "XXX");
  89.  
  90. $query = "INSERT INTO user VALUES(NULL, '$userid', password('$userpassword'), '$mail')";
  91.  
  92. $result = mysql_query($query);
  93. $usernumber = mysql_insert_id($link_id);
  94.  
  95.  
  96. html_header();
  97. ?>
  98. <CENTER><H3>
  99. <?php echo $mail ?>, dziękujemy za rejestrację w grze <a href='htt://www.swiat-magii.pl/' >Świat Magii</a>!<br /><br />
  100.  
  101. Zapraszamy na <a href='htt://www.forum.swiat-magii.pl/' >forum</a>!
  102. </H3></CENTER>
  103.  
  104. <DIV ALIGN="center"><CENTER><TABLE BORDER="1" WIDTH="90%">
  105. <TR>
  106. <TH WIDTH="30%" NOWRAP>I: </TH>
  107. <TD WIDTH="70%"><?php echo $usernumber ?></TD>
  108. </TR>
  109. <TR>
  110. <TH WIDTH="30%" NOWRAP>Logi: </TH>
  111. <TD WIDTH="70%"><?php echo $userid ?></TD>
  112. </TR>
  113. <TR>
  114. <TH WIDTH="30%" NOWRAP>Hasło: </TH>
  115. <TD WIDTH="70%"><?php echo $userpassword ?></TD>
  116. </TR>
  117. <TR>
  118. <TH WIDTH="30%" NOWRAP>E-mail: </TH>
  119. <TD WIDTH="70%"><?php echo $mail ?></TD>
  120. </TR>
  121. </TABLE></CENTER></DIV>
  122. <?php
  123. html_footer();
  124. }
  125. switch($action)
  126. {
  127. case "register"<span style="color: #007700":
  128. create_account();
  129. break;
  130. defaul:
  131. html_header();
  132. register_form();
  133. html_footer();
  134. break;
  135. }
  136. ?>


Z góry dziękuje za odpowiedź winksmiley.jpg
Pozdrawiam,
ArekJ


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

"Do bramy, bo pada deszcz
Gdy zaćpiesz przejdzie dreszcz
I wróci, wróci tęcza barw
I pęknie twój wrogi świat" R. Riedel
Go to the top of the page
+Quote Post
Cienki1980
post 10.09.2008, 21:20:46
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Na szybko bez sprawdzania dokładnego widzę że w switchu jest bład .. jest defaul ... a powinno być default .. dalej mi się nie chce analizować, o tej porze moje zwoje mózgowe nie pracują.


--------------------
404
Go to the top of the page
+Quote Post
sowiq
post 10.09.2008, 21:27:48
Post #3





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


A po case "register" powinien być znak : (dwukropek).

Naucz się czytać komunikaty błędów.
Go to the top of the page
+Quote Post
BibDeep
post 10.09.2008, 21:35:40
Post #4





Grupa: Zarejestrowani
Postów: 13
Pomógł: 2
Dołączył: 4.01.2007
Skąd: Bydgoszcz

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


A w ogóle co to znaczy "nie działa" ? co sie dzieje? opisz dokładniej...

a co do błędów: w funkcji zawartej u ciebie pomiędzy liniamii 30-39 jest w zapytaniu błąd... wydaje mi się że powinno być jednak jak poniżej;)

  1. <?php
  2. function in_use($userid) // funkcja ta sprawdza czy nie dany login nie jest już wykorzystany
  3. {
  4. global $tabela_uzytkownikow;
  5.  
  6. $query = "SELECT userid FROM $tabela_uzytkownikow WHERE userid = '".$userid."'";
  7. $result = mysql_query($query);
  8. if(!mysql_num_rows($result)) return 0;
  9. else return 1;
  10. }
  11. ?>


--------------------
Personal Portfolio: http://www.klodzinski.pl/
Go to the top of the page
+Quote Post
webdice
post 10.09.2008, 21:55:00
Post #5


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Czysto formalnie: dwukropki po case usuwa forum.
Go to the top of the page
+Quote Post
ArekJ
post 11.09.2008, 14:43:30
Post #6





Grupa: Zarejestrowani
Postów: 266
Pomógł: 9
Dołączył: 21.05.2008
Skąd: Łomianki

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


No to tak "nie działa" w tym przypadku oznacza tyle, że tak jakby czyści formularz zamiast dodawać zapytanie... zresztą sami zobaczcie: www.swiat-magii.pl/register.php

A kod teraz wygląda tak:

  1. <?php
  2.  
  3. // łączymy się z bazą danych i wybieramy potrzebną baze danych
  4. $link_id = mysql_connect("localhost", "xxx", "xxx"); // tu root i pass są wprowadzone przez was w zależności od konfiguracji waszego serwera
  5. mysql_select_db("ArekJ_glowna");
  6. mysql_close($link_id);
  7.  
  8. // stworzymy dwie przydatne funkcje...jedna będzie tworzyła nagłówek strony, a druga stopke strony
  9. function html_header()
  10. {
  11. global $new_win_width, $new_win_height;
  12. ?>
  13. <HTML>
  14. <HEAD>
  15. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  16. <TITLE>Rejestracja</TITLE>
  17. </HEAD>
  18. <BODY>
  19. <?php
  20. }
  21.  
  22. function html_footer()
  23. {
  24. ?>
  25. </BODY>
  26. </HTML>
  27. <?php
  28. }
  29.  
  30.  
  31. function in_use($userid) // funkcja ta sprawdza czy nie dany login nie jest już wykorzystany
  32. {
  33. global $tabela_uzytkownikow;
  34.  
  35. $query = "SELECT userid FROM $tabela_uzytkownikow WHERE userid = '".$userid."'";
  36. $result = mysql_query($query);
  37. if(!mysql_num_rows($result)) return 0;
  38. else return 1;
  39. }
  40.  
  41.  
  42. function register_form() // funkcja ta wyświetla nam formularz w który użytkownik wpisze swoje dane
  43. {
  44. global $userid, $mail;
  45. global $PHP_SELF;
  46. ?>
  47. <CENTER><H3>Rejestracj:</H3></CENTER>
  48. <FORM METHOD="post" ACTION="<?php echo $PHP_SELF ?>">
  49. <INPUT TYPE="hidden" NAME="action" VALUE="register">
  50. <DIV ALIGN="center"><CENTER><TABLE BORDER="1" WIDTH="90%">
  51. <TR>
  52. <TH WIDTH="30%" NOWRAP>Logi: </TH>
  53. <TD WIDTH="70%"><INPUT TYPE="text" NAME="userid" VALUE="<?php echo $userid ?>" SIZE="15" MAXLENGHT="15"></TD>
  54. </TR>
  55.  <TR>
  56. <TH WIDTH="30%" NOWRAP>E-mail: </TH>
  57. <TD WIDTH="70%"><INPUT TYPE="text" NAME="mail" VALUE="<?php echo $mail ?>" SIZE="15"></TD>
  58. </TR>
  59. <TR>
  60. <TH WIDTH="30%" NOWRAP>Hasło: </TH>
  61. <TD WIDTH="70%"><INPUT TYPE="password" NAME="userpassword" SIZE="15"></TD>
  62. </TR>
  63. <TR>
  64. <TH WIDTH="30%" NOWRAP>Powtórz hasło: </TH>
  65. <TD WIDTH="70%"><INPUT TYPE="password" NAME="userpassword2" SIZE="15"></TD>
  66. </TR>
  67. <TR>
  68. <TH WIDTH="30%" COLSPAN="2" NOWRAP>
  69. <INPUT TYPE="submit" VALUE="Zarejestruj">
  70. <INPUT TYPE="reset" VALUE="Wyczyść">
  71. </TH>
  72. </TR>
  73. </TABLE>
  74. </CENTER></DIV>
  75. </FORM>
  76. <?php
  77. }
  78.  
  79.  
  80. function create_account() // funckja ta tworzy tworzy konto danego użytkownika
  81. {
  82. global $userid, $mail, $userpassword, $userpassword2;
  83.  
  84.  
  85.  
  86. // można też na wszelki wypadek dopisać warunki funkcji if które sprawdzałyby czy podane dane są poprawne. Ja ten krok pomijam
  87.  
  88. $link_id = mysql_connect("localhost", "xxx", "xxx");
  89.  
  90. $query = "INSERT INTO user VALUES(NULL, '$userid', password('$userpassword'), '$mail')";
  91.  
  92. $result = mysql_query($query);
  93. $usernumber = mysql_insert_id($link_id);
  94.  
  95.  
  96. html_header();
  97. ?>
  98. <CENTER><H3>
  99. <?php echo $mail ?>, dziękujemy za rejestrację w grze <a href='htt://www.swiat-magii.pl/' >Świat Magii</a>!<br /><br />
  100.  
  101. Zapraszamy na <a href='htt://www.forum.swiat-magii.pl/' >forum</a>!
  102. </H3></CENTER>
  103.  
  104. <DIV ALIGN="center"><CENTER><TABLE BORDER="1" WIDTH="90%">
  105. <TR>
  106. <TH WIDTH="30%" NOWRAP>I: </TH>
  107. <TD WIDTH="70%"><?php echo $usernumber ?></TD>
  108. </TR>
  109. <TR>
  110. <TH WIDTH="30%" NOWRAP>Logi: </TH>
  111. <TD WIDTH="70%"><?php echo $userid ?></TD>
  112. </TR>
  113. <TR>
  114. <TH WIDTH="30%" NOWRAP>Hasło: </TH>
  115. <TD WIDTH="70%"><?php echo $userpassword ?></TD>
  116. </TR>
  117. <TR>
  118. <TH WIDTH="30%" NOWRAP>E-mail: </TH>
  119. <TD WIDTH="70%"><?php echo $mail ?></TD>
  120. </TR>
  121. </TABLE></CENTER></DIV>
  122. <?php
  123. html_footer();
  124. }
  125. switch($action)
  126. {
  127. case "register"<span style="color: #007700":
  128. create_account();
  129. break;
  130. defaul:
  131. html_header();
  132. register_form();
  133. html_footer();
  134. break;
  135. }
  136. ?>


Ten post edytował ArekJ 11.09.2008, 14:43:50


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

"Do bramy, bo pada deszcz
Gdy zaćpiesz przejdzie dreszcz
I wróci, wróci tęcza barw
I pęknie twój wrogi świat" R. Riedel
Go to the top of the page
+Quote Post
qba10
post 11.09.2008, 17:13:24
Post #7





Grupa: Zarejestrowani
Postów: 264
Pomógł: 20
Dołączył: 19.08.2007
Skąd: Bryńsk k. Lidzbarka Welskiego (nie mylić z Warmińskim)

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


Skumałem twój kod na localu i jaki wniosek?
A taki że:
1) masz wyłączony register_globals
2) linijka 133: defaul: na default:
3) 130 -
case "register" - brakuje ';'
4) bez obrazy ten kod jest do dupy (nie chcę nikogo obrażać - tylko taka jest prawda, kod w ogóle nieczytelny i masa błędów bezpieczeństwa)
5) po poprawieniu tych błędów strona wyświetla że dane zostały wysłane, ale i tak ich nie mam w bazie mysql (to akurat może być mój błąd, ale nie chcę mi się już bazgrać w tym kodzie)

PS: Nie wiem czy to twój kod czy z neta, ale ja bym na twoim miejscu napisał nowy, lub poszukałbym w necie innego


Ten post edytował qba10 11.09.2008, 18:19:08


--------------------
Qbix Media Project - Prosty Multiplatformowy Odtwarzacz Muzyki
Go to the top of the page
+Quote Post
ArekJ
post 11.09.2008, 19:23:08
Post #8





Grupa: Zarejestrowani
Postów: 266
Pomógł: 9
Dołączył: 21.05.2008
Skąd: Łomianki

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


z neta :/ No to poszukam, chociaż i tak ledwo co ten wykopałem...

P.S. A może zna ktoś jakiś tutorial jak zrobić własny skrypt rejestracji? Proszę o linka smile.gif

Ten post edytował ArekJ 11.09.2008, 19:48:11


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

"Do bramy, bo pada deszcz
Gdy zaćpiesz przejdzie dreszcz
I wróci, wróci tęcza barw
I pęknie twój wrogi świat" R. Riedel
Go to the top of the page
+Quote Post
sowiq
post 12.09.2008, 12:40:45
Post #9





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


http://imisp.mech.pw.edu.pl/pracownia/samouczek/MySQL/
http://cs-hacked.pl/viewtopic.php?t=18178

http://www.google.pl/search?hl=pl&safe...=Szukaj&lr=
Go to the top of the page
+Quote Post
ArekJ
post 12.09.2008, 21:36:23
Post #10





Grupa: Zarejestrowani
Postów: 266
Pomógł: 9
Dołączył: 21.05.2008
Skąd: Łomianki

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


Dziękuje bardzo smile.gif Nie wiem czemu, ale w tym temacie google mi nie bardzo chciało pomóc. Pewnie nie wiem jak dobrze zadać pytanie biggrin.gif Bo jak szukam czegoś na temat w którym trochę siedze to mi idzie o niebo lepiej winksmiley.jpg

Dzięki jeszcze raz może jeszcze dzisiaj prześledze!

Pozdrawiam,
ArekJ


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

"Do bramy, bo pada deszcz
Gdy zaćpiesz przejdzie dreszcz
I wróci, wróci tęcza barw
I pęknie twój wrogi świat" R. Riedel
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: 14.08.2025 - 11:12