Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]rejestracja bład z id
Forum PHP.pl > Forum > Przedszkole
programistaarek
Witam mam taki oto skrypt rejestracji i bład polega na zasadzie ,że nie ma id gracz pierwszy 1 kolejny 2 itd tylko pierwsza osoba wchodząca do gry ma id (9013) cos powyżej 9k .Wie ktos jaki bład bądz czym to wywołane ?
  1.  
  2. <?php
  3. require_once("inc/dbc.php");
  4. require_once("inc/func.php");
  5.  
  6. function rejestracja($login, $haslo, $email, $ip, $polecil, $rules) {
  7.  
  8. $login = mysql_real_escape_string($login);
  9. $haslo = mysql_real_escape_string($haslo);
  10. $email = mysql_real_escape_string($email);
  11. $polecil = mysql_real_escape_string($polecil);
  12. if($rules != 1){
  13. return 8;
  14. }
  15. if (!checkEmail($email)){
  16. return 2;
  17. }
  18. if (strlen($login) < 3 || strlen($login) > 15){
  19. return 3;
  20. }
  21. if (strlen($haslo) < 3 || strlen($haslo) > 15){
  22. return 4;
  23. }
  24. if (!ctype_alnum($login) || !ctype_alnum($haslo)){
  25. return 5;
  26. }
  27. $sql = "SELECT * FROM `users` WHERE `login` = '$login'";
  28. $users = mysql_query($sql) or die(mysql_error());
  29. $users = mysql_fetch_array($users);
  30. if ($users['haslo'] != "") {
  31. return 6;
  32. }
  33.  
  34.  
  35. $sql = "SELECT mail FROM users";
  36. $users = mysql_query($sql) or die(mysql_error());
  37. $foring = mysql_num_rows($users);
  38. for ($i=0;$i<$foring;$i++) {
  39. $nickdb = mysql_result($users,$i,"mail");
  40. if ($email == $nickdb) {
  41. return 7;
  42. }
  43. }
  44.  
  45. $key = randomstring(10);
  46. $haslo = md5($haslo);
  47. $sql = "INSERT INTO `users` (`login`, `haslo`, `mail`, `key`, `key2`, `ip_przy_rejestracji`,`polecil`, `id`) VALUES ('$login', '$haslo', '$email', '$key', '$key', '$ip', '$polecil', NULL);";
  48.  
  49. $adres = "rejestracja@boxing-game.eu";
  50. $tytul = "Twoja rejestracja w grze boxing-game.eu";
  51. $tytul2 = "Nowy gracz w grze boxing-game.eu";
  52. $tresc = "Witaj ".$login."!<br><br>
  53. Cieszymy się, że możemy powitać Cię w pasjonującym świecie bokserskim.<br>
  54. Trenuj, rozwijaj postać i zostań najlepszym zawodnikiem.<br><br>
  55. Potwierdź swój adres e-mail klikając na link:<br>
  56. <a href='http://boxing-game.eu/index.php?key=$key'>http://boxing-game.eu/$login</a><br><br>
  57. Życzymy wielu sukcesów!<br>
  58. Zespół boxing-game.eu
  59. ";
  60. $wiadomosc = "W grze zarejestrował się gracz:</br>".$id." ".$login."";
  61. $nazwisko = $_POST['nazwisko'];
  62. $mail = $_POST['mail'];
  63. $temat = $_POST['temat'];
  64. $wiadomosc = $_POST['wiadomosc'];
  65.  
  66. $naglowki = "Reply-to: boxing-game.eu <".$adres.">".PHP_EOL;
  67. $naglowki .= "From: boxing-game.eu <".$adres.">".PHP_EOL;
  68. $naglowki .= "MIME-Version: 1.0".PHP_EOL;
  69. $naglowki .= "Content-type: text/html; charset=UTF-8".PHP_EOL;
  70.  
  71. $wiadomosc_html_zwrotna = "<html>
  72. <head>
  73. <title>".$tytul."</title>
  74. </head>
  75. <body>
  76. ".$tresc."
  77. </body>
  78. </html>";
  79.  
  80. mail($email, $tytul, $wiadomosc_html_zwrotna, $naglowki);
  81. $naglowki = "Reply-to: ".$login." <".$email.">".PHP_EOL;
  82. $naglowki .= "From: ".$login." <".$email.">".PHP_EOL;
  83. $naglowki .= "MIME-Version: 1.0".PHP_EOL;
  84. $naglowki .= "Content-type: text/html; charset=UTF-8".PHP_EOL;
  85. $wiadomosc_html = "<html>
  86. <head>
  87. <title>".$temat."</title>
  88. </head>
  89. <body>
  90. W grze zarejestrował się gracz:</br> $id $login , o adresie: $email
  91. </body>
  92. </html>";
  93. mail($adres, $tytul2, $wiadomosc_html, $naglowki);
  94. // mail($email, $temat, $wiadomosc_html, $naglowki);
  95. return 1;
  96. }
  97.  
  98.  
  99. function activate($link){
  100. $q = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `key` = '$link'"));
  101. if (!$q[0]) {
  102. return 2;
  103. }
  104. $inf="Witamy serdecznie nowego boksera!<br /><br /><div style=\"text-align:left\">
  105. Respekt decyduje o twojej pozycji. Zwiększa się on wraz ze wzrostem kasy <br />i statystyk
  106. (Energia o 30%, Kondycja o 5% i Respekt aktualizują się co godzinę). Na początku walcz w zakładce <a href=\"http://boxing-game.eu/sparring.php\">Sparingi</a> by zwiększyć swoje statystyki i kasę. Gdy brakuje Ci energii zregeneruj ją w <a href=\"http://boxing-game.eu/pharmacy.php\">Aptece</a> kupując specyfik EnergyPix lub w <a href=\"http://boxing-game.eu/treners.php\">Sztabie</a> u fizjoterapeuty. Następnie trenuj <a href=\"http://boxing-game.eu/um.php\">Umiejętności</a> lub ćwicz na <a href=\"http://boxing-game.eu/training.php\">Siłowni</a>. Jak zwiększysz statystyki wejdź do <a href=\"http://boxing-game.eu/undergrand_fight.php\">Undergroundu</a> by powalczyć z innymi graczami lub znaleźć przydatne rzeczy. Lepiej zaopatrzyć się w <a href=\"http://boxing-game.eu/gun.php\">Broń</a> i <a href=\"http://boxing-game.eu/itemshop.php\">Sprzęt</a>, gdyż tam nie ma reguł. By walczyć z najlepszymi zajrzyj do zakładki <a href=\"http://boxing-game.eu/starsfight.php\">Walka z Gwiazdą</a>.<br /><br />
  107. Gdy osiągniesz 2500 respektu otrzymasz 10 000$ i zawodowy kontrakt.<br />
  108. W zakładce <a href=\"http://boxing-game.eu/kredyty.php\">KREDYTY</a> możesz zakupić ułatwienia.<br />
  109. Stwórz swój własny <a href=\"http://boxing-game.eu/promotors_club.php\">Klub</a> i zbierz ekipę do treningów i akcji klubowych.<br />
  110. Gdy czegoś nie rozumiesz zajrzyj do <a href=\"http://boxing-game.eu/faq.php\">FAQ</a> lub napisz poprzez <a href=\"http://boxing-game.eu/kontakt.php\">SUPPORT</a>.<br /></div>
  111. <br />
  112. <div style=\"text-align:right\">http://boxing-game.eu/</div>
  113. ";
  114. wiadomosc($q['login'], '<span style="color: rgb(0, 153, 0);">BOXING-GAME</span>', "WPROWADZENIE", $inf, 0);
  115.  
  116. $sql = "UPDATE `users` SET `key` = '' WHERE `key` = '$link';";
  117. return 1;
  118. }
  119. ?>
  120.  
  121.  
  122.  
nospor
$wiadomosc = "W grze zarejestrował się gracz:</br>".$id." ".$login."";
Oswiec mnie prosze gdzie to $id ustawiasz bo chyba ślepne na starosc...
programistaarek
o kurde biggrin.gif dzieki za pomoc !
nospor
Jedyne co mogę w takim razie powiedziec to:
facepalmxd.gif


ps: tu masz napisane jak wyswietlac wszystkie bledy:
Temat: Jak poprawnie zada pytanie
Wlacz to i miej litosc nie przychodz na forum z czyms takim. No naprawde...
programistaarek
dzieki jeszcze raz haha.gif

myslałem ,ze wiem gdzie bąłd a tu bęc nadal id powyżek 9,1 k ;/
SwiezuPL
  1. $sql = "SELECT mail FROM users";
  2. $users = mysql_query($sql) or die(mysql_error());
  3. $foring = mysql_num_rows($users);
  4. for ($i=0;$i<$foring;$i++) {
  5. $nickdb = mysql_result($users,$i,"mail");
  6. if ($email == $nickdb) {
  7. return 7;
  8. }
  9. }

  1. if ($users['haslo'] != "") {
  2. return 6;
  3. }

  1. $tresc = "Witaj ".$login."!<br><br>
  2. [...]
  3. oxing-game.eu/index.php?key=$key'>http://b
  4. [...]
  5. Zespół boxing-game.eu
  6. ";


What? facepalmxd.gif

  1. $haslo = md5($haslo);


Wiesz ile trwa rozkodowanie tego ... [ciach] czegoś?

Wiesz, że używasz mysql zamiast mysqli?

Wiesz, że nie filtrujesz zmiennych?
Spróbuj utworzyć jeszcze raz tabelę / wyczyścić ją (nie usuwająć ręcznie rekordy). Albo ALTER TABLE xxx AUTO_INCREMENT = 1.
Możesz to zrobić przez zapytanie (konsola, phpmyadmin, Navicat, etc.) albo SQL Injection. Wybór należy do ciebie (tak, mysql_real_escape_string nie czyni cię odpornym na te ataki nerdsmiley.png ).
programistaarek
tylko ,że to tak dodaje gracza daje link aktywacyjny na e-maila tylko kłopot z ID
Okej
zmienne sa flirtowane w innym pliku który jest tu includowany
SwiezuPL
  1. <?php
  2. $zmienna = 5;
  3.  
  4. echo 'czesc, mam '.$zmienna.' lat oraz $zmienna miesiecy!';


Result:
czesc, mam 5 lat oraz $zmienna miesiecy!

Teraz rozumiesz o co mi chodzi z tym kawałkiem zmiennej od maila?

Co do pierwszych 2ch przykładów, domyśl się. Zakładam że jesteś inteligętny i umiesz używać wyszukiwarki/patrzeć na manuala/tutoriale/inne skrypty.
@edit co do reszty również. A co do tematu, odpowiedź dałem
"Spróbuj utworzyć jeszcze raz tabelę / wyczyścić ją (nie usuwająć ręcznie rekordy). Albo ALTER TABLE xxx AUTO_INCREMENT = 1"
programistaarek
już działa ! smile.gif auto_increment było = 9012 i stąd taka lipa dałem na 1 i działa smile.gif
Każdemu dziekuje za pomoc ! + / rozumiem
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.