ďťż
Podstrony
|
telcocafeMam taki skrypt:echo "<p>"; echo "<form name=\"logowanie\" action=\"sprawdz.php\" method=\"post\">"; echo "<input type=\"hidden\" name=\"page\" value=\"umowa1.doc\">"; echo "<input type=\"submit\" value=\"Pobierz 1\">"; echo "</p>"; echo "<br>"; echo "<p>"; echo "<form name=\"logowanie\" action=\"sprawdz.php\" method=\"post\">"; echo "<input type=\"hidden\" name=\"page\" value=\"umowa2.doc\">"; echo "<input type=\"submit\" value=\"Pobierz 2\">"; echo "</p>"; Zaś w pliku sprawdz.php mam: <?php $pom=$_POST["page"]; echo "$pom"; echo "<p>"; echo "<form name=\"logowanie\" action=\"go.php\" method=\"post\">"; echo "<input type=\"hidden\" name=\"strona\" value=\"$pom\">"; echo "<input type=\"submit\" value=\"Wejdż\">"; echo "</p>"; ?> 1. Dlaczego zawsze jak klikne przycisk Pobierz 1 lub Pobierz 2 to wyświtla mi napis umowa2.doc ? Czemu nie wświetla umowa1.doc jak klikne na Pobierz 1 ? 2. Dlaczego do pliku go.php nie jest przesyłana zawartość $pom z pliku sprawdz.php ? Kod go.php <?php $k=$_POST["strona"]; echo "$k"; ?> Nie zamykasz znacznika <form>, a otwierasz aż dwa. Dlatego atrybut przyjmuje zawsze drugą wartość. Druga sprawa -> formularza nie musisz "echować". To odciąży serwer. Trzecia sprawa -> jeśli już koniecznie dajesz to w echo, to wstaw tylko raz i całość obejmij cudzysłowem, miast echować oddzielnie każdą linijkę. Poza tym poczytaj o różnicy między cudzysłowem i apostrofem w funkcji echo. Użytkownik Lupinek edytował ten post 01 październik 2007, 22:25 Nie zamykasz znacznika <form>, a otwierasz aż dwa. Dlatego atrybut przyjmuje zawsze drugą wartość. Druga sprawa -> formularza nie musisz "echować". To odciąży serwer. Trzecia sprawa -> jeśli już koniecznie dajesz to w echo, to wstaw tylko raz i całość obejmij cudzysłowem, miast echować oddzielnie każdą linijkę. Poza tym poczytaj o różnicy między cudzysłowem i apostrofem w funkcji echo. Ok dzięki pomogło. Ale jeszcze drugie pytanie: 2. Dlaczego do pliku go.php nie jest przesyłana zawartość $pom z pliku sprawdz.php ? Mam jeszcze trzecie, co jest złego tutaj że nie działa: <?php header("Location: http://onet.pl"); ?> value=\"$pom\">"; To chyba nie powinno tak wyglądać? raczej echo '<input type="hidden" name="strona" value="'."$pom".'">'; choć nie jest pewien, a teraz nie sprawdzę. 3. A wysyłasz ten kod przed wysłaniem jakichkolwiek danych na stronę? WojtekP, naprawdę nie musiałeś cytować całego mojego posta ^^ echo '<input type="hidden" name="strona" value="'."$pom".'">'; choć nie jest pewien, a teraz nie sprawdzę. 3. A wysyłasz ten kod przed wysłaniem jakichkolwiek danych na stronę? Cały kod pliku go.php: <html> <head></head> <body> <?php header("Location: http://www.witek010.cba.pl/str/doc/$k"); ?> </body> </html> A w sprawdz.php zmieniłem tak jak mówisz i mi wyświetla białą stronę, nawet już nie wyświetla tekstu przesłanego ze strony index.php Primo: Guglujemy. To nie boli. 2. Skoro wyświetla Ci białą stronę, to coś jest nie tak. Sugerowana przeze mnie zmiana nie miała nic z tym wspólnego akurat :/ I nie jestem pewien nawet, czy dobrze Ci mówię, bo jestem zbyt zmęczony ^^ Daj kod. index.php <html> <head> </head> <body> <?php echo "<p>"; echo "<form name=\"logowanie\" action=\"sprawdz.php\" method=\"post\">"; echo "<input type=\"hidden\" name=\"page\" value=\"umowa1.doc\">"; echo "<input type=\"submit\" value=\"Pobierz 1\">"; echo "</form>"; echo "</p>"; echo "<br>"; echo "<p>"; echo "<form name=\"logowanie\" action=\"sprawdz.php\" method=\"post\">"; echo "<input type=\"hidden\" name=\"page\" value=\"umowa2.doc\">"; echo "<input type=\"submit\" value=\"Pobierz 2\">"; echo "</form>"; echo "</p>"; ?> </body> </html> sprawdz.php <html> <head> </head> <body> <?php $pom=$_POST["page"]; echo $pom; echo "<p>"; echo "<form name="logowanie" action="go.php" method="post">"; echo "<input type="hidden" name="strona" value="$pom">"; echo "<input type="submit" value="Wejdż">"; echo "</p>"; ?> </body> </html> go.php <html> <head></head> <body> <?php $k=$_POST["strona"]; header("Location: http://www.adres.pl/str/doc/$k"); ?> </body> </html> Użytkownik WojtekP edytował ten post 02 październik 2007, 17:53 Ech... Zapraszam do czytania tutoriali PHP, podstaw używania komendy echo, a potem do zadawania pytań. WojtekP, czy na pewno zrobiłeś tak jak ja pokazałem? Powtarzam -> Poczytaj o różnicy między apostrofem a cudzysłowem i wtedy popraw kod. I, teraz znów się powtórzę, header(); winien być wysłany przed jakimkolwiek kodem html :google: Użytkownik Lupinek edytował ten post 02 październik 2007, 11:43 Nadal nie wiem jak to ma być. nie mógłbyś poprawić mojego kodu jeżeli potrafisz? OK JUŻ POPRAWIŁEM, temat można zamknąć. Użytkownik WojtekP edytował ten post 02 październik 2007, 18:14 |
|||
Sitedesign by AltusUmbrae. |