Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przesyłanie danych metodą POST
Forum PHP.pl > Forum > PHP
tomasz_po
Mam 3 strony x.php, y.php i z.php w pierwszej stronie x.php wypełniam formularz który wysyła część danych do strony y.php w której uzupełniamy inne dane i wysyła je do z.php i teraz mam pytanie jak przesłać z x.php do z.php jedną wartość którą nie wykorzystuję w y.php np. $_POST['test'];
Cezar708
podejrzewam, że coś na ten temat już było na forum.

Jedno z najbardziej prostych rozwiązań to przekazywanie danych do formatki, czyli w Twoim przypadku idea wygląda tak:

x.php:
  1. <form action='y.php' method='post'>
  2. <input type='text' value='' name='dana1' />
  3. <input type='submit'>
  4. </form>


y.php:
  1. <form action='z.php' method='post'>
  2. <input type='hidden' value='<?php echo $_POST['dana1']; ?>' name='dana1' />
  3. <input type='text' value='' name='dana2' />
  4. <input type='submit'>
  5. </form>


z.php:
  1. <?php
  2. echo "<pre>";
  3. print_r($_POST);
  4. echo "</pre>";
  5. ?>


oczywiście jest to najbardziej prosta metoda, nie powiedziałem, że najlepsza smile.gif
tomasz_po
A jest mozliwosc bezposredniego przekazania posto z x.php do z.php bez wlaczania w to pliku y.php ?
Cezar708
jeśli po drodze ma być jeszcze plik y.php to nie da się tego zrobić.

Chyba, że chcesz plik y.php ominąć to po prostu zmień plik x.php na:
  1. <form action='z.php' method='post'>
  2. <input type='text' value="" name='dana1' />
  3. <input type='submit'>
  4. </form>

ale uwaga, strona z y.php nie wyświeli się i dane z tej strony w tym przypadku nie wyświetliły by się
tomasz_po
No własnie mnie by interesowało coś takiego że z x.php 3 zmienne leca do y.php, a ta jedna odrazu do z.php i dopiero przy przesłaniu formularza y.php do z.php wszystkie zmienne byly by razem. Bo tą metodę z hidden znam.
Cezar708
w takim razie nie ma takiej możliwości, ewentualnie jeśli koniecznie nie chcesz używać hidden to możesz użyć sesji, czyli w pliku y.php i z.php są potrzebne zmiany:

y.php:
  1. <?php session_start();
  2. $_SESSION['dana1'] = $_POST['dana1'];
  3. ?>
  4. <form action='z.php' method='post'>
  5. <input type='text' value='' name='dana2' />
  6. <input type='submit'>
  7. </form>


i potem odebranie w z.php:
  1. <?php
  2. $dana1 = $_SESSION['dana1'];
  3. $dana2 = $_POST['dana2'];
  4. ?>
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.