php与html的混淆
我在尝试用html输出文本对php代码进行排序时遇到问题,这只是执行错误的路由..例如,opps文本消息 为什么会发生这种情况,我的语法似乎是好的,没有遇到错误…提前感谢…辛格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>
<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
}