Liferay中的HTML表单

时间:2012-10-10 10:25:01

标签: php forms liferay

我在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 个答案:

答案 0 :(得分: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");
%>

答案 1 :(得分:0)

Liferay能够使用PHP Portlet,但你必须做一些配置,也许这​​个链接可以帮助你的案例:http://www.liferay.com/community/wiki/-/wiki/Main/PHP+Portlets

答案 2 :(得分:0)

我在版本6.2中为$ _POST params的php portlet出了问题。解决方案是将portlet前缀以这种方式放入参数

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

让$ _POST ['foo']有一个参数

答案 3 :(得分:-1)

可能不是完整的答案,但是你的PHP代码中有两个打开的PHP标记和一个结束标记