Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.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
什么';在PHP中使用表单是一种很好的做法吗?您可以在表单中使用OOP PHP吗?_Php_Mysql_Html_Oop - Fatal编程技术网

什么';在PHP中使用表单是一种很好的做法吗?您可以在表单中使用OOP PHP吗?

什么';在PHP中使用表单是一种很好的做法吗?您可以在表单中使用OOP PHP吗?,php,mysql,html,oop,Php,Mysql,Html,Oop,现在我正在为一个评论区、一个登录区创建一个表单,并为我正在做的一个网站发送电子邮件。我使用的代码来自我学习的教程,其中包含太多HTML。这是我知道如何创建表单和验证数据的唯一方法。我想问,是否有更好的方法来创建表单,以及是否有方法在OOP PHP中创建表单?我想学习从基本的东西到OOP 下面是我目前使用的代码示例: <?php include 'includes/validation.php' ?> <!-- START CONTENT --> <div id

现在我正在为一个评论区、一个登录区创建一个表单,并为我正在做的一个网站发送电子邮件。我使用的代码来自我学习的教程,其中包含太多HTML。这是我知道如何创建表单和验证数据的唯一方法。我想问,是否有更好的方法来创建表单,以及是否有方法在OOP PHP中创建表单?我想学习从基本的东西到OOP

下面是我目前使用的代码示例:

<?php include 'includes/validation.php' ?>

<!-- START CONTENT -->
  <div id="mainContent">
  <div class="portContentTop"><img src="graphx/image.gif" alt="" border="0" /></div>
  <div class="portContent">
   <img src="graphx/image.gif" alt="Contact Me" border="0" /><h1 class="hidden">Contact</h1><br />
            If you wish to contact me, please fill out the form or send me an email at <a href="mailto:user@gmail.com">user@gmail.com</a>.
   <br />
             <? if( isset($_POST['send'])&& (!validateName($_POST['name']) || !validateEmail($_POST['email']) || !validateMessage($_POST['message']) ) ):?> 
            <div id="errorMessage">
             <ul>
                 <? if(!validateName($_POST['name'])):?>
                 <li>Your name must be 4 characters long.</li>
                    <? endif ?>
                    <? if(!validateEmail($_POST['email'])):?>
                    <li>Your email address has an error.</li>
     <? endif ?>
                    <? if(!validateMessage($_POST['message'])):?> 
                    <li>Your comment must be 10 characters long.</li>
                    <? endif ?>
             </ul>
            </div>
            <?php elseif(isset($_POST['send'])):?>
            <?php
    $name=strip_tags($_POST['name']);
    $email=strip_tags($_POST['email']);
    $message=strip_tags($_POST['message']);
    $subject= "A message from me was submitted by ".$name." ";
    $sentto= "user@gmail.com";

    $contents = "Name: ".$name. "\n".
       "Email: ".$email. "\n".
       "Message: ".$message. "\n";

    mail($sentto, $subject, $contents);

   ?>
            <div id="errorMessage">
                <ul class="errorValid">
                 <li>Your message has been sent.</li>
             </ul>
            </div>
            <? endif?>
   <form method="post" id="customForm" name="customForm" action="" >
             <table  border="0" align="center" cellpadding="0" cellspacing="0" style="padding:0px; margin:0px;">
                  <tr valign="top">
                    <td align="center"><img src="graphx/h_name.gif" border="0" alt="Name:" /></td>
                    <td><input class="contactInput" id="name" name="name" type="text" size="30" /></td>
                  </tr>
                  <tr valign="top">
                    <td align="center"><img src="graphx/h_email.gif" border="0" alt="Email:" /></td>
                    <td><input class="contactInput" id="email" name="email" type="text" size="30" /></td>
                  </tr>
                  <tr valign="top">
                    <td align="center"><img src="graphx/h_comments.gif" border="0" alt="Comments:" /></td>
                    <td><textarea id="message" name="message" cols="30" rows="15" wrap="off"  class="contactInput2"></textarea></td>
                  </tr>
                  <tr valign="top">
                    <td></td>
                    <td align="left"><input id="send" name="send" type="submit" value="Submit" ></td>
                  </tr>
               </table>
          </form>
 </div>
<!-- END CONTENT -->

联系方式
如果您希望与我联系,请填写表格或发送电子邮件至。
  • 您的姓名长度必须为4个字符
  • 您的电子邮件地址有错误
  • 您的评论长度必须为10个字符
  • 您的邮件已发送

是的,创建表单有“更好”的方法。您可能想看看流行的框架是如何做到这一点的

下面是来自Zend框架的示例


那很酷。有没有教程或者没有框架的方法?我正在尝试在没有框架的情况下学习,看看我是否能做到。patForms在各个方面都更好!
  $form = new Zend_Form();
  $form->setAction('/user/login')
       ->setMethod('post');

  // Create and configure username element:
  $username = $form->createElement('text', 'username');
  $username->addValidator('alnum')
           ->addValidator('regex', false, array('/^[a-z]+/'))
           ->addValidator('stringLength', false, array(6, 20))
           ->setRequired(true)
           ->addFilter('StringToLower');

  // Create and configure password element:
  $password = $form->createElement('password', 'password');
  $password->addValidator('StringLength', false, array(6))
           ->setRequired(true);

  // Add elements to form:
  $form->addElement($username)
       ->addElement($password)
       // use addElement() as a factory to create 'Login' button:
       ->addElement('submit', 'login', array('label' => 'Login'));