Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> header redirect działał na darmowym hostingu, nie dziala na platnym..., ???
tifoso
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 16.11.2009

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


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(); ?>


Ten post edytował tifoso 8.12.2010, 23:12:58
Go to the top of the page
+Quote Post
markonix
post
Post #2





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


A co robi? Nic? Pokazuje pustą stronę? Daj jakieś echo za header.


--------------------
Go to the top of the page
+Quote Post
tifoso
post
Post #3





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 16.11.2009

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


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)

Ten post edytował tifoso 8.12.2010, 23:37:14
Go to the top of the page
+Quote Post
markonix
post
Post #4





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


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..


--------------------
Go to the top of the page
+Quote Post
thek
post
Post #5





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




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.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
tifoso
post
Post #6





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 16.11.2009

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


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. };


Ten post edytował tifoso 10.12.2010, 13:21:51
Go to the top of the page
+Quote Post
markonix
post
Post #7





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


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ą?

Ten post edytował markonix 10.12.2010, 12:34:51


--------------------
Go to the top of the page
+Quote Post
tifoso
post
Post #8





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 16.11.2009

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


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
Go to the top of the page
+Quote Post
kalmaceta
post
Post #9





Grupa: Zarejestrowani
Postów: 183
Pomógł: 24
Dołączył: 4.12.2010

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


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


--------------------
kAlmAcetA
Go to the top of the page
+Quote Post
thek
post
Post #10





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




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ć.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
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 Aktualny czas: 21.08.2025 - 12:15