Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Formularz rejestracji cos jest nie tak
Rafiks1992
post 4.07.2017, 16:58:21
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 27.06.2017

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


Hejka wink.gif! Zaczalem od nowa projekt, poprzedni byl oczywiscie napisany w starych komendach nieuzywanych juz dlatego postanowilem usunac to wszystko i zaczac od nowa pisac wlasna strone od zera. Porobilem index kilka podstron panel nawigacji miedzy stronami laczenie z baza danych i przyszedl teraz juz czas na rejestracje, tak wiec obejrzalem kilka filmikow i zaczalem pisac po ciezkich godzinach wyszlo mi cos ale jednak mam maly problem. Gdy w formularzu wpisze wszystkie dane i dam zarejestruj to wyswietla komunikat Konto zostalo utworzone ale jednak nie dodaje mi go do bazy danych. Polaczenie z baza jest, pobiera takze mi dane uzytkownikow wszystkich bo sprawdzalem wpisujac nizej echo i dane z tablicy tak wiec problem jest nizej ale nie moge zrozumiec ktora linijka jest zle... jakies porady tongue.gif?

  1. <?php
  2.  
  3. $title = "Rejestracja";
  4. include_once 'gora_strony.php';
  5.  
  6. ?>
  7.  
  8. <h1>Rejestracja</h1>
  9. <form method="POST" action="?rejestracja">
  10. <table>
  11. <tr><td>Nazwa konta (6-20 znakow): </td><td><input type='text' name='login'/></td></tr>
  12. <tr><td>Haslo (6-20 znakow): </td><td><input type='password' name='haslo1'/></td></tr>
  13. <tr><td>Powtorz haslo: </td><td><input type='password' name='haslo2'/></td></tr>
  14. <tr><td>Email: </td><td><input type='text' name='email'/></td></tr>
  15. <tr><td><input type='submit' value='Zarejestruj sie!' name="zatwierdz"/></td></tr>
  16. </table>
  17. </form>
  18.  
  19. <?php
  20.  
  21. $login = $_POST['login'];
  22. $haslo1 = $_POST['haslo1'];
  23. $haslo2 = $_POST['haslo2'];
  24. $email = $_POST['email'];
  25. $zatwierdz = $_POST['zatwierdz'];
  26.  
  27. if(!empty($_POST)){
  28. if(isset($zatwierdz)){
  29. if(!empty($login) && !empty($haslo1) && !empty($haslo2) &&!empty($email)){
  30. if(strlen($haslo1) >=6 && strlen($haslo2) <=20){
  31. if($haslo1 == $haslo2){
  32. if(strlen($login) >=6 && strlen($login) <=20){
  33. $login = SprawdzDane($login);
  34. $haslo1 = sha1($haslo1);
  35. $email = SprawdzDane($email);
  36. $polaczenie = mysqli_connect(db_host, db_user, db_pass, db_name);
  37. $pytanie = "SELECT * FROM uzytkownicy";
  38. $tablica = $polaczenie->query($pytanie);
  39. $tablica = mysqli_fetch_array($tablica);
  40. if($dane_uzytkownikow == 0){
  41. $polaczenie = mysqli_connect(db_host, db_user, db_pass, db_name);
  42. $dodaj = 'INSERT INTO uzytkownicy (nazwa, haslo, email) VALUES ("'.$login.','.$haslo1.','.$email.'")';
  43. $wynik = $polaczenie->query($dodaj);
  44.  
  45. echo 'Konto zostalo utworzone!';
  46. } else echo 'Login lub email sa juz w uzyciu!';
  47. } else echo 'Nazwa konta musi zawierac od 6 do 20 znakow!';
  48. } else echo 'Hasla nie sa identyczne!</b>';
  49. } else echo 'Haslo musi zawierac od 6 do 20 znakow!';
  50. } else echo 'Wypelnij wszystkie dane!';
  51. }
  52. }
  53.  
  54. ?>
  55.  
  56.  
  57. <?php
  58.  
  59. include_once 'dol_strony.php';
  60.  
  61. ?>



EDIT: zapomnialem dodac funkcje SprawdzDane

  1. function SprawdzDane($tekst){
  2. $polaczenie = mysqli_connect(db_host, db_user, db_pass, db_name) or die(mysqli_error($baza));
  3. $wynik = mysqli_real_escape_string($polaczenie, $tekst);
  4. return $wynik;
  5. }


Ten post edytował Rafiks1992 4.07.2017, 17:00:49
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
trueblue
post 4.07.2017, 17:15:50
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Łączysz się proceduralnie, używasz połączenia jak obiektu. Łączysz się kilkukrotnie, również w funkcji sprawdzDane, która swoją drogą nie sprawdza danych.


Ten post edytował trueblue 4.07.2017, 17:16:02


--------------------
Go to the top of the page
+Quote Post
Rafiks1992
post 4.07.2017, 17:37:41
Post #3





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 27.06.2017

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


Amatorskie bledy jak widze tongue.gif tylko ze jak probowalem wyswietlic dane nie wpisujac wczesniej tego polaczenia z baza to nie chcialo mi wyswietlic ;/

btw, dlaczego nie sprawdza danych wink.gif?


Czy jest ktos w stanie szybko mi z tym pomoc? Moge nawet zaplacic byleby to juz ruszylo, ciezko uczyc sie na wyswietlanych bledach a jak zobacze raz jak to powinno byc to pewnie zapamietam i nastepnym razem zrobie tak jak trzeba ^^

Ten post edytował Rafiks1992 4.07.2017, 18:34:10
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 - 00:45