Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php与html的混淆_Php_Html - Fatal编程技术网

php与html的混淆

php与html的混淆,php,html,Php,Html,我在尝试用html输出文本对php代码进行排序时遇到问题,这只是执行错误的路由..例如,opps文本消息 为什么会发生这种情况,我的语法似乎是好的,没有遇到错误…提前感谢…辛格 <body> <?php if (isset($success) && $success):?> <h3>success message here.</h3> <?php else:?> <h2>Oops!</h2>

我在尝试用html输出文本对php代码进行排序时遇到问题,这只是执行错误的路由..例如,opps文本消息

为什么会发生这种情况,我的语法似乎是好的,没有遇到错误…提前感谢…辛格

<body>

<?php if (isset($success) && $success):?>
<h3>success message here.</h3> 
<?php else:?>
<h2>Oops!</h2>
<h3>Sorry, there was a problem, please try again.</h3>
<?php endif;?>

</body>
试一试


由于您已经为$success指定了任何值,所以此代码将始终转到false语句

条件:

isset$success=false

$success未设置,因此不为真

要获得成功消息,您需要初始化变量$success并将其赋值为真值,以便将其放入if语句中

 <body>
        <?php 

    // you need to achieve this somehow in your success criteria function.
        $success = true; 

        if (isset($success) && $success){?>
            <h3>success message here.</h3> 
            <?php } else { ?>
            <h2>Oops!</h2>
            <h3>Sorry, there was a problem, please try again.</h3>
            <?php } ?>

            </body>
此代码将使您获得成功消息。但您需要在函数中设置$success的值,使其更实用。

好的。 代码中的语法是正确的,但程序的逻辑可能是错误的

您正在使用。 嗯

假设你得到了这张表格:

my_web_form.html

事实上,没有必要使用$success 您可以在if表达式中使用mail函数,因为mail在成功时返回true

if (mail($to, $subject, wordwrap($message, 70), $headers)) {
    // Success message
}

正如我提到的,这个代码片段是最基本的脚本。显然,您需要清理代码、验证变量、整理代码等。但现在,您有了一个起点。

不明白您的要求是什么?什么是$success?它是假的或者没有设置。也许$success没有设置?在他的情况下,设置与否并不重要。从听起来,成功和失败消息都在显示,从语法角度看,它们不应该显示。只有一个应该显示,通过设置success+true或false。再次-$success的值是多少?如果变量未设置,这将引起一个通知。很抱歉,这不起作用,或者在过去尝试过查看我的评论…hi klymax很抱歉反应太晚,感谢详细的脚本逻辑,感谢将尝试它,再次感谢…Singhy请记住:不要像在live server中那样使用此代码,这只是一个钥匙孔,您可以看到幕后发生了什么。
<form action="form_processor.php" method="post">
    To:<input type="text" name="to"><br><br>
    Subject:<input type="text" name="subject"><br><br>
    Message:<textarea name="message" rows="5" cols="50"></textarea><br><br>

    <input type="submit" value="Send">
</form>  
<?php
isset($_POST['to']) ? $to = $_POST['to'] : $to = null;
isset($_POST['subject']) ? $subject = $_POST['subject'] : $subject = null;
isset($_POST['message']) ? $message = $_POST['message'] : $message = null;

if ($to && $subject && $message) {

    // Set your headers
    $raw_headers = array(
                   'From: your@email.tld',
                   'X-Mailer: PHP/' . phpversion()
                   // Another header
                   // Another header
                   // Another header
                   );

    $headers = implode("\r\n", $raw_headers);

    $success = mail($to, $subject, wordwrap($message, 70), $headers);

    if ($success) {

        echo "<h3>Email Successfuly Sent!</h3>\n";

    }

} else {

    echo "<h2>Oops!</h2>\n";
    echo "<h3>Sorry, there was a problem, please try again.</h3>\n";

}
?>
<br><br>
<a href="my_web_form.html">Back</a>  
if (mail($to, $subject, wordwrap($message, 70), $headers)) {
    // Success message
}