当使用PHP die(); </div>时,回显<div class =“”>不起作用

时间:2014-02-14 19:03:50

标签: php css echo die

所以我有一个表单,它在CSS和PHP中组合了一些自定义警报,现在我使用echo调用这些警报,最后使用die()来终止/结束PHP脚本。这是PHP代码:

if($pass1 != $pass2){
echo '<div class="alert">Passwords do not match!</div>';
die();
}

这是CSS:

.alert {
        background: #fff6bf url(../images/exclamation.png) center no-repeat;
        background-position: 15px 50%; 
        text-align: center;
        padding: 5px 20px 5px 45px;
        border-top: 2px solid #ffd324;
        border-bottom: 2px solid #ffd324;
        }

问题是当脚本执行时没有die()然后使用CSS正确显示错误。当实现die()时,代码会显示一个空白页面,上面写着“密码不匹配!”没有任何造型。

我可以做些什么来杀死PHP脚本但仍有样式?

解决方案:

因此,在看到答案并意识到骰子在那时杀死了整个网站。我在代码中添加了一个简单的行:

在:

   if($pass1 != $pass2){
    echo '<div class="alert">Passwords do not match!</div>';
    die();
    }

在:

   if($pass1 != $pass2){
    echo '<link rel="stylesheet" type="text/css" href="css/structure.css">';
    echo '<div class="alert">Passwords do not match!</div>';
    die();
    }

所以基本上我只在警报之前添加了样式表,以使警报具有样式。

2 个答案:

答案 0 :(得分:1)

最有可能的是,您的css文件稍后会在代码中添加。执行die()时;声明php将停止所有进一步处理。 Effektivly没有回应样式表。

如果您查看“空白页面”的来源,您会看到它包含:

 '<div class="alert">Passwords do not match!</div>'

答案 1 :(得分:1)

为了使用您目前正在使用的方法,您需要在PHP之上使用HTML。

我使用exit('<div class="alert">Passwords do not match!</div>');die('<div class="alert">Passwords do not match!</div>');

对此进行了测试
<!DOCTYPE html>
<head>
<style>

.alert {
        background: #fff6bf url(../images/exclamation.png) center no-repeat;
        background-position: 15px 50%; 
        text-align: center;
        padding: 5px 20px 5px 45px;
        border-top: 2px solid #ffd324;
        border-bottom: 2px solid #ffd324;
        }

</style>
</head>

<?php
$pass1="2"; // my own test variable
$pass2="3"; // my own test variable
if($pass1 != $pass2){

exit('<div class="alert">Passwords do not match!</div>');
// die('<div class="alert">Passwords do not match!</div>');

echo "Hello there"; // Will not echo

}
?>

你可以这样做,使用额外的条件语句,而不是杀死脚本:

<?php
$pass1="2"; // my own test variable
$pass2="3"; // my own test variable

$var = "<div class=\"alert\">Passwords do not match!</div>";

if($pass1 != $pass2){
echo $var;
}

else{
echo "You have access.";
}

?>

<!DOCTYPE html>

<head>
<style>

.alert {
font-family:Georgia;
color:#ffff00;

        background: #fff6bf url(../images/exclamation.png) center no-repeat;
        background-position: 15px 50%; 
        text-align: center;
        padding: 5px 20px 5px 45px;
        border-top: 2px solid #ffd324;
        border-bottom: 2px solid #ffd324;
        }

</style>
</head>