Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] include dwa razy na stronie
pijanyadmin
post
Post #1





Grupa: Zarejestrowani
Postów: 128
Pomógł: 1
Dołączył: 24.10.2007

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


ogolneplik index.php

  1. <?php
  2.  
  3. if($_GET["id1"] == "start") include("start.php");
  4. else if($_GET["id1"] == "cos") include("cos.php");
  5. else if($_GET["id1"] == "ustawienia") include("ustawienia.php");
  6.  
  7. else if(!isset($_GET["id1"])) include("start.php");
  8. else include("404.php");
  9. ?>


i jest ok, wszystko działa jak trzeba, natomiast jeśli np. w pliku ustawienia.php mam:

  1. <?php
  2.  
  3. if($_GET["ust"] == "ogolne") include("ogolne.php");
  4. else if($_GET["ust"] == "test") include("test.php");
  5.  
  6. else if(!isset($_GET["ust"])) include("ogolne.php");
  7. else include("404.php");
  8. ?>


to już nic poza wczytaniem pliku "startowego" ogolne.php się nie wczytuje[test.php] w pliku ustawienia.php

dodam tylko iż strony includowane w index.php są w taki sposób (tutaj wczytuje ustawienia.php):

  1. <a href='panel.php?id1=ustawienia&amp;<?php echo IDUS; ?>'>Ustawienia</a>



czyli co robie źle że to includowanie nie działa w pliku zincludowanym? (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
potreb
post
Post #2





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


  1. <?php
  2. require_once("connect.php");
  3.  
  4.  
  5.  
  6. function logon() {
  7.  
  8.  if(isset($_POST['user']) && isset($_POST['pass'])) {
  9. $login = htmlspecialchars($_POST['user']);
  10. $haslo = md5(htmlspecialchars($_POST['pass']));
  11. $q = mysql_query("SELECT * FROM userdata WHERE haslo = '$haslo' AND login = '$login' LIMIT 1");
  12.  
  13.  if(!mysql_num_rows($q)) {
  14.  
  15. echo 'Niepoprawne Login lub Hasło'; exit;
  16.  
  17. return 0;
  18. }
  19.  
  20. $_SESSION['logon'] = 1;
  21. $_SESSION['login'] = $_POST['user'];
  22. $_SESSION['password'] = $_POST['pass'];
  23. $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
  24.  
  25. return 1;
  26. }
  27.  
  28.  
  29.  
  30.  if(!isset($_SESSION['logon']) || !isset($_SESSION['login']) || !isset($_SESSION['password']) || !isset($_SESSION['ip'])) {
  31. // echo "3";
  32. return 0;
  33. }
  34.  
  35. $login = $_SESSION['login'];
  36. $password = $_SESSION['password'];
  37. $ip = $_SESSION['ip'];
  38.  
  39. if($_SERVER['REMOTE_ADDR'] != $ip) {
  40. // echo "4";
  41. return 0;
  42. }
  43.  
  44.  
  45.  
  46.  if($_SESSION['logon'] == "1") {
  47. return 1;
  48. } 
  49. else {
  50. return 0;
  51. }
  52.  
  53. }
  54.  
  55.  
  56.  
  57. function movetosite($strona) {
  58. echo "
  59. <script LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\"
  60. window.location.replace(\"$strona\"); 
  61. </SCRIPT>";
  62. }
  63.  
  64. function resetsession() {
  65. $_SESSION['login'] = '';
  66. $_SESSION['password'] = '';
  67. $_SESSION['logon'] = '';
  68.  unset($_SESSION['login']);
  69.  unset($_SESSION['password']);
  70.  unset($_SESSION['logon']);
  71.  unset($_SESSION);
  72. }
  73.  
  74. ?>


Teraz ma działać, jeżeli zalogowano sesja utworzy $_SESSION['logon'] = 1;
I jeżeli będzie się zgadzało to cię zapamięta. Przekazywanie w adresie jakiegoś ciągu nie jest potrzebne.
Sprawdzaj sobie czy sesja jest tworzona np echo $_SESSION['logon'];

Jeżeli zostanie utworzona to logowanie będzie podtrzymane.

Możesz też wysłać do sesji zakodowane hasło i porównać je z bazy.

Jeżeli się bezie zgadzało to będziesz zalogowany:
  1. <?php
  2. if($haslo == $_SESSION['haslo']){
  3. return 1;
  4. } esle {
  5. return 0;
  6. }
  7. ?>


Ten post edytował potreb 23.01.2008, 18:17:14
Go to the top of the page
+Quote Post
potreb
post
Post #3





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Po 10 minutach sesja automatycznie wygasnie, wtedy strone przekieruje na index.php

  1. <?php
  2. require_once("connect.php");
  3. function logon() {
  4.  
  5.  
  6. $intTimeoutSeconds = 600;
  7.  
  8. if(isset($_SESSION['intLastRefreshTime']))
  9. {
  10. if(($_SESSION['intLastRefreshTime']+$intTimeoutSeconds)<time())
  11. {
  12. header('location: index.php');
  13.  
  14. // jezeli sesja nie bedzie podtrzymywana przez x sekund zostaniesz wylogowany
  15. // 10 minut ustawienie, wpis sobie np 10 sekund i sprawdz czy po odswiezeniu zosta
    niesz wylogowany
  16. }
  17. }
  18. $_SESSION['intLastRefreshTime'] = time();
  19.  
  20.  
  21.  if(isset($_POST['user']) && isset($_POST['pass'])) {
  22. $login = htmlspecialchars($_POST['user']);
  23. $haslo = md5(htmlspecialchars($_POST['pass']));
  24. $q = mysql_query("SELECT * FROM userdata WHERE haslo = '$haslo' AND login = '$login' LIMIT 1");
  25.  
  26.  if(!mysql_num_rows($q)) {
  27.  
  28. echo 'Niepoprawne Login lub Hasło'; exit;
  29.  
  30. return 0;
  31. }
  32.  
  33. $_SESSION['logon'] = 1;
  34. $_SESSION['login'] = $_POST['user'];
  35. $_SESSION['password'] = $_POST['pass'];
  36. $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
  37.  
  38. return 1;
  39. }
  40.  if(!isset($_SESSION['logon']) || !isset($_SESSION['login']) || !isset($_SESSION['password']) || !isset($_SESSION['ip'])) {
  41. // echo "3";
  42. return 0;
  43. }
  44.  
  45. $login = $_SESSION['login'];
  46. $password = $_SESSION['password'];
  47. $ip = $_SESSION['ip'];
  48.  
  49. if($_SERVER['REMOTE_ADDR'] != $ip) {
  50. // echo "4";
  51. return 0;
  52. }
  53.  
  54.  
  55.  
  56.  if($_SESSION['logon'] == "1") {
  57. return 1;
  58. } 
  59. else {
  60. return 0;
  61. }
  62.  
  63. }
  64. function movetosite($strona) {
  65. echo "
  66. <script LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\"
  67. window.location.replace(\"$strona\"); 
  68. </SCRIPT>";
  69. }
  70.  
  71. function resetsession() {
  72. }
  73.  
  74. ?>


Sesja utrzymuje sie przez 15 minut, dlatego wyloguj też jest potrzebne. Nawet po zamknięciu przegladarki sesja będzie zapamiętana.

Ten post edytował potreb 23.01.2008, 22:53:47
Go to the top of the page
+Quote Post

Posty w temacie
- pijanyadmin   [php] include dwa razy na stronie   21.01.2008, 19:08:14
- - grzesiek_g   Cytat(adameq @ 21.01.2008, 18:29:56 )...   21.01.2008, 19:26:30
- - nevt   cytat z MANUALA CytatPonieważ include() i req...   21.01.2008, 22:05:11
- - nospor   CytatPonieważ include() i require() są specialnymi...   21.01.2008, 22:23:11
- - nevt   CytatJakieś kolejne bzdurne tlumaczenie manuala na...   22.01.2008, 08:46:07
- - nospor   Cytatniestety nie jakieś tam, tylko wprost ze...   22.01.2008, 08:48:04
- - pijanyadmin   IDUS: [PHP] pobierz, plaintext <?php$_SESSION...   22.01.2008, 12:29:04
- - kszychu   Wszystko masz w jednej lokalizacji, czy porozrzuca...   22.01.2008, 12:42:59
- - pijanyadmin   panel.php i ustawienia.php są w tym samym katalogu...   22.01.2008, 13:05:09
- - potreb   [PHP] pobierz, plaintext <?php$_SESSION['id...   22.01.2008, 13:12:21
- - pijanyadmin   [PHP] pobierz, plaintext <?php require_onc...   22.01.2008, 13:21:44
- - potreb   A session_start(); masz dodane na początku pl...   22.01.2008, 13:38:12
- - pijanyadmin   tak mam w index.php Kodsession_start(); d...   22.01.2008, 13:42:47
- - potreb   Sesje zapamiętuje, ale ciężko coś zrozumieć z tego...   22.01.2008, 13:58:28
- - pijanyadmin   napisałem już to wcześniej, chcia...   22.01.2008, 14:00:31
- - potreb   Sprawdź czy poprawnie przekazujesz zmienne. Np ręc...   22.01.2008, 14:24:00
- - pijanyadmin   tylko że zabardzo nie wiem jak to mam zrobić: [PH...   22.01.2008, 14:31:27
- - potreb   Teraz to sobie wywołasz adres tak: <a href=...   22.01.2008, 14:49:07
- - pijanyadmin   heh bajer polega na tym iż nic się nie z...   22.01.2008, 15:32:44
- - kresh   Sprawdź sobie wartości zmiennych przed t...   22.01.2008, 16:03:47
- - pijanyadmin   wartość zmiennych w ustawienia.php: KodArray ...   23.01.2008, 16:45:33
- - potreb   I jak działa już? Czy dalej nie możesz rozwiązać p...   23.01.2008, 16:47:31
- - pijanyadmin   nie działa ;/ i nie wiem co z tym jest... na bank ...   23.01.2008, 16:49:45
- - potreb   A sprawdzałeś czy link działa je...   23.01.2008, 16:59:05
- - pijanyadmin   kombinowałem z różnymi ustawieniami i ni...   23.01.2008, 17:57:44
- - potreb   [PHP] pobierz, plaintext <?phprequire_once...   23.01.2008, 18:11:39
|- - potreb   Po 10 minutach sesja automatycznie wygasnie, wtedy...   23.01.2008, 22:35:42
- - pijanyadmin   1. po zamknieciu okna przeglądarki, lub karty...   23.01.2008, 18:29:06
- - potreb   <a href='panel.php?ust=dodaj'>Dodaj ...   23.01.2008, 18:34:10
- - pijanyadmin   o w końcu działa, dzięki... tylko jeszcze zostaje ...   23.01.2008, 18:37:27
- - potreb   Ehh, tyle zamieszania a nawet nie było powodu...   23.01.2008, 18:43:41
- - pijanyadmin   ehh zmieniłem ale sesja nadal jest zapamietywana i...   23.01.2008, 19:02:55


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 Aktualny czas: 14.09.2025 - 20:44