我是一名相当新手级的程序员,所以请原谅以下任何(非常)平庸的错误。
我目前正在创建一个由Amazon S3托管的几个HTML5 / CSS3网页的个人品牌网站,其中包括一个联系页面。我的联系表单目前指向一个(亚马逊Linux)EC2实例上的PHP页面,我已按照AWS's guide和一些(有趣的)试错法设置为LAMP服务器。我的目的是让这个PHP表单将联系人输入的任何信息拼接到作为单独(基于AWS的)RDS实例托管的MySQL数据库中。
虽然我知道有更简单的方法(邮件行动等),但我一直在尽我最大努力让它发挥作用,但似乎无法弄清楚我做错了什么。我的表单将完全正确地重定向到PHP页面,但不会发生返回,也不会将数据放入数据库。基本上,我只是得到一个平坦的白页。
我是否必须在与PHP重定向相同的LAMP服务器上设置数据库,或者我的代码中是否存在完全不可思议的内容?
我已经在下面发布了我的PHP代码以及联系页面的HTML表单。任何帮助将不胜感激!非常感谢你!
PHP代码(contact.php):
<?php
$link = mysql_connect("[Instance Public IP]:[Port #]", "[Username]", "[Password]", "[Database Name]")
if($link === false) {
die("ERROR: Could not connect." . mysqli_connect_error());
}
$contact_name = mysqli_real_escape_string($link, $_POST['Name']);
$contact_email = mysqli_real_escape_string($link, $_POST['E-Mail']);
$subject = mysqli_real_escape_string($link, $_POST['Subject']);
$message = mysqli_real_escape_string($link, $_POST['Message']);
$sql = "INSERT INTO contacts (contact_name, contact_email, subject, message) VALUES ('$contact_name','$contact_email', '$subject', '$message')";
if(mysqli_query($link, $sql)){
echo "Thank you! Your message has been sent successfully.";
} else{
echo "ERROR: Unable to send successfully." .
mysqli_error($link);
}
mysqli_close($link);
?>
HTML代码(contact.html):
<form action="[contact.php URL]" method="post">
<div>
<label for="Name"><b>Name:</b></label>
<input type="text" id="Name" autofocus required />
</div>
<div>
<label for="E-Mail"><b>E-Mail:</b></label>
<input type="email" id="E-Mail" required />
</div>
<div>
<label for="Subject"><b>Subject:</b></label>
<input type="text" id="Subject" required />
</div>
<div>
<label for="Message"><b>Message:</b></label>
<textarea id="Message" required>Please write your inquiry here.</textarea>
</div>
<div>
<button type="submit">Submit</button>
</div>
<div>
<button type="reset">Reset</button>
</div>
</form>
我已使用必要的用户名,密码等替换了我的生产代码中的所有[通用标签]。
答案 0 :(得分:0)
所以错误是:
一些建议:
var_dump
快乐编码:)