已解决 - 权限
我想完成我的调试过程,以便它可以帮助其他任何人完成同样的事情......1)我擦除了两个页面,并替换为我知道有效的代码。2)然后我一点一点地更改表单,直到我得到我想要的它并继续测试 3)然后我完全复制了当前的php文件并将我的表单重定向到它。4)它失败了...我将权限更改为 655 并瓦拉它起作用了。现在我可以去破解PHP代码以获得我想要的东西。感谢您的所有建议,您绝对引导我走上了解决方案
的道路解决
我在一个网站上有两个单独的入学表格。 摄入表格 1 效果很好。 我接受,命名,电子邮件和评论,并通过发送邮件脚本发送。
我还想要一个用于潜在客户捕获的摄入表单来跟踪那些想要访问演示视频的人,所以我修改了表单中的代码(用于新页面),然后创建了一个名为 videoform 的附加 php 文件.php - 它基本上只是我的 sendmail.php 文件的修改版本。
当我填写表格时,当我单击提交时,它没有任何作用。 它会验证,因为它不允许您在任何字段中输入空值,但我不确定我错过了什么。 这是简单的事情(我绝不是PHP可靠的)还是我干脆不这样做?
这是表单和 php:
<div class="message"></div>
<form action="./php/videoform.php" method="POST" id="contact-form">
<p class="column one-half">
<input name="name" type="text" placeholder="Your Name" required>
</p>
<p class="column one-half">
<input name="email" type="email" placeholder="Your Email" required>
</p>
<p class="column one-half">
<input name="phone" type="text" placeholder="Your Phone" required>
</p>
<p>
<input name="submit" type="submit" value="Submit">
</p>
</form>
</div>
这是 PHP
<?php if(!$_POST) exit;
$to = "xxxxx@example.com";
$email = $_POST['email'];
$name = $_POST['name'];
$phone = $_POST['phone'];
$content = $_POST['content'];
$subject = "You've been contacted by $name";
$content = "$name filled out a request to view the online videos:'r'n'n";
$content .= "Phone: $phone 'n'nEmail: $email 'n'n";
if ($success) {
header("Location: /videos.html");
exit;
} else {
header("Location: /video-form.html");
exit;
}
?>
我对许多编码格式感到满意,但在PHP方面我非常弱。 任何见解都将不胜感激,并让我走上更好地理解PHP的道路。
用于比较的工作脚本
形式
给我们发送消息
<p class="column one-half last">
<input name="email" type="email" placeholder="Your Email" required>
</p>
<p class="clear">
<textarea name="comment" placeholder="Your Message" cols="5" rows="3" required></textarea>
</p>
<p>
<input name="submit" type="submit" value="Comment">
</p>
</form>
</div>
PHP 发送邮件.php文件
<?php if(!$_POST) exit;
$to = "xxxxx@example.com";
$email = $_POST['email'];
$name = $_POST['name'];
$comment = $_POST['comment'];
$subject = "You've been contacted by $name";
$content = "$name sent you a message from your enquiry form:'r'n'n";
$content .= "Contact Reason: $comment 'n'nEmail: $email 'n'n";
if(@mail($to, $subject, $content, "Reply-To: $email 'r'n")) {
echo "<h5 class='success'>Message Sent</h5>";
echo "<br/><p class='success'>Thank you <strong>$name</strong>, your message has been submitted and someone will contact you shortly.</p>";
}else{
echo "<h5 class='failure'>Sorry, Try again Later.</h5>";
}?>
从你的 php :
//...
$content = "$name filled out a request to view the online videos:'r'n'n";
$content .= "Phone: $phone 'n'nEmail: $email 'n'n";
if ($success) {
header("Location: /videos.html");
exit;
} else {
//...
你永远不会定义$success。由于它没有值,因此if ($success)
失败,并且它始终进入语句的else
部分。看起来你错过了一行类似于$success = mail($to, $subject, $content);