Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Formularz rejestracji cos jest nie tak
Forum PHP.pl > Forum > Przedszkole
Rafiks1992
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. }
trueblue
Łączysz się proceduralnie, używasz połączenia jak obiektu. Łączysz się kilkukrotnie, również w funkcji sprawdzDane, która swoją drogą nie sprawdza danych.
Rafiks1992
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 ^^
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.