Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Zapisanie obecnej wartosci zmiennej w stalej?
Forum PHP.pl > Forum > Przedszkole
fate
Problem w tym ze Http_Referer po wyknoninu polecen zmienia wartosc a ja chce przekierować na wartosc wczesniejsza, jak to zrobic? probowalem zapisac ta wartosc jakos do stałej ale brakuje mi skilla zeby to potem odpalic.
  1. <?
  2. // sesja
  3.  
  4. function url()
  5. {
  6. return $_SERVER['HTTP_REFERER'];
  7. }
  8. define("url", $_SERVER['HTTP_REFERER']);
  9. echo url;
  10. // Jak prezerobic zeby obecna wartosc zmiennej
  11.  
  12.  
  13. if (isset($_POST['konto']) and isset($_POST['password']) )
  14. {
  15. require('conn.php');
  16. $konto=mysql_real_escape_string(trim($_POST['konto']));
  17. $password=mysql_real_escape_string(trim($_POST['password']));
  18. if ($konto!="" and $password!="")
  19. {
  20. $password = sha1($password);
  21. $zapytanie="SELECT id FROM user WHERE login='$konto' and password ='$password'";
  22. $temp=mysql_query($zapytanie) or die("Wystąpił błąd");
  23. $ile=mysql_num_rows($temp);
  24. $temp=mysql_fetch_array($temp);
  25. $id=$temp['id'];
  26. if ($ile==1)
  27. {
  28. $_SESSION['user_id']=$id;
  29. $_SESSION['login']=$konto;
  30. echo ('Zalogowano. Przekierowuję...');
  31. // Zostala przekazana tutaj czyli zeby nie przekierowac na nowy REFERER
  32. echo url;
  33. header ('Refresh: 1; URL='.$url);
  34. }
  35. else
  36. echo ('Nieprawidłowe dane. Przekierowuję...');
  37. header ('Refresh: 1; URL="log.php"');
  38. }
  39. }
  40. else
  41. {}
  42. ?>
  43.  
  44. <? ob_end_flush(); ?>
  45.  
  46.  


Chyba da sie i nie trudno, pomoże ktoś? Lkingsmiley.png
Swirek
możesz sobie to tymczasowo zapisać w pliku, bazie lub inaczej i później odczytać.
możesz przekazać ją postem lub za pomocą get
lub może sprawę załatwi zmienna $_SERVER['HTTP_X_FORWARDED_FOR'] smile.gif
rocktech.pl
Witam.

Daj w 13 linii.
  1. isset($_SESSION['url']) ? false : $_SESSION['url'] = url ( ) ;


A w 34 linii.

  1. header ('Refresh: 1; URL='.$_SESSION['url']);
fate
rocktech.pl
nie zauważyłem efektu
Swirek
pomysle o tym zapisywaniu w pliku. co do get to mi to includuje strony i nie chce na tym etapie laczyc kolejnych zmiennych w adresie bo chyba tylko tak sie da
$_SERVER['HTTP_X_FORWARDED_FOR'] moze by zalatwilo sprawe tylko osoba ktora z niewiadomych przyczyn odswiezyla by strone przy logowaniu chyba juz nie wroci? zreszta sprawdze

Dzieki wam za odp.
mortus
Stała to nazwa dla pewnej wartości, która nie może ulec zmianie podczas jednokrotnego działania skryptu. Odświeżenie strony powoduje przerwanie (kończy działanie) i ponowne uruchomienie skryptu. Zapisz HTTP_REFERER w sesji ($_SESSION) i nie będzie problemu z odświeżaniem po błędzie. Przed dokonaniem przekierowania usuń HTTP_REFERER z sesji.
fate
mogłby mi to kto przeskrobać bo próbowałem i wróciłem do punktu wyjścia dodac do sesji chyba dodalem ale nie wiem jak usunac... thumbsdownsmileyanim.gif
mortus
  1. <?php
  2. $_SESSION['referer'] = isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] != '' ? $_SERVER['HTTP_REFERER'] : 'index.php';
  3. // ...
  4. // a po poprawnym zalogowaniu
  5. $_SESSION['user_id'] = $id;
  6. $_SESSION['login'] = $konto;
  7. echo ('Zalogowano. Przekierowuję...');
  8. $url = $_SESSION['referer'];
  9. unset($_SESSION['referer']);
  10. header('Location: ' . $url);
  11. exit(); // funkcja obowiązkowa podczas przekierowywania, bo zapobiega wykonywaniu dalszego kodu PHP
  12. // ...
fate
Dzieki narazie nie działa ale pokminie jeszcze z tym co dałeś coś ruszyło.
Jak dam exit to potym
// ...
juz kodu nie moge ciagnac i tu jest ból ale do zrobienia myśle jest:)
+ arrowheadsmiley.png
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.