Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] True/false
topcio
post 26.04.2017, 16:55:41
Post #1





Grupa: Zarejestrowani
Postów: 140
Pomógł: 0
Dołączył: 14.01.2017

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


Cześć
Mam pytanko, w jaki najprostszy sposób sprawdzić czy funkcja wykonała się cała popranie

User.class.php
  1. public function forgetten($data) {
  2. $errors = [];
  3. if($data['user_login'] == '') {
  4. $errors[] = 'Musisz podać login.';
  5. }
  6. if($data['user_email'] == '') {
  7. $errors[] = 'Musisz podać adres e-mail.';
  8. }
  9. if(!empty($data['user_email'])) {
  10. if(filter_var($data['user_email'], FILTER_VALIDATE_EMAIL) === false) {
  11. $errors[] = 'Podany adres email jest nieprawidłowy.';
  12. }
  13. }
  14. if(count($errors) == 0) {
  15. $this->sql->query("SET NAMES utf8");
  16. $result = $this->sql->query("SELECT user_id FROM users WHERE user_login = '{$data['user_login']}' AND user_email = '{$data['user_email']}' LIMIT 1");
  17.  
  18. if($result->num_rows > 0) {
  19. $value = mysqli_fetch_object($result);
  20. $user_id = $value->user_id;
  21. $data = $this->get_data($user_id);
  22.  
  23. // TEST //
  24.  
  25. foreach($data as $key => $value) {
  26. echo "<p>".$key." = ".$value."</p>";
  27. }
  28.  
  29. // TEST //
  30.  
  31. function generateRandomPasswd($length = 12) {
  32. $user_pass_random_characters = '[]{}/?!@#$%&()0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
  33. $charactersLength = strlen($user_pass_random_characters);
  34. $user_pass_random = '';
  35. for ($i = 0; $i < $length; $i++) {
  36. $user_pass_random .= $user_pass_random_characters[rand(0, $charactersLength - 1)];
  37. }
  38. return $user_pass_random;
  39. }
  40.  
  41. if(isset($_SESSION['user_pass_random'])) {unset($_SESSION['user_pass_random']);}
  42. $_SESSION['user_pass_random'] = generateRandomPasswd();
  43. // echo $_SESSION['user_pass_random'] . "<br />";
  44. if(isset($_SESSION['user_pass_random_hash'])) {unset($_SESSION['user_pass_random_hash']);}
  45. $_SESSION['user_pass_random_hash'] = $this->code_passwd($_SESSION['user_pass_random']);
  46. // echo $_SESSION['user_pass_random_hash'] . "<br />";
  47. } else {
  48. echo "Niezgodność loginu, e-mail lub odpowiedzi na pytanie pomocnicze.";
  49. }
  50. $query = "
  51. UPDATE users
  52. SET
  53. user_pass_tmp = '".$this->code_passwd($_SESSION['user_pass_random'])."',
  54. user_pass = ''
  55. WHERE user_id = '{$user_id}'
  56. ";
  57. if($this->sql->query($query)) {
  58. return true;
  59. } else {
  60. return ['Wystąpił błąd z bazą danych.'];
  61. }
  62. } else {
  63. return $errors;
  64. }
  65.  
  66. }
  67.  


index.php
  1. case 'forgetten':
  2. echo "<p>Wygeneruj nowe hasło</p>";
  3. echo "<form action=\"index.php?action=forgetten_submit\" method=\"post\">";
  4. echo "<input type=\"text\" placeholder=\"Login\" name=\"user_login\">";
  5. echo "<input type=\"email\" placeholder=\"email\" name=\"user_email\">";
  6. echo "<input type=\"submit\" value=\"Generuj\">";
  7. echo "</form>";
  8.  
  9.  
  10.  
  11. break;
  12.  
  13.  
  14.  
  15. case 'forgetten_submit':
  16. if(!empty($_POST)) {
  17. foreach ($_POST as $key => $value) {
  18. $value = $sql->clear($value);
  19. echo $key . " : " . $value."</p>";
  20. }
  21. echo "<br />";
  22. $users->forgetten($_POST);
  23. }
  24. break;


Mam coś takiego i chciałbym aby jeśli funkcja jest TRUE zrobiła coś (np wysłała maila), a jeśli Jest FALSE wypisała info

Dzięki wielkie za pomoc

Ten post edytował topcio 26.04.2017, 16:59:19
Go to the top of the page
+Quote Post

Posty w temacie


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: 17.05.2024 - 10:50