• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Skrypt php pomija wszystkie funkcje echo.

0 głosów
161 wizyt
pytanie zadane 13 grudnia 2015 w PHP, Symfony, Zend przez Widemo Użytkownik (920 p.)
edycja 26 grudnia 2015 przez Widemo

Witam mam problem z ponizszym kodem tzn pomija on cale echo odrazu idzie do register_form.php, na poczatku sktyptu mam ob_start(), ale nic nie daje .

Witam ponownie. Czy moglby mi ktos powiedziec co zrobic zeby dzialalay przekierowania header nie z js i zeby nie pomijalo echo?

 

	if(!empty ($db -> query("SELECT `ip` FROM `users` WHERE `ip` = '" . $ip .  "' ") -> fetchAll())){
		echo "<script type='text/javascript'>
       alert('Sorry, but ip:  " . $ip . " is registered in us data base');</script> ";
		header("Location: register_form.php");
		exit;
	}

 

2 odpowiedzi

+2 głosów
odpowiedź 13 grudnia 2015 przez Ivan Maniak (60,990 p.)
No tak bo PHP to nie js cały kod wykonuję się w "jednym momencie", najprościej będzie jeżeli stworzysz przekierowanie w js [window.location.href = "register_from.php"].
komentarz 13 grudnia 2015 przez Widemo Użytkownik (920 p.)
Zadzialalo. A mam pytanie, da sie zrobic tak by ten formularz sie nie usuwal po tym przekierowaniu?
komentarz 13 grudnia 2015 przez Ivan Maniak (60,990 p.)
Nie rozumiem jaki formularz, ale jeżeli po przekierowaniu to po prostu dodaj go do kodu :)
komentarz 27 grudnia 2015 przez Widemo Użytkownik (920 p.)
Jest to formularz rejestracji, i gdy wykryje blad ma powiadomic alertem w js i przekierowac do register_form.php ale nie w js, i problem jest taki ze jak daje w php header("Location:register_form.php"); to wywala wszystkie polecenia echo
0 głosów
odpowiedź 27 grudnia 2015 przez writen Nałogowiec (29,200 p.)
Ale nie możesz wywołać echo przed wysłaniem nagłówka. Nagłówki należy wysyłać w pierwszej kolejności, dopiero później treść.

Zapewne nie masz pojęcia do czego służy funkcja ob_start() i jak z niej korzystać. Najlepiej nie korzystaj i zapomnij o niej.

Jeśli chcesz wyświetlić jakiś komunikat po przekierowaniu możesz skorzystać z mechanizmu Flash Messages. Możesz sam napisać sobie do tego skrypt, ale w internecie znajdziesz masę gotowych klas.
komentarz 27 grudnia 2015 przez efiku Szeryf (75,020 p.)
Czemu ma o niej zapomniec?:) Fakt, ze php potrafi sobie samo juz sterowac naglowkami i nie pokazuje smiesznego bledu header already send. Jednakze jakbym chcial cos poszalec z odczytem zawartosci pliku ( fpassthru ) to by sie przydalo :D
komentarz 27 grudnia 2015 przez writen Nałogowiec (29,200 p.)

Teraz lepiej niech zapomni. Na pewnym etapie, jak będzie już gotowy, to sobie przypomni. laugh

komentarz 29 grudnia 2015 przez Widemo Użytkownik (920 p.)
Własnie dlatego jak czegos nie wiem to pytam na forum. PHP nie ucze sie długo, ale staram sie rozwijac a twoja odpowiedz o tym zebym zapomnial jakos wiele nie pomaga.
komentarz 29 grudnia 2015 przez writen Nałogowiec (29,200 p.)
A ty przeczytałeś jedynie drugie zdanie mojej odpowiedzi?

Podobne pytania

+1 głos
3 odpowiedzi 198 wizyt
pytanie zadane 1 listopada 2018 w PHP, Symfony, Zend przez olejniczakbydgoszcz Początkujący (290 p.)
0 głosów
1 odpowiedź 90 wizyt
pytanie zadane 26 lipca 2018 w PHP, Symfony, Zend przez Q7V Gaduła (4,300 p.)
0 głosów
2 odpowiedzi 80 wizyt
pytanie zadane 11 lipca 2018 w PHP, Symfony, Zend przez Kiele Obywatel (1,530 p.)
Porady nie od parady
Możesz ukryć, zamknąć lub zmodyfikować swoje pytanie, za pomocą przycisków znajdujących się pod nim. Nie krępuj się poprawić pochopnie opublikowanego pytania czy zamknąć go po uzyskaniu satysfakcjonującej odpowiedzi. Umożliwi to zachowanie porządku na forum.Przyciski pytania

66,384 zapytań

113,133 odpowiedzi

239,497 komentarzy

46,640 pasjonatów

Przeglądających: 154
Pasjonatów: 0 Gości: 154

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...