Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Przedszkole _ Problem z PHP rejestracyjnym

Napisany przez: TaZZo 19.11.2019, 17:57:04

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

Napisany przez: trueblue 19.11.2019, 17:59:50

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

Napisany przez: TaZZo 19.11.2019, 18:54:47

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

Napisany przez: nospor 19.11.2019, 19:14:32

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

Napisany przez: TaZZo 19.11.2019, 22:52:18

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.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)