gpt4 book ai didi

php - 在 PHP 中使用表单的最佳做法是什么?您可以在表单中使用 OOP PHP 吗?

转载 作者:可可西里 更新时间:2023-11-01 08:22:29 25 4
gpt4 key购买 nike

现在我一直在为评论部分、登录部分创建表单,并为我正在做的网站发送电子邮件。我使用的代码来 self 学习的教程,其中包含太多 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 -->

最佳答案

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

这是来自 Zend Framework 的示例 http://www.framework.zend.com/manual/en/zend.form.quickstart.html

  $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'));

关于php - 在 PHP 中使用表单的最佳做法是什么?您可以在表单中使用 OOP PHP 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3432050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com