以下是表格:
<form id="secursendmsg" action="server.php" method="post">
<div id="body_errors">
</div>
<textarea id="msg_body" name="msg_body'">
</textarea>
<script type="text/javascript">
function showMe (box) {
var chboxs = document.getElementsByName("read");
var vis = "none";
for(var i=0;i<chboxs.length;i++) {
if(chboxs[i].checked){
vis = "block";
break;
}
}
document.getElementById(box).style.display = vis;
}
</script>
<p id="notifycheck" class="notify">
<input type="checkbox" name="read" name="notify" onclick="showMe('notify')"/>
<label for="id_notify">
Enable Read Receipts
</label>
</p>
<div id="notify" style="display:none">
<div id="email_errors">
</div>
<div class="left">
<p>
<label for="email">
Contact email (suggest Anonmail address):
</label>
<br>
<input id="email" type="text" name="sender_email" size="35" rows="3" maxlength="100"/>
</p>
</div>
</div>
<p id="pwrapper">
<div class="button1">
<i class="fa fa-lock"></i> Submit
</div>
<div class="settings">
<i class="fa fa-cog" style="font-size: 20px;">
</i>
</div>
</div>
</form>
我的PHP代码如下:
<?
if( $_POST )
{
$con = mysql_connect("192.99.xxx.xxx","root","LAxxxxxd!");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("SecurSend", $con);
$sent = $_POST['msg_body'];
$email = $_POST['email'];
$sent = mysql_real_escape_string($sent);
$email = mysql_real_escape_string($email);
$query = "
INSERT INTO `SecurSend`.`SecurMSG` (`email`,`sent`) VALUES ('".$sent."','".$email."');";"
mysql_query($query);
echo "<h2>Test Complete!</h2>";
mysql_close($con);
}
?>
无论如何,我从来没有得到回声,信息也没有填充。我无法理解为什么。形式&amp; PHP不托管在服务器上,它通过Cordova托管在应用程序中。
答案 0 :(得分:1)
更改此
$email = $_POST['email'];
到
$email = $_POST['sender_email'];
您已将表单中的电子邮件命名为sender_email
,并在php中使用了email
。
此外,$query
字符串中还有一个额外的双引号。删除该代码后将是:
$query = "INSERT INTO SecurSend.SecurMSG(email,sent)VALUES('".$sent."','".$email."')";
就您所显示的代码而言,您未提交表格。
所以改变
<div class="button1">
<i class="fa fa-lock"></i> Submit
</div>
到
<button class="button1" type="submit">
<i class="fa fa-lock"></i> Submit
</button>
答案 1 :(得分:1)
除了email
文本名称问题之外,你的sql行搞砸了:
$query = "INSERT INTO SecurSend.SecurMSG(email,sent)VALUES('".$sent."','".$email."')";