[php]kolejność wykonania instrukcji

0

Nie wiem za bardzo co sie dzieje.

JAk mam taką kolejność instrukcji w skrypcie:

operacje na bazie
header("Location: index.php");

to operacje na bazie się wykonają, ale juz do index.php akcja sie nie pzreniesie

Jesli zaś kolejność będzie taka:

header("Location: index.php");
operacje na bazie

to przeniesienie zadziała , ale co dziwne operacje na bazie takze zostaną zrealizowane("chociaz byly pozniej)

Wczesniej czegos takiego nie bylo, w tamtym tygodniu mialem reinstal, ten cały krasnal w wersji 2.7 jest nowy ,nic tam w ustawieniach nie mieszałem.

pzdr

0

jak chcesz mieć pewność że się nie wykona nic dalej to po header dajesz Die bo ustawiasz tylko nagłówek, php nie koniecznie musi zatrzymać skrypt w tym momencie chociaż powinien bo ustawienie nagłówka Location php traktuje specjalnie, a jak ci nie przenosi w pierwszym wypadku ? wychodzi jakiś błąd ? może coś wyświetlasz w czasie tych "operacji na bazie"

0

no własnie, pamietaj ze aby funkcja header sie wykonała nie moze przed nia zostac wysłany zaden tekst, nawet takie coś nie przejdzie:

<?php header('Location: index.php'); ?>

(spacja przed <?php !)

0

witam
w nagłówku nic nie wysylam. To jest prosta operacja update.

Dodałem teraz pzred instrukcję header instrukcję echo i tak:

echo "jestem";
header("Location: index.php");

jesli jest to na samym początku skryptu to wyswietla komunikat ,że nie mzoe przekierowacd bo nagłówek wyslany.

Jesli zas te dwie linijki na koniec skryptu pzrenosze to juz błedu nie ma.Tak jakby omijał te instrukcję.

//po trzecim resecie zaczęło działąć.Nie będe udawać że wiem o co chodizło.

pzdr i dzieki za odpowiedzi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1