【发布时间】:2020-02-23 04:29:45
【问题描述】:
我试图从 React JS 呈现的表单发布表单数据,使用表单的操作部分调用 aq php 文件...我已将表单和附加的 PHP 文件上传到我的网站,但是当表单是填完提交,没有发邮件,url变回首页,php文件的名字打上标签(index.js/contact.php)。
我下面的代码不好吗?
或者这只是不可能使用 React JS 和 PHP 的组合来实现吗?
contactMe.js
import React, { Component } from 'react';
class ContactMe extends Component {
render() {
return (
<div className='contact-body'>
<div className='contact-right'>
<div className='contact-side'>
<h2 style={{ fontSize: '25px', fontFamily: 'Anton', paddingTop: '10px'}}>
Contact Me
</h2>
<hr />
<div className='contact-list'>
<div className='form'>
<form action="contact.php" method='post'>
<input type="text" name="name" placeholder="Your name..." />
<input type="email" name="email" placeholder="Your email..." />
<textarea name="message" placeholder="Message me..."></textarea>
<input type="submit" value="Submit" />
</form>
</div>
</div>
</div>
</div>
</div>
)
}
}
export default ContactMe;
contact.php
<?php
if (isset($_POST['submit'])) {
$userName = $_POST['name'];
$userEmail = $_POST['email'];
$userMessage = $_POST['message'];
$emailSubject = 'New Message From My Website Visitor';
$emailBody = 'Visitor Name: ' . $userName . '\n\n' .
'Visitor Email: ' . $userEmail . '\n\n' .
'Message: ' . $userMessage . '\n\n';
$emailTo = 'james_ross@outlook.fr';
$headers = 'From: ' . $emailFrom . '\n\n';
mail($emailTo, $emailSubject, $emailBody, $headers);
header('Location: index.js/mailsent');
}
如果我需要使用另一种技术/语言来代替 PHP,请告诉我一个不错的源来阅读它,谢谢,
【问题讨论】:
标签: php reactjs forms email form-submit