PHP-da Darhol Redirect

header funksiyasi yordamida amalga oshirilgan redirect, ushbu funksiya chaqirilgan paytda sodir bo'lmaydi. Chunki PHP o'zi redirectni amalga oshirmaydi, faqat browserga mos HTTP sarlavhasini yuboradi.

Bu shuni anglatadiki, redirect faqat PHP skriptni oxirigacha bajarib bo'lgachgina sodir bo'ladi. Shu sababli turli xil parazit effektlar yuzaga kelishi mumkin.

Misol uchun, quyidagi kodda biz redirect yoki bazaga so'rov amalga oshirishni xohlaymiz. Lekin, redirect buyrug'i bo'lsa ham, bazaga so'rov amalga oshiriladi:

php<?php
  if ($_GET['test']) {
    header('Location: test.php');
  }
  
  $query = "UPDATE users SET changed=1 WHERE id=1";
  mysqli_query($link, $query); // redirect holatida ham bajariladi!
?>

Bunday muammolarning oldini olish uchun redirectdan so'ng darhol die funksiyasini chaqirish kerak, bu skript bajarilishini darhol to'xtatadi va redirect darhol sodir bo'ladi:

php<?php
  if ($_GET['test']) {
    header('Location: test.php');
    die();
  }
  
  $query = "UPDATE users SET changed=1 WHERE id=1";
  mysqli_query($link, $query);
?>
Задание 1

O'zingizning kodizingizda qandaydir parazit effektni namoyish qiling. Keyin uni die funksiyasi yordamida tuzating.