PHP: выдать всплывающее предупреждение, а затем перенаправить страницу

Я новичок в PHP.

Когда кто-то загружает размер файла слишком большой, я хочу показать им всплывающее предупреждение и перенаправить их на предыдущую страницу (или наоборот).

if(file size is too big){ ob_start(); header("location:index.php"); echo "<script type='text/javascript'>alert('Your File Size is too big!');</script>"; ob_end_flush(); exit; } 

Этот вышеприведенный код просто перенаправляет меня на index.php и не отображает всплывающее окно с предупреждением.

Сделайте что-нибудь вроде

 header("Location: index.php?Message=" . urlencode($Message)); 

Затем на index.php …

 if (isset($_GET['Message'])) { print $_GET['Message']; } 

Другими словами, index.php всегда будет проверять, передается ли ему сообщение в URL-адресе. Если он есть, отобразите его. Затем просто передайте сообщение в перенаправлении

если вы действительно хотите использовать модальное всплывающее окно, создайте js …

 if (isset($_GET['Message'])) { print '<script type="text/javascript">alert("' . $_GET['Message'] . '");</script>'; } 

Обратите внимание, что это будет нарушено, если вы используете кавычки в сообщении, если вы не избежите их

Проблема в том, что header("location:index.php"); автоматически устанавливает код ответа на 302 . Браузер немедленно перенаправляет, не просматривая содержимое страницы.

Вам необходимо либо выполнить перенаправление себя в javascript после отправки предупреждения, либо перенаправить страницу, чтобы сделать предупреждение.

 <script type="text/javascript"> alert("YOUR MESSAGE HERE"); location="REDIRECTION_PAGE.php"; </script> 

Код выглядит следующим образом:

 if($_FILES['file']['size'] > 200000) //any file size, 200 kb in this case { echo "<script type='javascript'>alert('File size larger than 200 KB')</script>"; } header("Location: index.php"); 

В любом случае браузер будет перенаправлен на страницу index.php , независимо от того, файл успешно загружен или нет. Его просто, что всплывающее окно появится, если файл имеет больший размер.