Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak wysłać zmienną $_POST lub $_GET bez użycia formularza?
koodlaty
post
Post #1





Grupa: Zarejestrowani
Postów: 118
Pomógł: 3
Dołączył: 6.07.2006
Skąd: Dublin

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


Chcę wysłać zmienną typu POST, lub GET ale nie używać do tego formularza.

Zmienne mają trafić do tego samego skryptu. Udało mi się przy użyciu header() wysłać zmienną GET na inna stronę - jednak nie można zrobić przekierowania na "samego siebie".

Jest jakiś sposób?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
kszychu nie zapomina o takich rzeczach

Za to kszychu zapomina o upominaniu uzytkownikow, jak np.
proszę poprawić tytuł o znacznik zgodnie z zasadami forum Przedszkole:
Temat: Tematyka i zasady panujace na forum Przedszkole


W ramach przeprosin kszychu przesle mi pol kraty piwa (nie bede pazerny), ktorą otrzyma od skowron-line.
(IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
(mój adres kszychu zna... nie raz mi krate przesylal.... (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) )

@koodlaty ale co chcesz osiągnac dokladnie? W jakim celu chcesz przekierowywac na samego siebie z danymi? Moze cos innego ci podpowiemy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
koodlaty
post
Post #3





Grupa: Zarejestrowani
Postów: 118
Pomógł: 3
Dołączył: 6.07.2006
Skąd: Dublin

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


Cytat(nospor @ 14.09.2006, 09:56:47 ) *
@koodlaty ale co chcesz osiągnac dokladnie? W jakim celu chcesz przekierowywac na samego siebie z danymi? Moze cos innego ci podpowiemy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


Już mówie choć problem jest nieco złożony...

Chcę sprawdzić czy coś zostało zapisane w sesji zanim wywołana zostaje session_start() i (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) proszę tu nie ironizować i nie podważać zasadności mojego postępowania (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ! Wyglądać ma to mniej więcej tak:

  1. <?php
  2. if(cos bylo wcześniej zapisane w sesji)
  3. {
  4.  zrob to;
  5. }else
  6. {
  7.  $_SESSION['zmienna'] = 'wartosc';
  8.  zrób tamto;
  9. }
  10. ?>


Odpada użycie session_id() ponieważ interesuje mnie nie fakt otwarcia sesji ale zapisu do niej konkretnych danych.

Najchętniej zrobiłbym to w ten sposób:

  1. <?php
  2. if(isset($_SESSION['zmienna']))
  3. {
  4.  zrob to;
  5. }else
  6. {
  7.  $_SESSION['zmienna'] = 'wartosc';
  8.  zrób tamto;
  9. }
  10. ?>


rozwiązanie to oczywiście odpada – odwołanie do tablicy zmiennych sesyjnych przed wywołaniem session_start() sprawia, że co prawda sesja zostaje otwarta lecz jest bezużyteczna ponieważ zmienne w tablicy $_SESSION stają się nieczytelne.

Wykombinowałem więc, że o fakcie zapisu do sesji mogę się poinformować poprzez POST lub GET – ale jak?

Próbowałem przekierowywać się poprzez header():

  1. <?php
  2. header('Location: http://' . $_SERVER['SERVER_ADDR'] . $_SERVER['SCRIPT_NAME'] . '?byl_zapis_do_sesji=tak');
  3. ?>


fajnie działa tylko pod warunkiem, że nagłówek wysyłany jest na inny adres niż ten, z którego został wywołany.

Pozostają jeszcze zmienne globalne ale dla zasady nie chcę ich używać.

I tu mi się koncepcje skończyły – stąd pytanie...
Go to the top of the page
+Quote Post

Posty w temacie


Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 14:21