Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Rejestracja, problem z dodawaniem użytkownika
Durkane
post
Post #1





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 28.07.2015

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


  1. <?php
  2.  
  3. require_once "connect.php";
  4.  
  5. function filtruj($zmienna)
  6. {
  7. $zmienna = stripslashes($zmienna); //usuwamy slashe
  8.  
  9. // usuwamy spacje, tagi html oraz niebezpieczne znaki
  10. }
  11.  
  12. if(isset($_POST['rejestruj']))
  13. {
  14. $name = filtruj($_POST['name']);
  15. $surname = filtruj($_POST['surname']);
  16. $pass1 = filtruj($_POST['passwod1']);
  17. $pass2 = filtruj($_POST['password2']);
  18. $email = filtruj($_POST['email']);
  19. $ip = filtruj($_SERVER['REMOTE_ADDR']);
  20. }
  21.  
  22. // sprawdzanie dostepnosci loginu
  23.  
  24. if (mysqli_num_rows(mysqli_query("SELECT email FROM uzytkownicy WHERE email = '".$name."';")) == 0)
  25. {
  26. if ($haslo1 == $haslo2) // sprawdzanie poprawnosci hasel
  27. {
  28. mysqli_query("INSERT INTO 'uzytkownicy' ('imie','nazwisko','haslo','email','rejestracja','logowanie','ip')
  29. VALUES ('".$name."','".$surname."','".md5($pass1)."','".$email."','".time()."','".time()."'.'".$ip."');");
  30. echo "Konto zostało utworzone pomyślnie !";
  31. }
  32. else
  33. {
  34. echo "Hasła nie są takie same!";
  35. }
  36. }
  37. else
  38. {
  39. echo "Podany login jest już zajęty.";
  40. }


Mam taki kod do rejestracji, po podaniu danych w formularzu i wciśnięciu przycisku wyskakuje, że konto zostało utworzone pomyślnie. Jednak nic nie zostaje dodane do bazy danych :/ Drugi problem to polskie znaki, baze danych mam ustawioną na utf8_general_ci tak samo tabele, na stronie mam ustawione utf8 i mimo to zamiast ą,ę itd pojawia się "?". Ma ktoś rozwiązanie tego? Bo z tym się już borykam z tydzień ;/

Ten post edytował Durkane 4.01.2016, 13:05:35
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Durkane
post
Post #2





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 28.07.2015

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


Łączenie z bazą danych
  1. <?php
  2. $dbh = new PDO('mysql:host=mysql.cba.pl;dbname=spisludnosci_cba_pl',$user,$pass,
  3. array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));
  4. $user="";
  5. $pass="";
  6. ?>

Logowanie
  1. <?php
  2.  
  3. if(!isset($_POST['login']) || !isset($_POST['password']))
  4. {
  5. header('Location: index.php');
  6. exit();
  7. }
  8. require_once "connect.php";
  9. $sql = "SELECT * FROM uzytkownicy WHERE email=? AND haslo=?";
  10. if($dbh->connect_errno!=0)
  11. {
  12. echo "Error: ". $polaczenie->connect_errno;
  13. }
  14. else
  15. {
  16. $login=$_POST['login'];
  17. $password=$_POST['password'];
  18.  
  19. $login=htmlentities($login,ENT_QUOTES, "UTF-8");
  20. $password=htmlentities($password,ENT_QUOTES, "UTF-8");
  21.  
  22. if ($rezultat = @$polaczenie->$sql)
  23. {
  24. $sth=$dbh->prepare($sql);
  25. $sth->bindParam(2,$_POST['email'],$_POST['password'])
  26. $sth->execute();
  27.  
  28. $ilu_userow = $rezultat->num_rows;
  29.  
  30. if($ilu_userow > 0)
  31. {
  32. $_SESSION['logged'] = true;
  33.  
  34. $result = $sth->fetchAll();
  35.  
  36. $_SESSION['id'] = $result['id'];
  37. $_SESSION['name'] = $result['imie'];
  38. $_SESSION['surname'] = $result['nazwisko'];
  39. $_SESSION['email'] = $result['email'];
  40.  
  41. unset($_SESION['blad']);
  42. $rezultat->free_result();
  43. header('Location:index2.php');
  44.  
  45. }
  46. else
  47. {
  48. $_SESSION['blad'] = 1;
  49. header('Location:index.php');
  50. }
  51. }
  52. $polaczenie->close();
  53. }
  54.  
  55.  
  56. ?>


Co zrobiłem tutaj nie tak stosując PDO ? Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [1045] Access denied for user ''@'127.0.0.1' (using password: YES)' in /virtual/spisludnosci.cba.pl/connect.php:3 Stack trace: #0 /virtual/spisludnosci.cba.pl/connect.php(3): PDO->__construct('mysql:host=mysq...', NULL, NULL, Array) #1 /virtual/spisludnosci.cba.pl/zaloguj.php(9): require_once('/virtual/spislu...') #2 {main} thrown in /virtual/spisludnosci.cba.pl/connect.php on line 3

Ten post edytował Durkane 4.01.2016, 16:31:42
Go to the top of the page
+Quote Post

Posty w temacie
- Durkane   [PHP]Rejestracja   4.01.2016, 12:55:28
- - goartur   Zrob : [PHP] pobierz, plaintext echo "INSERT...   4.01.2016, 13:00:31
- - viking   [PHP] pobierz, plaintext $pass1 = filtruj($_PO...   4.01.2016, 13:03:46
- - Durkane   #1064 - You have an error in your SQL syntax; chec...   4.01.2016, 13:08:21
- - viking   Tak, pamiętaj żeby odpowiednią długość pola ustawi...   4.01.2016, 13:21:06
- - Durkane   Ok ustawione mam VARCHAR(255), więc raczej jest ok...   4.01.2016, 13:24:28
- - viking   Jak PDO to nie mysqli_query. http://php.net/manual...   4.01.2016, 13:29:12
- - Durkane   hm.. mam taki błąd Fatal error: Call to undefined ...   4.01.2016, 13:44:14
- - viking   Czyli masz archaiczna wersję PHP starszą niż 5.5. ...   4.01.2016, 13:49:39
- - Durkane   Jest to darmowy host friko.pl, który ma PHP 5.2 .....   4.01.2016, 14:31:18
- - viking   Pokaż connect.php i w jaki sposób nawiazujesz poła...   4.01.2016, 14:48:34
- - Durkane   Dobra już nie ważne wróciłem do starego sposobu p...   4.01.2016, 14:53:40
- - viking   Tu nie ma co kombinować. PDO jest banalne jak pójś...   4.01.2016, 15:05:23
- - Durkane   Łączenie z bazą danych [PHP] pobierz, plaintext ...   4.01.2016, 16:30:14
- - nospor   Nie przekazales $user   4.01.2016, 16:37:28
- - Durkane   Już to sam naprawiłem ;d Teraz mam tylko Call to a...   4.01.2016, 16:40:20
- - nospor   Przeciez nie masz juz obiektu $polaczenie   4.01.2016, 16:41:19
- - Durkane   ah no tak teraz mam $dbh A czy w PDO używa ...   4.01.2016, 16:45:04
- - viking   Co to jest: $rezultat = @$polaczenie-...   4.01.2016, 18:54:10
- - Durkane   Teraz jest $rezultat = $dbh->$sq...   5.01.2016, 11:57:59
- - viking   A w jakiej dokumentacji tak było? Zapytania wykonu...   5.01.2016, 12:03:38
- - Durkane   Zjadłem exec Ale i tak i tak wyświetla pustą stro...   5.01.2016, 12:34:16
- - nospor   Kurcze,no ale czytaj kod, ktory sam tworzysz.... ...   5.01.2016, 12:39:25
- - Durkane   [PHP] pobierz, plaintext <?phpsession_start...   5.01.2016, 12:59:47
- - viking   Dlaczego 2x przypisujesz to samo? $rezultat i...   5.01.2016, 13:15:36
- - Durkane   htmlentities był cały czas Z tym,że daje dwa razy...   5.01.2016, 14:24:34
- - nospor   Bo raz masz $rezultat a raz $result Zan...   5.01.2016, 14:43:10
- - Durkane   Ok przeanalizowałem wszystko sam i zmieniłem kod. ...   5.01.2016, 17:09:10
- - nospor   Ok, to jeszcze wyjasnij nam co to jest: ...   5.01.2016, 18:22:51
- - Durkane   To już nic skasowane zostało Myślałem, że trzeba...   5.01.2016, 20:22:21
- - viking   http://php.net/manual/en/class.pdostatement.php A ...   5.01.2016, 20:37:43
- - Durkane   No nie widzę,ale i count nie działa, więc spróbowa...   6.01.2016, 10:53:56
- - viking   No to var_dump($result);   6.01.2016, 11:10:16
- - Durkane   array(0) { } Błąd z połączeniem. Hm... dziwne. Bo...   6.01.2016, 11:25:03
- - nospor   var_dump($_GET['ID']);   6.01.2016, 11:29:39
- - Durkane   NULL Błąd z połączeniem. ID pobieram z bazy [HTM...   6.01.2016, 11:32:48
- - nospor   Widzisz roznice miedzy id a ID ? W url dajesz id a...   6.01.2016, 11:36:27
- - Durkane   Ah.. ok dzięki Wiem, że nie jest to waszą rolą, t...   6.01.2016, 11:42:24
- - nospor   var_dump to tylko jedna z rzeczy jakie masz robic....   6.01.2016, 11:46:44
- - Durkane   Przeczytałem go i do innych dokumentów to zastosow...   6.01.2016, 13:36:46
- - nospor   zamykam. 100 razy prosic niebede   6.01.2016, 13:41:39


Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 17:48