Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Przekazywanie zmiennych pomiędzy kilkoma stronami
Forum PHP.pl > Forum > Przedszkole
kyez
Witajcie.

Domyślam się, że taki temat padł pewnie wielkokrotnie ale ani google ani wasza forumowa opcja "szukaj" nie znalazła niczego co było by mi pomocne więc piszę temat.

Do rzeczy. Mam plik a.php, w którym jest formularz i można tam wprowadzić do pola tekstowego(name='zmienna') wartość. Po przesłaniu formularza zmienna $_POST['zmienna'] przypisywana jest do zmiennej $zm.

Teraz: potrzebuję tą zmienną $zm (która zawiera wartość pola tekstowego z pliku a.php) przekazać do pliku c.php. Metoda GET odpada.
Jak mogę to rozwiązać zyskując równie bezpieczeństwo. ?
markonix
Cytat
php przekazywanie zmiennych

Pierwszy wynik i masz kilka rozwiązań z tego sesje są najbezpieczniejsze.
kyez
Z tego nie bardzo rozumiem jak mam przekazać wartości zmiennych do tablicy sesyjnej i poźniej je odczytać na stronie c.php.
markonix
Może tak podstawy?

http://pl.wikibooks.org/wiki/PHP/Sesje
kyez
Chyba jestem ciężko kumaty..

a.php:

  1. <html>
  2. <head>
  3. <title>a</title>
  4. </head>
  5. <body>
  6. <form action="b.php" method="post">
  7. <input type="text" name="zmienna"/>
  8. <input type="submit" value="send"/>
  9. </form>
  10. </body>
  11. </html>


b.php:

  1. <html>
  2. <head>
  3. <title>b</title>
  4. </head>
  5. <body>
  6. <?php
  7.  
  8.  
  9. $zm = $_POST['zmienna'];
  10.  
  11. $_SESSION['kod'] = $zm;
  12. ?>
  13.  
  14. aha więc zmienna to: <?php echo $zm;?>
  15.  
  16.  
  17.  
  18. <form action="c.php" method="post">
  19.  
  20. <input type="submit" value="przeslij dalej"/>
  21. </form>
  22.  
  23.  
  24.  
  25. </body>
  26. </html>



c.php:

  1. <html>
  2. <head>
  3. <title>a</title>
  4. </head>
  5. <body>
  6. <?php
  7. $wynik = $_SESSION['kod']
  8. echo $wynik;
  9. ?>
  10.  
  11.  
  12.  
  13. </body>
  14. </html>


I nie działa. To chyba nie jest takie proste jak myślałem.
teez
Nie masz nigdzie zarejestrowanej sesji. Lepszym wyjściem byłby insert do bazy danych, a później odczyt ( np. ostatniego rekordu ).

Ale jak nie to, zarejestruj sesję session_register
kyez
  1. <?php
  2.  
  3. $zm = $_POST['zmienna'];
  4.  
  5.  
  6.  
  7. ?>

I error:

  1. Fatal error: Call to undefined function session_register() in C:\Program Files\EasyPHP-12.1\www\my portable files\b.php on line 11
kristaps
Ten 30sekundowy kurs wystarczy byś rozwiązał swój problem.

Rozpocznij sesję a.php, odbierz b.php, a później już masz dostęp gdzie potrzebujesz.
kris12b
tego już się nie używa.
kyez
Ależ ja truję dupe..

b.php

  1. <?php
  2. $zm = $_POST['zmienna'];
  3.  
  4.  
  5. $_SESSION['kod'] = $zm;
  6.  
  7.  
  8. ?>
  9.  
  10. aha więc zmienna to: <?php echo $zm;?>
  11.  
  12.  
  13.  
  14. <form action="c.php" method="post">
  15.  
  16. <input type="submit" value="przeslij dalej"/>
  17. </form>
  18.  



c.php
  1. <?php
  2. $wynik = $_SESSION['kod'];
  3. echo $wynik;
  4. ?>
  5.  
  6.  


error:

  1. Notice: Undefined variable: _SESSION in C:\Program Files\EasyPHP-12.1\www\my portable files\c.php on line 7
teez
Notice to nie error. wink.gif
kyez
Czy pomoże mi ktoś ? To naprawdę dla mnie ważne. Próbowałem tak, ale cały czas to samo.

b.php:

  1. <?php
  2. $zm = $_POST['zmienna'];
  3.  
  4.  
  5.  
  6. if(!isset($_SESSION['kod'])) // 2
  7. {
  8. $_SESSION['kod'] = 0;
  9. }
  10.  
  11. $_SESSION['kod']=$zm; // 3
  12.  
  13.  
  14.  
  15. ?>
Sephirus
Daj session_start() także na początku c.php i powinno być ok (jeśli dobrze śledziłem wątek)

OT: Ja tu w ogóle widzę jakieś zueeeeee podejście do tematu... plik b.php i c.php... czemu nie można wszystkiego załatwić jednym skryptem jeśli b i c są na jednym serwerze (tak mniemam)?
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.