Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Formularz i php
Forum PHP.pl > Forum > PHP
afrodyzjak
Mam formularz który wysyła dane klienta razem z jego zamówieniem, wyświetla się strona - wysłano.
Próbuję napisać osobną stronkę aby wyświetliło się to zamówienie i dane z formularza.
Problem w tym, że dane związane z bazą daych sql przechodzą przez link, a z formularza wypisanego przez klienta - już nie.
Jak można przesyłać dane ze zwykłego formularza na inną stronę w php?
itsme
dane zapisujesz w bazie danych
proponuje za pomoca odpowiedniego ID odczytac ponownie te dane i wyswietlic

podaj adres strony zobacze soebie pozniej
mpps
przypisujesz zmienną do każdego pola, z którego wyświetlasz dane na nowej stronie.
np.:
  1. <FORM ACTION="potwierdzenie.php" METHOD="POST">
  2. <INPUT TYPE="TEXT" NAME="osoba" >
  3. <INPUT TYPE="SUBMIT" NAME="formularz" VALUE="wyślij">
  4. </FORM>

i wyświetlasz:
  1. <?php
  2.  
  3. print (&#092;"$osoba\");
  4.  
  5. ?>


trochę na skróty to opisałem... winksmiley.jpg

oczywiście o wiele lepszą metodą jest zapis do bazy, bo wtedy pozostaje ślad po zamawiającym, a jak wyświetlać z bazy - mniemam, że wiesz winksmiley.jpg
Fibolg
Chyba jak już to:
  1. <?php
  2. echo &#092;" $_POST['osoba']\";
  3. ?>
rogrog
Cytat(Fibolg @ 2004-12-05 09:17:32)
Chyba jak już to:
  1. <?php
  2. echo &#092;" $_POST['osoba']\";
  3. ?>

Nie, chyba jak już to:
  1. <?php
  2. echo $_POST['osoba'];
  3. ?>
mpps
@rogrog
dlaczego uważasz, że zamknięcie w cudzysłowie nie jest poprawne?
czachor
Jest poprawne, tylko niepotrzebne. W cudzysłowiach nie ma sensu za bardzo wstawiać zmiennych, lepiej robić to poza nimi ->
  1. <?php
  2. echo &#092;"jakiś txt $_GET['osoba']\";
  3. //lepiej (szybciej i czytelniej):
  4. echo &#092;"jakiś txt \" . $_GET['osoba'];
  5. ?>
Chodzi m. in. o to, że php sprawdza każdy string w " " pod kątem funkcji, zmiennych itp. Czyli 100-linijkowy tekst (bez żadnego php) w " " parser sprawdzi, czy nie ma tam żadnej funkcji/zmiennej => dłużej. Tekst lepiej zamknąć apostrofami ' ' -> wtedy parser nie męczy się z tym, tylko wyświetla tak, jak jest:
  1. <?php
  2. echo 'bleble $foo bar()'; // zwróci: blebleble $foo bar()
  3. ?>
rogrog
@mpps: dokładnie to, co powiedział czachor. Poza tym, w żadnym z innych języków programowania (znanych mi) nie istnieje coś takiego. Tylko taki bajer php.
Fibolg
A ja tam myślę, że się po prostu czepiacie winksmiley.jpg
Jak miałbym używać w ciągłym tekście zawsze nowego echa jak wstawiam zawartość zmiennej to sam bym się nie połapał w tak poszatkowanym skrypcie tongue.gif
rogrog
Cytat(Fibolg @ 2004-12-06 17:58:26)
zawsze nowego echa jak wstawiam zawartość zmiennej

nie nowe echo. Wystarczy zamykać stringa i łączyć za pomocą kropki
Vertical
Można zastosować
  1. <?php
  2. echo &#092;" $_POST[osoba]\"
  3. ?>

Ale wtedy trzeba usunąć cudzysłów z [ ]
czachor
Można, zresztą przecież @Fibolg podał to parę postów wyżej... Ale to nie jest najlepsze rozwiązanie... Powody - też wyżej... I po co usuwać cudzysłowia, jeśli można użyć apostrofu ($_POST['osoba']), co (chyba) zaleca manual (tzn. że powinno tam coś być, albo apostrof, albo cudzysłów).
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.