我是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,并且不会显示任何警告弹出窗口。
答案 0 :(得分:9)
执行类似
的操作header("Location: index.php?Message=" . urlencode($Message));
然后在index.php ...
if (isset($_GET['Message'])) {
print $_GET['Message'];
}
换句话说,index.php
将始终检查它是否在网址中传递了一条消息。如果有,请显示它。然后,只需在重定向中传递消息
如果你真的想使用模态弹出窗口,请生成js ...
if (isset($_GET['Message'])) {
print '<script type="text/javascript">alert("' . $_GET['Message'] . '");</script>';
}
请注意,如果您在邮件中使用引号,这将会中断,除非您将它们转义
答案 1 :(得分:3)
<script type="text/javascript">
alert("YOUR MESSAGE HERE");
location="REDIRECTION_PAGE.php";
</script>
答案 2 :(得分:1)
问题是header("location:index.php");
会自动将响应代码设置为302
。浏览器会立即重定向,而不会查看页面内容。
您需要在发送警报后在javascript中重定向,或者让您重定向的页面进行警报。
答案 3 :(得分:-1)
代码如下:
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
页面。只是如果文件的大小更大,弹出窗口就会出现。