如何在此联系表中使用OOP PHP?

时间:2018-08-24 15:33:15

标签: php

        <div class="form">
          <div id="errormessage"></div>
          <form action="" method="post" role="form" class="contactForm">
            <div class="form-row">
              <div class="form-group col-md-6">
                <input type="text" name="name" class="form-control" id="name" placeholder="Your Name" data-rule="minlen:4" data-msg="Please enter at least 4 chars" />
                <div class="validation"></div>
              </div>
              <div class="form-group col-md-6">
                <input type="email" class="form-control" name="email" id="email" placeholder="Your Email" data-rule="email" data-msg="Please enter a valid email" />
                <div class="validation"></div>
              </div>
            </div>
            <div class="form-group">
              <input type="text" class="form-control" name="subject" id="subject" placeholder="Subject" data-rule="minlen:4" data-msg="Please enter at least 8 chars of subject" />
              <div class="validation"></div>
            </div>
            <div class="form-group">
              <textarea class="form-control" name="message" rows="5" data-rule="required" data-msg="Please write something for us" placeholder="Message"></textarea>
              <div class="validation"></div>
            </div>
            <div class="text-center"><button type="submit" name="btnsubmit">Send Message</button></div>
          </form>
        </div>
      </div>
    </section>

这是我具有数据库名称msolution和表用户的联系人 如何使用OOP PHP编写此联系表 如果有人可以通过提供代码帮助我,谢谢您的帮助

1 个答案:

答案 0 :(得分:1)

我要说的第一件事是,问问如何将OOP应用于表单是没有意义的。我想您需要的是一个PHP脚本示例,该脚本使用OOP处理来自表单的数据。

希望您只是迈出第一步,这次我想为您提供帮助。

首先,您可以在ContactForm.php文件中声明所需的类。此类应具有您在联系表单中具有的任何字段的属性,该属性都受“ Encapsulation”(封装)概念保护,并具有自己的setter和getter方法:

<?php

class ContactForm {
    protected $name;
    protected $email;
    protected $subject;
    protected $message;

    public function setName($name){
        $this->name = $name;
    }
    public function getName(){
        return $this->name;
    }
    // do the same for email, subject and message fields
}

一旦有了此类,就可以编写一个包含contactForm.php类的脚本contact.php,并使用它来处理POST HTTP中的数据:

<?php

require 'ContactForm.php'; // assuming they are in the same folder

$contactForm = new ContactForm();
$contactForm->setName($_POST['name']);
// do the same for email, subject and message fields

// after all set, you can use getters if you need to work with the data in the class, example:
$contactForm->getName();

一些注意事项:

  • 如果您不知道封装是什么,请检查this link
  • 这是一个非常通用的示例,仅带有名称,但是在注释之后,您可以添加所需的所有字段
  • 我没有考虑任何安全检查:您应先使用$ _POST中的数据进行验证,以防止不良数据和攻击

希望我很清楚,如果不能让我知道。