Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 节点JS应用程序未处理php邮件程序代码_Javascript_Php_Html_Node.js_Phpmailer - Fatal编程技术网

Javascript 节点JS应用程序未处理php邮件程序代码

Javascript 节点JS应用程序未处理php邮件程序代码,javascript,php,html,node.js,phpmailer,Javascript,Php,Html,Node.js,Phpmailer,我有一个简单的网站建立在NodeJS框架上,用php邮件处理我的联系方式。我似乎无法让它工作,我想知道NodeJS本身是否存在无法处理php代码的固有问题。它有一个html页面index.html,其中包含一个联系人表单代码: <div class="container"> <div class="row"> <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offs

我有一个简单的网站建立在NodeJS框架上,用php邮件处理我的联系方式。我似乎无法让它工作,我想知道NodeJS本身是否存在无法处理php代码的固有问题。它有一个html页面index.html,其中包含一个联系人表单代码:

 <div class="container">
        <div class="row">
            <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
                <h2 class="featurette-heading" style="text-align: center;">Message</h2>
                <h3 class="text-muted">Want to book an appointment? Send me a message and I'll contact you. Make sure you include your name, phone number, email, and when you'd like to book. It's that easy!</h3>
                <form name="sentMessage" id="contactForm" action="contact_me.php" method="post" novalidate>
                    <div style="background-color: white; border: 1px solid #0085a1;" class="row control-group">
                        <div class="form-group col-xs-12 floating-label-form-group controls">
                            <label></label>
                            <input type="text" class="form-control" placeholder="Name" id="name" name="name" required data-validation-required-message="Please enter your name.">
                            <p class="help-block text-danger"></p>
                        </div>
                    </div>
                    <div style="background-color: white; border: 1px solid #0085a1;" class="row control-group">
                        <div class="form-group col-xs-12 floating-label-form-group controls">
                            <label></label>
                            <input type="email" class="form-control" placeholder="Email Address" id="email" name="email" required data-validation-required-message="Please enter your email address.">
                            <p class="help-block text-danger"></p>
                        </div>
                    </div>
                    <div style="background-color: white; border: 1px solid #0085a1;" class="row control-group">
                        <div class="form-group col-xs-12 floating-label-form-group controls">
                            <label></label>
                            <input type="tel" class="form-control" placeholder="Phone Number" id="phone" name="phone" required data-validation-required-message="Please enter your phone number.">
                            <p class="help-block text-danger"></p>
                        </div>
                    </div>
                    <div style="background-color: white; border: 1px solid #0085a1;" class="row control-group">
                        <div class="form-group col-xs-12 floating-label-form-group controls">
                            <label></label>
                            <textarea rows="5" class="form-control" placeholder="Message" id="message" name="message" required data-validation-required-message="Please enter a message."></textarea>
                            <p class="help-block text-danger"></p>
                        </div>
                    </div>
                    <br>
                    <div id="success"></div>
                        <div class="row">
                            <div class="form-group col-xs-12">
                                <button type="submit" class="btn btn-primary">Send</button>
                            </div>
                        </div>
                    </div>
                </form>
            </div>
        </div>
    </div>

消息
想预约吗?给我发个短信,我会联系你的。确保包括您的姓名、电话号码、电子邮件以及您想预订的时间。就这么简单!


发送
在同一文件夹级别,有一个contact_me.php文件:

<?php
// Check for empty fields
if(empty($_POST['name'])        ||
  empty($_POST['email'])        ||
  empty($_POST['phone'])        ||
  empty($_POST['message'])  ||
   !filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
  {
  echo "No arguments Provided!";
  return false;
  }

$to = 'jcbridwe@gmail.com'; // Add your email address inbetween the '' replacing yourname@yourdomain.com - This is where the form will send a message to.
$email_subject = "Website Contact Form:  $name";
$email_body = "You have received a new message from your website contact form.\n\n"."Here are the details:\n\nName: $name\n\nEmail: 
$email_address\n\nPhone: $phone\n\nMessage:\n$message";
$headers = "From: noreply@yourdomain.com\n"; // This is the email address the generated message will be from. We recommend using something like noreply@yourdomain.com.
$headers = "Reply-To: $email_address";
mail($to,$email_subject,$email_body,$headers);
return true;            
?> 



每当我在表单底部点击“submit”时,就会出现以下错误:“cannotpost/contact_me.php”。经过一些实验,我在php代码中添加了一个echo语句(我对php的理解非常有限),并确定当节点服务器运行时,php似乎没有处理。如果是这种情况,我能做些什么来解决这个问题?在route.js或index.js(在节点的Express Server文件夹下)中是否有我需要添加的内容,以便php邮件程序工作

我学习的节点都是一样的。为什么不想与ExpressJS一起使用?它易于使用和设置。

我的学习节点也一样。为什么不想与ExpressJS一起使用?它易于使用和设置。

您如何运行节点?你的php文件在哪里。?谁在处理php请求?为什么您不能从node发送电子邮件?你为什么需要php来做这件事。用
replacement注释掉字符串yourname@yourdomain.com…
消息收件人。
2。标题
回复:$email\u address
必须没有换行符。@Panther-我不知道你问“你如何运行node?”是什么意思。我的应用程序在Cloud9 IDE上,我使用
$node server
命令运行它,并将更改推送到git和heroku的实时版本。这是一个简单的网站,使用NodeJS可能有些过分,但我想我可能需要在将来添加功能。index.html和contact_me.php文件都位于同一级别的客户机文件夹下。处理php?我没有使用AJAX,如果你是这个意思的话。我之所以使用php,是因为我认为它很简单,我只需要一个简单的
action
command.Node.js对php一无所知。因此,您需要有一个了解它的服务器(Apache、ngnix…),或者从Node.js脚本运行命令行php解释器(可能是最糟糕的想法),或者用Javascript编写表单处理和邮件代码。您如何运行您的节点?你的php文件在哪里。?谁在处理php请求?为什么您不能从node发送电子邮件?你为什么需要php来做这件事。用
replacement注释掉字符串yourname@yourdomain.com…
消息收件人。
2。标题
回复:$email\u address
必须没有换行符。@Panther-我不知道你问“你如何运行node?”是什么意思。我的应用程序在Cloud9 IDE上,我使用
$node server
命令运行它,并将更改推送到git和heroku的实时版本。这是一个简单的网站,使用NodeJS可能有些过分,但我想我可能需要在将来添加功能。index.html和contact_me.php文件都位于同一级别的客户机文件夹下。处理php?我没有使用AJAX,如果你是这个意思的话。我之所以使用php,是因为我认为它很简单,我只需要一个简单的
action
command.Node.js对php一无所知。因此,您需要有一个了解它的服务器(Apache、ngnix…),或者从Node.js脚本运行命令行php解释器(可能是最糟糕的想法),或者用Javascript编写表单处理和邮件代码。好的,我正在尝试了解nodeEmailer。在我已通过
$npm install nodemailer
将nodemailer安装到
node\u modules
目录中。然后,它会告诉您使用SMTP或类似的方式“创建传输对象”。给出了一个代码示例,但它没有告诉您代码的位置(在什么文件中,在什么文件夹中)。它也没有解释它是如何连接到my index.html中的表单的。你能告诉我运输目标代码在哪里吗?我正在看一些教程,但它们都忽略了这些重要的细节。看,我制作了一个工作示例,太好了,谢谢!因此,本质上,传输对象和配置位于Express中routes文件夹下的index.js文件中。这正是我一直在寻找的答案。我正在把它插上电源。我还有一个问题。在您的示例中,index.js文件是哪个文件夹。在node_模块/express或node_模块/NodeEmailer下。我没有任何文件被调用