Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: header redirect działał na darmowym hostingu, nie dziala na platnym...
Forum PHP.pl > Forum > PHP
tifoso
Napotkałem na bardzo dziwny problem...Miałem gotową stronę i wszystko działało tak jak należy gdy miałem wszystko wrzucone na darmowy hosting cba.pl

Nadszedł czas na wykupienie hostingu w superhost.pl i teraz na stronie "kontakt" po wysyłaniu maila, strona nie przekierowuje się na tą z potwierdzeniem wysłania.

Dziwna sprawa bo w ogóle nie zmieniałem kodu. Tu jest kawałek kodu przekierowujący ale mogę wkleić więcej jeśli trzeba.

  1. <?php
  2. header('Location: /email_sent_confirm.php');
  3. exit(); ?>
markonix
A co robi? Nic? Pokazuje pustą stronę? Daj jakieś echo za header.
tifoso
Cytat(markonix @ 9.12.2010, 00:17:49 ) *
A co robi? Nic? Pokazuje pustą stronę? Daj jakieś echo za header.

Echo tez nic nie daje, wciąż wyświetla pustą stronę :/ (ale mail dochodzi)
markonix
Echo nie ma naprawić tylko pomóc zdiagnozować.
Skoro się nie wyświetla to na pewno nie pozostaje na stronie (lub header przerywa skrypt).

Spróbuj dać pełną (http://) ścieżkę do jakiejś strony, najlepiej obcej żeby mieć pewność że istnieje..
thek
Markonix... A od kiedy cokolwiek wstawione za przekierowaniem z użyciem header ma prawo się wykonać? exit() jest tylko ostatecznym zabezpieczeniem, gdyby z jakichś niejasnych powodów sam header nie zadziałał (co jest niezwykle rzadkie i niemal nie występuje). Niech autor tematu poczyta temat "Jak zadać pytanie?" to może sam trochę sobie poradzi ze zdiagnozowaniem przyczyn lepiej. Może być błąd jeszcze przed header (co jest najbardziej prawdopodobne) lub ścieżka przekierowania w header jest skopana. Możliwe, że masz katalog główny gdzie indzie niż root strony, bo nie musi to być /strona/podstrona ale choćby /rootserwera/public_html/strona/podstrona a wtedy właśnie się rypnie header, bo nie znajdzie prawidłowej.
tifoso
Probowalem na rozne sposoby zmienic przekierowanie zeby dzialalo, ale wciaz wyswietla biala strone :/

Zmienilem strone lokalna na www.wp.pl zeby nie bylo podejrzen o zla sciezke.

Moglby ktos rzucic okiem i dac znac co jest zle??



  1. <?php
  2. require_once('auth.php');
  3. ?>
  4.  
  5. <?php error_reporting(6143);
  6.  
  7. isset($_POST['Email']) ? $Email = $_POST['Email'] : $Email = "";
  8. isset($_POST['imie']) ? $imie = $_POST['imie'] : $imie = "";
  9. isset($_POST['nazwisko']) ? $nazwisko = $_POST['nazwisko'] : $nazwisko = "";
  10. ?>
  11.  
  12. <script src="ipad.js" type="text/javascript"></script>
  13. <script src="pirog.js" type="text/javascript"></script>
  14. <body bgcolor="#000000" onLoad="MM_preloadImages('galeria.jpg','glare.jpg','werka_over.jpg','kontakt_over.JPG','home_over.jpg')"> <a name="top"></a>
  15.  
  16.  
  17. </body>
  18.  
  19. <?php
  20.  
  21. if (isset($_POST['Submit']))
  22. {
  23. //Validate form
  24. $errormessage = "";
  25.  
  26. if ($imie == '') { $errormessage .= "<li>Musisz podać swoje imię.</li> ";}
  27.  
  28. echo "</ul></p>";
  29. //If errors, return error message(s) and form
  30. if ($errormessage != "")
  31. { ?>
  32.  
  33.  
  34. <?php
  35. include("formularz.php");
  36. } else {
  37.  
  38. $email_subject = "Hello";
  39. $email_headers = "From: $imie [$Email] \r\n";
  40.  
  41. $to = "gruy@hotmail.com";
  42. $message_content =
  43. "----------------------------------------------------------------------------------\n".
  44. " Nowa wiadomosc... \n".
  45.  
  46.  
  47. "Imię: $imie\n".
  48. "Nazwisko: $nazwisko\n".
  49. "E-mail: $Email\n".
  50.  
  51.  
  52. "-----------------------------------------------------------------------------------\n\n";
  53.  
  54.  
  55.  
  56. if (mail($to, $email_subject, $message_content, $email_headers))
  57. {
  58. //Display Sent Confirmation (Successful or NOT!) ?>
  59.  
  60. <?php header("location: http://www.wp.pl/");
  61. exit;?>
  62. <?php
  63. }
  64. }
  65. } else {
  66. ?>
  67.  
  68. <?php include("formularz.php");?>
  69.  
  70. <?php
  71. //endelse
  72. };
markonix
BBCode psuje linki, ale rozumiem że dałeś link z http://.

thek chodziło mi tylko o sprawdzenie czy skrypt w ogóle dociera do miejsca gdzie jest header, przecież wysłanie coś do przeglądarki przed headerem powinno wywalić błąd, a nie wyświetlać białą stronę. No chyba, że masz w ini wyłączone błędy.

Po co otwierasz i zamykasz znaczniki php? Może Ci się tam po prostu białe znaki pojawiają?
tifoso
Cytat(markonix @ 10.12.2010, 12:34:25 ) *
BBCode psuje linki, ale rozumiem że dałeś link z http://.

thek chodziło mi tylko o sprawdzenie czy skrypt w ogóle dociera do miejsca gdzie jest header, przecież wysłanie coś do przeglądarki przed headerem powinno wywalić błąd, a nie wyświetlać białą stronę. No chyba, że masz w ini wyłączone błędy.

Po co otwierasz i zamykasz znaczniki php? Może Ci się tam po prostu białe znaki pojawiają?


Probowalem bez znacznikow i dalej to samo tiredsmiley.gif
kalmaceta
po pierwsze chyba masz skopane pokazywanie błędów zob. phpinfo();
po drugie linie 12-17 wysyłają dane do przeglądarki i header() nie może zadziałać - wywala błąd, którego nie widzisz. dalej warunek w linii 21 spełniony i echo nieco niżej
thek
To co masz jako error_reporting to inna wersja E_ALL, więc jest OK. Zobacz czy masz jednak ustawioną display_errors na 1 smile.gif Linie wskazane przez kalmacetę faktycznie wysyłają dane do przeglądarki, więc jak sam widzisz robisz output przed header. Ja sprawdziłbym jeszcze plik auth_php, bo tam także jakiś enter lub spacje mogły wyskoczyć.
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.