我的PHP框架出了问题。我目前没有使用框架模板,我选择不使用框架模板,因为我不确定如何使用框架模板。这就是我的代码的结构:
的index.php:
<?php
require_once( 'page_elements.php' );
?>
<body>
<?php echo content();?>
</body>
page_elements.php:
<?php
function content() {
?>
<form id='signup' method='post' action=''>
<input type="text" size="17" name="signup" title="Email" style="color:#888;" value="Enter email address" />
<input type='submit' value='Submit'> </input>
</form>
<?php if(isset($formComplete)) {
echo "<p> $formComplete </p>";
}
} ?>
表单php脚本:
if(isset($_POST('Email'))
{
if($_POST('Email') !== ''){
mysql code enters email address...
$formComplete = 'Thanks, your email address has been taken';
}
}
$ formComplete来自处理表单数据的php脚本。我的问题是如何在我的网站上包含脚本来处理提交表单中的数据,其中函数content()仍然会识别$ formComplete?
提前致谢
答案 0 :(得分:0)
表单是否完整将在$formComplete
所在的脚本中检查,而不是在提交表单的脚本中。 formComplete
对表单发送的日期做了些什么,对吗?
然后使用前端的js检查表单的有效性,并将formComplete
保留在该脚本中,进行进一步的服务器端操作。
伪行动:
氟利昂端:
form submit
check form with js
send form data to backend
后端:
formComplete
do something with data
say your thanks
答案 1 :(得分:0)
为什么不将$ formComplete作为参数发送到您的函数:
function content($formComplete = '') {
...
}
echo content($formComplete);
另外,即使它可能不是一个好习惯,因为$ formComplete基本上是一个处理表单数据的函数(无论是$ _POST还是$ _GET),你实际上可以调用处理$ formComplete变量的函数你的content()函数。例如:
function content(){
$formComplete = get_form_complete($_POST); // or $_GET depending on your form method type
// do the rest here
}