Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z PHP rejestracyjnym
TaZZo
post 19.11.2019, 17:57:04
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 18.11.2019

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


Mam problem ze swoim plikiem rejestracyjnym, a dokładnie mój plik dodaje do bazy danych tylko "login".

Dacie rade jakoś pomóc ?

  1. <?php
  2.  
  3.  
  4. if (isset($_POST['login']))
  5. {
  6. //Udana walidacja? Załóżmy, że tak!
  7. $wszystko_OK=true;
  8.  
  9. //Sprawdź poprawność nickname'a
  10. $login = $_POST['login'];
  11.  
  12. //Sprawdzenie długości nicka
  13. if ((strlen($login)<3) || (strlen($login)>20))
  14. {
  15. $wszystko_OK=false;
  16. $_SESSION['e_login']="Login musi posiadać od 3 do 20 znaków!";
  17. }
  18.  
  19. if (ctype_alnum($login)==false)
  20. {
  21. $wszystko_OK=false;
  22. $_SESSION['e_login']="Login może składać się tylko z liter i cyfr (bez polskich znaków)";
  23. }
  24.  
  25. //Sprawdź poprawność hasła
  26. $haslo1 = $_POST['haslo1'];
  27. $haslo2 = $_POST['haslo2'];
  28.  
  29. if ((strlen($haslo1)<8) || (strlen($haslo1)>20))
  30. {
  31. $wszystko_OK=false;
  32. $_SESSION['e_haslo']="Hasło musi posiadać od 8 do 20 znaków!";
  33. }
  34.  
  35. if ($haslo1!=$haslo2)
  36. {
  37. $wszystko_OK=false;
  38. $_SESSION['e_haslo']="Podane hasła nie są identyczne!";
  39. }
  40.  
  41. //Czy zaakceptowano regulamin?
  42. if (!isset($_POST['regulamin']))
  43. {
  44. $wszystko_OK=false;
  45. $_SESSION['e_regulamin']="Potwierdź akceptację regulaminu!";
  46. }
  47.  
  48. //Bot or not? Oto jest pytanie!
  49. $sekret = "";
  50.  
  51. $sprawdz = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$sekret.'&response='.$_POST['g-recaptcha-response']);
  52.  
  53. $odpowiedz = json_decode($sprawdz);
  54.  
  55. if ($odpowiedz->success==false)
  56. {
  57. $wszystko_OK=false;
  58. $_SESSION['e_bot']="Potwierdź, że nie jesteś botem!";
  59. }
  60.  
  61. //Zapamiętaj wprowadzone dane
  62. $_SESSION['fr_login'] = $login;
  63. $_SESSION['fr_nickDC'] = $nickDC;
  64. $_SESSION['fr_imie'] = $imie;
  65. $_SESSION['fr_nazwisko'] = $nazwisko;
  66. $_SESSION['fr_ranga'] = $ranga;
  67. $_SESSION['fr_odznaka'] = $odznaka;
  68. $_SESSION['fr_haslo1'] = $haslo1;
  69. $_SESSION['fr_haslo2'] = $haslo2;
  70. if (isset($_POST['regulamin'])) $_SESSION['fr_regulamin'] = true;
  71.  
  72. require_once "connect.php";
  73. mysqli_report(MYSQLI_REPORT_STRICT);
  74.  
  75. try
  76. {
  77. $polaczenie = new mysqli($host, $db_user, $db_password, $db_name);
  78. if ($polaczenie->connect_errno!=0)
  79. {
  80. throw new Exception(mysqli_connect_errno());
  81. }
  82. else
  83. {
  84. //Czy nick jest już zarezerwowany?
  85. $rezultat = $polaczenie->query("SELECT id FROM fp WHERE login='$login'");
  86.  
  87. if (!$rezultat) throw new Exception($polaczenie->error);
  88.  
  89. $ile_takich_loginow = $rezultat->num_rows;
  90. if($ile_takich_loginow>0)
  91. {
  92. $wszystko_OK=false;
  93. $_SESSION['e_login']="Istnieje już konto o takim loginie! Wybierz inny.";
  94. }
  95.  
  96.  
  97. if ($wszystko_OK==true)
  98. {
  99. //Hurra, wszystkie testy zaliczone, dodajemy gracza do bazy
  100.  
  101. if ($polaczenie->query("INSERT INTO fp VALUES (NULL, '$login', '$haslo', '$nickDC', '$imie', '$nazwisko', '$ranga', '$nr_odznaki')"))
  102. {
  103. $_SESSION['udanarejestracja']=true;
  104. header('Location: witamy.php');
  105. }
  106. else
  107. {
  108. throw new Exception($polaczenie->error);
  109. }
  110.  
  111. }
  112.  
  113. $polaczenie->close();
  114. }
  115.  
  116. }
  117. catch(Exception $e)
  118. {
  119. echo '<span style="color:red;">Błąd serwera! Przepraszamy za niedogodności i prosimy o rejestrację w innym terminie!</span>';
  120. echo '<br />Informacja developerska: '.$e;
  121. }
  122.  
  123. }
  124.  
  125.  
  126. ?>
  127.  
  128. <!DOCTYPE HTML>
  129. <html lang="pl">
  130. <head>
  131. <meta charset="utf-8" />
  132. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  133. <title>Rejestracja do strony LSPD AltisRP</title>
  134. <script src='https://www.google.com/recaptcha/api.js'></script>
  135.  
  136. <style>
  137. .error
  138. {
  139. color:red;
  140. margin-top: 10px;
  141. margin-bottom: 10px;
  142. }
  143. </style>
  144. </head>
  145.  
  146. <body>
  147.  
  148. <form method="post">
  149.  
  150. Login: <br /> <input type="text" value="<?php
  151. if (isset($_SESSION['fr_login']))
  152. {
  153. echo $_SESSION['fr_login'];
  154. unset($_SESSION['fr_login']);
  155. }
  156. ?>" name="login" /><br />
  157.  
  158. <?php
  159. if (isset($_SESSION['e_login']))
  160. {
  161. echo '<div class="error">'.$_SESSION['e_login'].'</div>';
  162. unset($_SESSION['e_login']);
  163. }
  164. ?>
  165.  
  166. Twoje hasło: <br /> <input type="password" value="<?php
  167. if (isset($_SESSION['fr_haslo1']))
  168. {
  169. echo $_SESSION['fr_haslo1'];
  170. unset($_SESSION['fr_haslo1']);
  171. }
  172. ?>" name="haslo1" /><br />
  173.  
  174. <?php
  175. if (isset($_SESSION['e_haslo']))
  176. {
  177. echo '<div class="error">'.$_SESSION['e_haslo'].'</div>';
  178. unset($_SESSION['e_haslo']);
  179. }
  180. ?>
  181.  
  182. Powtórz hasło: <br /> <input type="password" value="<?php
  183. if (isset($_SESSION['fr_haslo2']))
  184. {
  185. echo $_SESSION['fr_haslo2'];
  186. unset($_SESSION['fr_haslo2']);
  187. }
  188. ?>" name="haslo2" /><br />
  189.  
  190. Nick#id(DC): <br /> <input type="text" value="<?php
  191. if (isset($_SESSION['fr_nickDC']))
  192. {
  193. echo $_SESSION['fr_nickDC'];
  194. unset($_SESSION['fr_nickDC']);
  195. }
  196. ?>" name="nickDC" /><br />
  197.  
  198. <?php
  199. if (isset($_SESSION['e_nickDC']))
  200. {
  201. echo '<div class="error">'.$_SESSION['e_nickDC'].'</div>';
  202. unset($_SESSION['e_nickDC']);
  203. }
  204. ?>
  205.  
  206. Imie(IC): <br /> <input type="text" value="<?php
  207. if (isset($_SESSION['fr_imie']))
  208. {
  209. echo $_SESSION['fr_imie'];
  210. unset($_SESSION['fr_imie']);
  211. }
  212. ?>" name="imie" /><br />
  213.  
  214. <?php
  215. if (isset($_SESSION['e_imie']))
  216. {
  217. echo '<div class="error">'.$_SESSION['e_imie'].'</div>';
  218. unset($_SESSION['e_imie']);
  219. }
  220. ?>
  221.  
  222. Nazwisko(IC): <br /> <input type="text" value="<?php
  223. if (isset($_SESSION['fr_nazwisko']))
  224. {
  225. echo $_SESSION['fr_nazwisko'];
  226. unset($_SESSION['fr_nazwisko']);
  227. }
  228. ?>" name="nazwisko" /><br />
  229.  
  230. <?php
  231. if (isset($_SESSION['e_nazwisko']))
  232. {
  233. echo '<div class="error">'.$_SESSION['e_nazwisko'].'</div>';
  234. unset($_SESSION['e_nazwisko']);
  235. }
  236. ?>
  237.  
  238. Ranga(np.Ofc I St.): <br /> <input type="text" value="<?php
  239. if (isset($_SESSION['fr_ranga']))
  240. {
  241. echo $_SESSION['fr_ranga'];
  242. unset($_SESSION['fr_ranga']);
  243. }
  244. ?>" name="ranga" /><br />
  245.  
  246. <?php
  247. if (isset($_SESSION['e_ranga']))
  248. {
  249. echo '<div class="error">'.$_SESSION['e_ranga'].'</div>';
  250. unset($_SESSION['e_ranga']);
  251. }
  252. ?>
  253.  
  254. Nr. odznaki(np.F-41): <br /> <input type="text" value="<?php
  255. if (isset($_SESSION['fr_odznaka']))
  256. {
  257. echo $_SESSION['fr_odznaka'];
  258. unset($_SESSION['fr_odznaka']);
  259. }
  260. ?>" name="odznaka" /><br />
  261.  
  262. <?php
  263. if (isset($_SESSION['e_odznaka']))
  264. {
  265. echo '<div class="error">'.$_SESSION['e_odznaka'].'</div>';
  266. unset($_SESSION['e_odznaka']);
  267. }
  268. ?>
  269.  
  270. <label>
  271. <input type="checkbox" name="regulamin" <?php
  272. if (isset($_SESSION['fr_regulamin']))
  273. {
  274. echo "checked";
  275. unset($_SESSION['fr_regulamin']);
  276. }
  277. ?>/> Akceptuję regulamin
  278. </label>
  279.  
  280. <?php
  281. if (isset($_SESSION['e_regulamin']))
  282. {
  283. echo '<div class="error">'.$_SESSION['e_regulamin'].'</div>';
  284. unset($_SESSION['e_regulamin']);
  285. }
  286. ?>
  287.  
  288. <div class="g-recaptcha" data-sitekey=""></div>
  289.  
  290. <?php
  291. if (isset($_SESSION['e_bot']))
  292. {
  293. echo '<div class="error">'.$_SESSION['e_bot'].'</div>';
  294. unset($_SESSION['e_bot']);
  295. }
  296. ?>
  297.  
  298. <br />
  299.  
  300. <input type="submit" value="Zarejestruj się" />
  301.  
  302. </form>
  303.  
  304. </body>
  305. </html>


Ten post edytował TaZZo 19.11.2019, 17:58:25
Go to the top of the page
+Quote Post
trueblue
post 19.11.2019, 17:59:50
Post #2





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


A skąd się biorą wartości pozostałych zmiennych, które podstawiasz do zapytania?


--------------------
Go to the top of the page
+Quote Post
TaZZo
post 19.11.2019, 18:54:47
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 18.11.2019

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


Z ekranu rejestracji wpisuje i poniekąd powinno iść do bazy danych, a tylko login mi się uzupełnia w bazie.

Ten post edytował TaZZo 19.11.2019, 18:55:37
Go to the top of the page
+Quote Post
nospor
post 19.11.2019, 19:14:32
Post #4





Grupa: Moderatorzy
Postów: 36 441
Pomógł: 6290
Dołączył: 27.12.2004




Widze nie zalapales aluzji....

Tylko login pobierasz z formularza
$login = $_POST['login'];

to i tylko login sie zapisuje. Zmiennej w magiczny sposob same sie nie tworza


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
TaZZo
post 19.11.2019, 22:52:18
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 18.11.2019

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


Ale to hasło też powinno się pobierać i zapisywać bo jest wywoływane a się nie zapisuje.

Dziękuje wszystkim za pomoc już zrozumiałem.

Temat do zamknięcia.
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: 16.04.2024 - 06:12