PHP:弹出警报然后重定向页面

2022-01-11 00:00:00 header php echo

我是 PHP 新手.

当有人上传的文件太大时,我想向他们显示一个警告弹出窗口并将他们重定向到前一页(反之亦然).

When someone uploads a file size too big, I want to show them a warning popup and redirect them to a previous page (or vice versa).

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 并且不会显示任何警告弹出窗口.

This code above will just redirect me to index.php and doesn't show any warning popup.

推荐答案

做类似的事情

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

然后在 index.php 上...

Then on index.php...

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

换句话说,index.php 将始终检查是否在 url 中传递了一条消息.如果有,请显示它.然后,只需在重定向中传递消息

In other words, index.php will always check if it's being passed a message in the url. If there is one, display it. Then, just pass the message in the redirect

如果你真的想使用模态弹窗,请生成 js...

if you really want to use a modal popup, generate the js...

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

请注意,如果您在消息中使用引号,除非您对其进行转义,否则这将中断

Note that this will break if you use quotes in the message unless you escape them

相关文章