Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Przesyłanie danych między stronami GET i POST
Forum PHP.pl > Forum > Przedszkole
PHPapprentice
Witam

Chciałem się zapytać o przesyłanie danych między stronami. Mam dwie funkcje. Jedna jest to funkcja przekierowująca na inna stronę i przesyłająca dane do tej strony za pomocą GET. Druga funkcja wyświetla te dane na stronie za pomocą JavaScript.

Chciałem się zapytać czy da się przesłać dane do wyświetlenia na stronie ale nie przez GET, na przykład przez POST czy jakoś inaczej. Zależy mi na tym bo adres url strony która się otwiera jest bardzo długi , to raz , a dwa jak osoba odświeży tą stronę to drugi raz pokazuje się jej komunikat z uwago na to że adres url tej strony się nie zmienił, dalej jest z danymi GET.

Może zaprezentuje te funkcje o których pisałem :

To jest funkcja wyświetlająca dane :

  1. <?php
  2. //Function colaborate with boxes.js script and boxes.css style sheet
  3. function alertGet(){
  4.  
  5. if(isset($_GET['str']) AND !empty($_GET['str'])){
  6. ?>
  7. <script type='text/javascript'>
  8. Alert.render("<?php echo $_GET['str']; ?>");
  9. </script>
  10. <?php
  11. }
  12.  
  13. }
  14. ?>


To jest funkcja przekierowująca :

  1. <?php
  2. function redirect($url,$string = ''){
  3. if(!headers_sent()){
  4.  
  5. if($string != ''){
  6. header('Location: http://'.$_SERVER['HTTP_HOST'].
  7. dirname($_SERVER['PHP_SELF']).'/'.$url.'?str='.$string);
  8. }
  9. elseif($string == ''){
  10. header('Location: http://'.$_SERVER['HTTP_HOST'].
  11. dirname($_SERVER['PHP_SELF']).'/'.$url);
  12. }
  13. }
  14. else{
  15. die('I can\'t redirect. Headers already sent!');
  16. }
  17. }
  18. ?>


Ma ktoś jakiś pomysł jak to zrobić ? smile.gif

Pozdrawiam
Sephirus
Temat jest dość prosty.

Przekazać parametry ze strony na stronę można na kilka sposobów.

1. GET - wiadomo
2. POST - tylko poprzez wysłanie formularza
3. COOKIE i/lub sesja - tutaj zapisanie jakiejś informacji na jednej stronie pozwala na jej odczytanie na innej (w uproszczeniu w obrębie jednej domeny)

Przypadek taki, że ktoś wchodzi na link, który zawiera w sobie parametry, po których coś się wyświetla można obsłużyć przy pomocy tej 3 techniki (w połączeniu z 1 oczywiście)

Wysyłamy parametry GET normalnie. Np adres: mojastrona.pl/strona.php?p=1

W skrypcie strona.php sprawdzamy czy przyszedł parametr "p" i jeśli tak to zapisujemy go do ciasteczka (php -> setcookie) i odświeżamy stronę na adres już bez tego parametru (header -> Location...).

po odświeżeniu strony parametru GET już nie ma więc idziemy dalej i tu sprawdzamy czy jest ustawione ciasteczko - jesli tak to wykonujemy jakąś czynność (np wyświetlamy coś) i kasujemy ciasteczko. Kolejne odświeżenia już nie wywołają tej akcji bo nie ani GET ani ciasteczka.

Nie podaję kodu specjalnie. Zostawiam to do przemyślenia wink.gif

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.