PHP 邮件总是给我 undefined index ,有帮助吗?

标签 php jquery ajax email

我有一个联系表单脚本,我向其中添加了一些字段,与其余字段相同,但提交时的新变量给出了未定义索引的“通知”,并且变量不会填充。我像这样抓取它们 POST,

$name     = $_POST['name'];
$website  = $_POST['website'];
$company  = $_POST['company'];
$addy     = $_POST['addy'];
$email    = $_POST['email'];
$phone    = $_POST['phone'];

姓名、电子邮件和电话都可以使用,但网站、爸爸和公司不行。

抓取它的 JavaScript 看起来像这样,

$.post(action, { 
        name: $('#name').val(),
        email: $('#email').val(),
        website: $('#website').val(),
        company: $('#company').val(),
        addy: $('#addy').val(),
        phone: $('#phone').val(),

..etc

什么可能导致这种情况?我不确定还有什么其他代码会有帮助,谢谢。

编辑以添加 HTML。

这是 HTML 中的一些表单代码,我看不到任何我错过的内容..

<form method="post" action="send_mail.php" name="contactform" id="contactform">

        <fieldset>

        <legend>Please fill in the following form to contact us</legend>

        <label for=name accesskey=U><span class="required">*</span> Your Name</label>
        <input name="name" type="text" id="name" size="30" value="" /> 

        <br />
        <label for=email accesskey=E><span class="required">*</span> Email</label>
        <input name="email" type="text" id="email" size="30" value="" />

        <br />
        <label for=website accesskey=W>Website</label>
        <input name="website" type="text" id="website" size="30" value="" />

        <br />
        <label for=company accesskey=C>Company</label>
        <input name="company" type="text" id="company" size="30" value="" />

        <br />
        <label for=addy accesskey=A>Address</label>
        <input name="addy" type="text" id="addy" size="30" value="" />

最佳答案

如果值为 false 或空,则帖子不会在 AJAX 调用中包含这些变量。推荐您在 PHP 中使用 isset() 来验证变量是否已设置:

$name     = isset($_POST['name']) ? $_POST['name'] : '';
etc...

详细说明

如果我们在 javascript (jQuery) 中有以下代码:

$.post('url',{
  'foo': 'bar',
  'baz': $('#nonexisting_element').val(),
   'qux': 'quux'
},...);

#nonexisting_element 不存在,它将发送以下内容:

foo=bar&qux=quux

在 PHP 端,以下内容将最终出现在 PHP 数组中:

$_POST = array (
    'foo' => 'bar'
    'qux' => 'quux'
);

关于PHP 邮件总是给我 undefined index ,有帮助吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3080766/

相关文章:

php - Symfony 2 Formtype 查询生成器

php - 在开发过程中保证资源重新加载(通过ajax)的好策略是什么?

php - 如何从 Symfony4 路由器中删除 index.php?

javascript - 将表单数据从 ajax 传输到 php

jquery - 如何知道所有ajax调用何时完成

php - 如何取消设置全局变量。

javascript - 如何从js文件中获取html脚本src值?

javascript - SVG 文本属性加倍 - HTML2CANVAS

javascript - 查询 flickr api

javascript - 没有显示 Ajax 附件的文件数据