0

我在 Liferay 中制作了一个简单的 HTML 表单。提交表单后,其内容应发送至我的电子邮件地址,并显示“谢谢”一行。我已经用 php 完成了动作部分。但提交后,我得到的只是“谢谢”部分,表格没有提交到我的电子邮件地址。

知道为什么这不起作用吗?我一点也不擅长 PHP。只有基础。

有没有其他方法可以做到这一点?例如用javascript?虽然这可能不是一个好的选择。

我正在使用 Liferay 6.1 和 Tomcat 7。

HTML 表单:

<form name="form" method="post" action="form.php">
<table>
</tr>
<tr>
 <td>
  <label for="first_name">First Name</label>
 </td>
 <td>
  <input  type="text" name="first_name" maxlength="50" size="30">
 </td>
</tr>

<tr>
 <td>
  <label for="last_name">Last Name</label>
 </td>
 <td>
  <input  type="text" name="last_name" maxlength="50" size="30">
 </td>
</tr>
</table>
</form>

PHP:

<?php
if(isset($_POST['email'])) {

    // Email where form is sent:
    $email_to = "myemail@mydomain.com";


Thank you!

<?php
}
die();
?>
4

3 回答 3

1

终于用JSP得到了答案,我从学生时代就没有用过。这是代码,以防有人想尝试。

<%@ page import="sun.net.smtp.SmtpClient, java.io.*, javax.servlet.http.HttpServletResponse, javax.servlet.jsp.PageContext,java.util.*" %>
<%
 String from= request.getParameter("from");
 String to= request.getParameter("to");

 try{
     SmtpClient client = new SmtpClient("smtp.mysitedomain.com");
     client.from(from);
     client.to(to);
     PrintStream message = client.startMessage();
     message.println("From: " + from);
     message.println("To: " + to);
     message.println();
     Enumeration paramNames = request.getParameterNames();
     while(paramNames.hasMoreElements()) {
       String paramName = (String) paramNames.nextElement();
       String paramValue = request.getParameter(paramName);
       message.println(paramName + ":" + paramValue);
      }
     client.closeServer();
  }
  catch (IOException e){    
     System.out.println("ERROR IN DELIVERING THE FORM:"+e);
  }
 response.sendRedirect("thanks.htm");
%>
于 2012-10-12T09:59:57.077 回答
0

Liferay 能够使用 PHP Portlets,但是您必须进行一些配置,也许这​​个链接可以帮助您的情况:http ://www.liferay.com/community/wiki/-/wiki/Main/PHP+Portlets

于 2012-10-10T10:53:06.193 回答
0

对于 $_POST 参数,我在 6.2 版中遇到了 php portlet 的问题。解决方案是以这种方式将 portlet 前缀放在参数中

<input name="_SamplePHP_WAR_samplephpportlet_foo" type="text" />

这将使 $_POST['foo'] 有一个参数

于 2015-01-16T19:50:32.577 回答