php/javascript邮件表单索引错误
Undefined Index error for a php/javascript mail form
不知道我做错了什么。我设置了一个简单的php邮件表单,使用javascript验证。我干这行没多久了,希望你能帮帮我。我得到这样的错误,如"通知:未定义的索引:cr[first_name] in/home/content/17/8543117/"
This is the form processing script:
$to = "alexmoverguz@gmail.com";
$subject = "You have a new lead!";
$first_name = $_POST['cr[first_name]'];
$last_name = $_POST['cr[last_name]'];
$phone = $_POST['cr[phonecr]'];
$phoneprefix = $_POST['cr[phonecr2]'];
$phonesuffix = $_POST['cr[phonecr3]'];
$email = $_POST['cr[email]'];
$zip = $_POST['cr[zip]'];
$message = '';
$headers = "From: $first_name 'n'n $last_name 'n'n $phone 'n'n $phoneprefix 'n'n
$phonesuffix 'n'n $email 'n'n $zip";
$sent = mail($to,$subject,$headers);
if($sent)
{
$_SESSION['success'] = '<p class="error">Your inquiry has been sent!</p>';
header('Location: index.php?e=inquiry_sent');
exit();
}
?>
格式是:
<?php
if (isset($_REQUEST['e']))
if ( $_REQUEST['e']=="inquiry_sent"){
echo "<p class='"error'">Thanks! We will contact you shortly!</p>";
}else{
echo "<p class='"error2'">Your inquiry failed, please try again</p>";
}
?>
<form name="cr" action="thankyou.php" method="post" onSubmit="return form_check();">
<input type="hidden" name="creditoptin" value="yes" />
<div id="cform">
<div class="crp">
<label for="first_name">First Name</label>
<input id="first_name" type="text" name="cr[first_name]"
value="" style="width:160px;" />
</div>
<div class="crp">
<label for="last_name">Last Name</label>
<input id="last_name" type="text" name="cr[last_name]"
value="" style="width:160px;" />
</div>
<div class="crp">
<label for="phonecr">Phone</label>
<input name="cr[phonecr]" style="width:34px;" id="phonecr"
maxlength="3" onkeyup="force_numeric(this);autotab(this,'phonecr2');" value="" /> -
<input name="cr[phonecr2]" style="width:34px;"
id="phonecr2" maxlength="3" onkeyup="force_numeric(this);autotab(this,'phonecr3');"
value="" /> -
<input name="cr[phonecr3]" style="width:44px;"
id="phonecr3" maxlength="4" onkeyup="force_numeric(this);" value="" />
</div>
<div class="crp">
<label for="email">Email Address</label>
<input id="email" type="text" name="cr[email]" maxlength="60" value="" style="width:160px;" />
</div>
<div class="crp">
<label for="zip">Zip Code</label>
<input id="zip" name="cr[zip]" maxlength="5"
onkeyup="force_numeric(this)" value="" />
</div>
<div id="submt">
<input type="image" src="images/submit.png" value="Submit"
onclick="if(typeof sub_pop == 'function')sub_pop();" />
</form>
谢谢你们了!
您应该使用$first_name = $_POST['first_name'];
而不是$first_name = $_POST['cr[first_name]'];
。只有输入元素的名称被翻译成$_POST
变量,没有表单的名称。
同样,你没有在你的代码中做任何输入消毒,而只是对用户在你的表单中输入的任何内容进行邮寄;这可能存在安全风险。您应该查看有关XSS和SQL注入等主题的Web,并在进一步处理用户输入之前对其进行消毒。
我不明白,错误告诉你到底是什么错了。将您的输入名称更改为first_name
并检索POST,它显然不像cr[first_name]
相关文章:
- 传递给 PHP 表单时 JavaScript 动态变量上的未定义索引
- 嵌套在表单中的引导下拉菜单:输入时选项卡索引中断
- 未定义的索引-表单不通过javascript将值发送到php代码
- PHP表单适用于索引,但不适用于联系我们页面
- 获取表单元素的索引
- 第三方(随机网站访问者)是否有可能通过 php 表单更新.html索引文件中的某些.js代码
- 索引编号的JavaScript克隆表单元素问题
- jQuery选择器按表单索引和输入名称
- javascript中的表单元素索引,用于jquery.change函数
- 如何使用Javascript获取表单中文本字段数组的索引
- php/javascript邮件表单索引错误
- 在表单中使用name属性中的增量索引创建新字段时,似乎不考虑变量
- 清除表单并重定向回索引
- 如何在表单提交后刷新我的索引页
- 如何设置索引表单变量
- 谷歌会索引表单内的按钮单击吗?
- 添加新表单元素时更改html表单索引
- JS->输入的表单验证.使用 for 循环获取所有输入索引
- 使用Pjax提交表单时未定义索引
- Javascript表单cookie -选择只打开前10个索引的cookie