Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [CodeIgniter]Wysyłanie aktualnej daty do mysql przez php
Kacpervixu
post 26.08.2020, 18:39:51
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 26.08.2020

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


witam, mam problem z moim kodem php a mianowicie wszystko mi się wysyła poprawnie oprócz daty rejestracji i daty logowania chce żeby podczas rejestracji w mysql pojawił sie rekord że zarejestrowany yyyy-dd-mm ale nie chce mi się to wysłać z php prosił bym o pomoc kod wygląda tak:
  1. if(isset($_POST['register'])){
  2. $ip = $_SERVER['REMOTE_ADDR'];
  3. $login = $_POST['login'];
  4. $email = $_POST['email'];
  5. $rejestracja = date();
  6. $logowanie = date();
  7. $password = $_POST['password'];
  8. $hashPassword = password_hash($password,PASSWORD_BCRYPT);
  9.  
  10. $sth = $db->prepare('INSERT INTO user (email,password,login,rejestracja,logowanie,ip) VALUE (:email,:password,:login,:time,:logowanie,:ip)');
  11. $sth->bindValue(':ip', $ip, PDO::PARAM_STR);
  12. $sth->bindValue(':time', time(), PDO::PARAM_STR);
  13. $sth->bindValue(':logowanie', $logowanie, PDO::PARAM_STR);
  14. $sth->bindValue(':login', $login, PDO::PARAM_STR);
  15. $sth->bindValue(':email', $email, PDO::PARAM_STR);
  16. $sth->bindValue(':password', $hashPassword, PDO::PARAM_STR);
  17. $sth->execute();
  18.  
  19. die('Rejestracja pomyslna!');
  20. }
Go to the top of the page
+Quote Post
Tomplus
post 26.08.2020, 19:41:17
Post #2





Grupa: Zarejestrowani
Postów: 1 828
Pomógł: 225
Dołączył: 20.03.2005
Skąd: Będzin

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


A jaki masz ustawioną kolumnę w bazie?
timestamp czy co innego?

Bo ogólnie zamiast używać PHP, użyć w zapytaniu mysql funckję jako parametr NOW().

Najlepiej w ogóle nie używać i ustawić dla kolumny `rejestracja` aby tworzyła się aktualna data podczas tworzenia rekordu jako wartość domyślną: CURRENT_TIMESTAMP

Go to the top of the page
+Quote Post
Kacpervixu
post 27.08.2020, 15:17:55
Post #3





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 26.08.2020

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


miałem ustawioną na date teraz zmieniłem an timestamp a jeżeli chodzi o kod php to co tam muszę zimienić żeby wszystko szło tak jak powinno bo jestem trochę zielony w php


Dobra dzięki wszystko śmiga dzięki za pomoc kod ostatecznie wygląda tak:
  1. <?php
  2.  
  3. if(isset($_POST['register'])){
  4. $ip = $_SERVER['REMOTE_ADDR'];
  5. $login = $_POST['login'];
  6. $email = $_POST['email'];
  7. $rejestracja = date("Y-m-d H:i:s");
  8. $logowanie = date("Y-m-d H:i:s");
  9. $password = $_POST['password'];
  10. $hashPassword = password_hash($password,PASSWORD_BCRYPT);
  11.  
  12. $sth = $db->prepare('INSERT INTO user (email,password,login,rejestracja,logowanie,ip) VALUE (:email,:password,:login,:rejestracja,:logowanie,:ip)');
  13. $sth->bindValue(':ip', $ip, PDO::PARAM_STR);
  14. $sth->bindValue(':logowanie', $logowanie, PDO::PARAM_STR);
  15. $sth->bindValue(':rejestracja', $rejestracja, PDO::PARAM_STR);
  16. $sth->bindValue(':login', $login, PDO::PARAM_STR);
  17. $sth->bindValue(':email', $email, PDO::PARAM_STR);
  18. $sth->bindValue(':password', $hashPassword, PDO::PARAM_STR);
  19. $sth->execute();
  20.  
  21. die('Rejestracja pomyslna!');
  22. }
  23. ?>


Ten post edytował Kacpervixu 27.08.2020, 15:18:31
Go to the top of the page
+Quote Post
viking
post 27.08.2020, 15:25:14
Post #4





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


Taka dobra rada na przyszłość. Włącz sobie wyświetlanie błędów. Date w takiej formie jak podałeś na początku emituje warning.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 19:50