Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Brak dodawania do bazy
Forum PHP.pl > Forum > Przedszkole
kto$
Cześc, stworzyłem skrypt do rejestrowania użytkownika, jednak coś na poziomie połączenia z bazą chyba coś nie gra, bo baza jak stała pusta tak stoi.
Otóż kod wygląda następująco:
  1. <?php
  2.  
  3. //utworzenie krotkich nazw
  4. $login=$_POST['login'];
  5. $haslo=$_POST['haslo'];
  6. $haslo1=$_POST['haslo1'];
  7. $email=$_POST['email'];
  8.  
  9. //rozpoczecie sesji !!!musi byc przed naglowkami!!!
  10.  
  11. require_once('funkcje_uwierz1.php'); //dolaczenie funkcji
  12. require_once('funkcje_prawid_dane.php'); // funkcje dobrze wypelnionego formularza
  13.  
  14.  
  15. //Obsluga bledow
  16. try{
  17.  
  18. if(!wypelniony($_POST)) // sprawdzenie czy wszystkie pola wypelnione
  19. throw new Exception('Musisz wypełnic wszystkie pola w formularzu rejestracyjnym');
  20.  
  21. if(!prawidlowy_email($email))
  22. throw new Exception('Musisz podac prawidłowy e-mail.');
  23.  
  24. if($haslo!=$haslo1)
  25. throw new Exception('Hasła nie są identyczne');
  26.  
  27. if(strlen($login)> 15)
  28. throw new Exception('Login nie moze przekraczac 15 znaków');
  29.  
  30. if(strlen($login)<3)
  31. throw new Exception('Musisz podac login składający się z conajmniej 3 liter');
  32.  
  33. if(strlen($haslo)<5)
  34. throw new Exception('Haslo musi posiadac co najmniej 5 znaków');
  35.  
  36.  
  37. @ $db = new mysqli('localhost', 'gosc123', 'gosc123', 'logowanie');
  38. if (mysqli_connect_errno()) {
  39. echo 'błąd, sporbuj pozniej';
  40. }
  41.  
  42. $wyniki = $db->query("insert into uzytkownik(login, haslo, mail) values ( '".$login."', sha1('$haslo'), '".$email."')");
  43. if($wyniki)
  44. echo $db->affected_rows.'<p>dodane do bazy</p>';
  45.  
  46. //rejestracja zmiennej sesji
  47. $_SESSION['prawid_uzyt']=$login;
  48.  
  49. echo 'Rejestracja zakonczyla się sukcesem';
  50. }
  51.  
  52. catch (Exception $e){
  53. echo $e->getMessage();
  54. }
  55. ?>
  56.  


W ogóle nie pokazuje mi echa z części if($wyniki) ... , co w tym programie może byc nie tak, w końcu połączenie z bazą standardowe, a kwerenda tez chyba nie wyglada źle...
Dzieki za pomoc

Edit: okazało się, że wina leżała po stronie uprawnien do bazy. temat do usunięcia. Pozdr
blooregard
Temat: Jak poprawnie zada pytanie

Włącz raportowanie błędów.
kto$
Zrobiłem jak mi poradziłeś, usunąłem też małpę przed $db. Niestety nie wyskoczyły mi żadne błędy, a wynikowa strona wyświetla mi tylko "Rejestracja zakonczyla się sukcesem".

Edit:
Dodałem klauzurke else i teraz juz mi sie wyswietla, że się nie udało. Brak mi pomysłów, bo już nawet usunąłem sha() sądząc, że jest błąd w składni. Teraz powinno działac, dodawac, a cały czas nic.

  1. $wyniki = $db->query("insert into uzytkownik(login, haslo, mail) values ( '".$login."', '".$haslo."', '".$email."')");
  2. if($wyniki)
  3. echo $db->affected_rows.'<p>dodane do bazy</p>';
  4. else{
  5. echo 'Nie udało się.';
  6. die();
  7. }
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.