Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V  < 1 2  
Reply to this topicStart new topic
> PHP - IF - FORM
Nidan23
post 3.05.2019, 17:09:59
Post #21





Grupa: Zarejestrowani
Postów: 101
Pomógł: 2
Dołączył: 26.04.2019

Ostrzeżenie: (10%)
X----


Cytat(viking @ 3.05.2019, 18:00:28 ) *
W tym kodzie wyżej po echo jest błąd skladniowy. Brakuje srednika. Zwracaj uwagi na błędy w końcu.


Jak mówiłem, poprawiłem to, lecz nadal nie działa
Go to the top of the page
+Quote Post
dublinka
post 4.05.2019, 08:49:10
Post #22





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

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


Cytat(Nidan23 @ 3.05.2019, 17:16:15 ) *
Miałeś rację, co do sesji, ale to nie wyjaśnia, dlaczego nie mogę dać inputa i formularza jako echo.

Skąd wiem, że miałeś rację? Bo to działa:

  1. $kom = "";
  2. if(!isSet($_SESSION['zalogowany'])){
  3. $_SESSION['komunikat'] = "Nie jesteś zalogowany!";
  4. echo $_SESSION['komunikat'], "<br>";
  5. echo "<br>","Aby widzieć tę stronę musisz być zalogowany", "</font>", "</b>", "<br>", "</div>";
  6. echo file_get_contents('sklad/footer.php');
  7. exit();
  8. }

Jak to dziala to ja jestem Świety Mikołaj. Zamiast kropek jako "łączników" dajesz przecinki. Przeanalizuj sobie ten pzyklad ktory podalem.

Podaj ten kod ktory masz ale wszystko to co wazne.

Ten mój przykład pisałem zbyt szybko i zrobilem kilka bledow. Min: zamiast dac unset na sesje dalem na zmienna ktora notabene juz nie istniala biggrin.gif Drugie to dodanie wznej rzeczy jaka jest zmiana identyfikatora sesji którą to nalezy zawsze dac przed i po rejestracji sesji. Trzecia sprawa dotyczy samego usunięcia sesji.

  1. <?php
  2.  
  3. $Log = 'asd'; // dane do zalogowania login
  4. $Pwd = 'pwd'; // dane do zalogowania Hasło
  5.  
  6. if(!function_exists('LogIn'))
  7. {
  8.  
  9. function LogIn($ArgObj1)
  10. {
  11.  
  12. $ArgObj1 = "<form method=\"POST\" action=" . $_SERVER['SCRIPT_NAME'] . "?step=1>";
  13. $ArgObj1 .= "login: <input type=\"text\" name=\"LoginName\">";
  14. $ArgObj1 .= "Hasło: <input type=\"password\" name=\"PasswordName\">";
  15. $ArgObj1 .= "<input type=\"submit\" value=\"Loguj sie\" name=\"input\">";
  16. $ArgObj1 .= "</form>";
  17.  
  18. return $ArgObj1;
  19.  
  20. }
  21.  
  22. }
  23.  
  24. if(!function_exists('ShowLogOutLinkAndDetails'))
  25. {
  26.  
  27. function ShowLogOutLinkAndDetails($sess)
  28. {
  29.  
  30. return "Witaj: " . $sess . "<br><a href=" . $_SERVER['SCRIPT_NAME'] . "?step=2>Wyloguj</a>";
  31.  
  32. }
  33.  
  34. }
  35.  
  36.  
  37.  
  38. @$step = $_GET['step'];
  39.  
  40. (!isset($step)) ? $step = 0 : $step = $step;
  41.  
  42. switch($step):
  43.  
  44. case('0'):
  45.  
  46. if(isset($_SESSION['user']['login']))
  47. {
  48.  
  49. print ShowLogOutLinkAndDetails($_SESSION['user']['login']);
  50.  
  51.  
  52. } else {
  53.  
  54. echo LogIn($ArgObj1 = true);
  55.  
  56. }
  57.  
  58. break;
  59.  
  60. case('1'):
  61.  
  62. $submit = $_POST['input'];
  63. $LoginName = $_POST['LoginName'];
  64. $PasswordName = $_POST['PasswordName'];
  65.  
  66. if(isset($_SESSION['user']['login']))
  67. {
  68.  
  69. print ShowLogOutLinkAndDetails($_SESSION['user']['login']);
  70.  
  71.  
  72. } else {
  73.  
  74.  
  75. if($submit)
  76. {
  77.  
  78. if(($LoginName == $Log) && ($PasswordName == $Pwd))
  79. {
  80.  
  81. if ($_SERVER['REQUEST_METHOD'] === 'POST')
  82. {
  83.  
  84.  
  85. if(session_status() == PHP_SESSION_ACTIVE)
  86. {
  87.  
  88.  
  89. $_SESSION['user']['login'] = $LoginName;
  90. $_SESSION['user']['password'] = $PasswordName;
  91.  
  92.  
  93. header('location:' . $_SERVER['SCRIPT_NAME']);
  94.  
  95. }
  96.  
  97.  
  98. }
  99.  
  100.  
  101. } else {
  102.  
  103. exit("Dane są nieprawidłowe <a href=". $_SERVER['SCRIPT_NAME'] .">WSTECZ</a>"); // nigdy nie podawaj przyczyny bledu chyba ze to bedzie blad loginu czy hasla
  104. }
  105.  
  106. } else {
  107.  
  108. exit("error 001"); // nigdy nie podawaj przyczyny bledu ; error 001 jest jak nie zostaje wyslany formularz
  109.  
  110. }
  111. }
  112.  
  113. break;
  114.  
  115. case('2'):
  116.  
  117. unset($_SESSION['user']['login']);
  118. unset($_SESSION['user']['password']);
  119.  
  120. $_SESSION = array();
  121. if (ini_get("session.use_cookies")) {
  122. setcookie(session_name(), '', time() - 42000,
  123. $params["path"], $params["domain"],
  124. $params["secure"], $params["httponly"]);
  125. }
  126.  
  127. header('location:' . $_SERVER['SCRIPT_NAME']);
  128.  
  129. break;
  130.  
  131. default:
  132. header('location:' . $_SERVER['SCRIPT_NAME']);
  133.  
  134.  
  135. endswitch;
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150. ?>


Ten post edytował dublinka 4.05.2019, 08:59:45


--------------------
Go to the top of the page
+Quote Post
viking
post 4.05.2019, 09:33:41
Post #23





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

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


Akurat kod z echo jest ok wink.gif


--------------------
Go to the top of the page
+Quote Post
dublinka
post 4.05.2019, 13:08:25
Post #24





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

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


Cytat(viking @ 4.05.2019, 09:33:41 ) *
Akurat kod z echo jest ok wink.gif

Nio tak. Zapomnialem o małych różnicach pomiędzy echo i print :/


Kolego! heloo ? did you solved you probs questionmark.gif?


--------------------
Go to the top of the page
+Quote Post
Nidan23
post 4.05.2019, 15:00:55
Post #25





Grupa: Zarejestrowani
Postów: 101
Pomógł: 2
Dołączył: 26.04.2019

Ostrzeżenie: (10%)
X----


Cytat(dublinka @ 4.05.2019, 14:08:25 ) *
Kolego! heloo ? did you solved you probs questionmark.gif?


Muszę doczytać o zmienny globalnych, czy jak to się nazywa w php, bo stosujesz chociażby $_SERVER, dostosuje skrypt pod moje potrzeby i dam Ci znać
Go to the top of the page
+Quote Post

2 Stron V  < 1 2
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: 29.03.2024 - 08:54