已解决 - 权限
我想遍历我的调试过程,以便它可以帮助其他任何人完成相同的事情...... 1)我擦除了两个页面并替换为我知道有效的代码。2)然后我逐个更改表单,直到我得到我想要的并继续测试 3)然后我完全复制了当前的 php 文件并将我的表单重定向到它。4)它失败了......我将权限更改为655并且wallah它工作了。现在我可以开始破解 PHP 代码以获得我想要的东西。感谢所有的建议,你肯定带领我走上了我的解决
方案
我在一个网站上有两个单独的摄入表格。摄入表格 1 效果很好。我接受、命名、发送电子邮件和评论,然后通过 sendmail 脚本发送。
我还想要一个潜在客户捕获表格来跟踪那些想要访问演示视频的人,所以我修改了表格中的代码(用于新页面),然后创建了一个名为 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 sendmail.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>";
}?>