【发布时间】:2014-06-08 13:49:27
【问题描述】:
我不知道这个问题是否有答案,但我会试着解释一下,希望有足够聪明的人来帮助我:)。
好的:
对于学校,我有一个网站,您可以在其中登录和注册等。在我的索引中,包含登录和注册表单,但使用 JavaScript 隐藏。通过按一个按钮,您将能够登录或注册(其中一个表格将出现)。但问题是:我正在另一个页面上使用 php 检查注册表单,并且错误以该页面上的表单输出。
但是,当您返回注册/登录页面时,它当然是隐藏的,并且所有输入都从用户那里消失了,他们必须重新输入所有内容。我表单中的这个<? if(isset($_POST['example'])){echo htmlentities ($_POST['example']);} ?> 不再起作用了。将其他页面中的代码放入我的索引中似乎不是一种选择。
提前感谢您的回复,
保罗
编辑 - 我将发布一些代码以使其更清晰。要隐藏和切换的javascript:
'$(document).ready(function(){
$("#login").hide();
$("#registerincl").hide();
$("#loginb").click(function(){
$("#login").toggle();
$("#loginb").hide();
$("#guest").hide();
$("#registerincl").hide();
$("#register").hide();
$("#hh").hide();
});
$("#register").click(function(){
$("#registerincl").toggle();
$("#register").hide();
$("#loginb").hide();
$("#guest").hide();
$("#hh").hide();
$("hr").hide();
});
$('#guest').click(function() {
window.location='guest.php';
});
});'
当然是我的注册验证页面的链接:
<form action="/register" method="post" target="">
还有一些php代码
if (isset($_GET['success']) === true && empty($_GET['success']) === true) {
echo 'Je bent geregistreerd. Ga naar je email en activeer je account!';
} else {
if (empty($_POST) === false && empty($errors) === true) {
$register_data = array(
'username' => $_POST['username'],
'joined' => $_POST[$time],
'password' => $_POST['password'],
'first_name' => $_POST['first_name'],
'last_name' => $_POST['last_name'],
'email' => $_POST['email'],
'email_code' => md5($_POST['username'] + microtime())
);
register_user($register_data);
header('Location: register.php?success');
exit();
} else if (empty($errors) === false) {
//echo output_errors($errors);
}
<form action="/register.php" method="post">
<ul class="login">
<li>
<h1>We konden je niet registreren!</h1>
<?php
echo output_errors($errors);
}
?>
</li>
<li>
<br><br><br><a href="index">Probeer opnieuw</a>
</li>
</ul>
</form>
【问题讨论】:
-
1.您可能应该发布更多代码以获得准确的答案。 2. 在处理错误的第 2 页上,您可以将用户提供的值放入 $_SESSION 变量中。在您的表单中,您只需将 $_SESSION 值放入输入字段即可。
-
使用 AJAX 将请求发送到您的 PHP,然后它应该提供适当的响应对象,您可以在页面上呈现该对象,同时保持表单值
-
Yoda 的方法会更简洁、更专业 - 但可能您将不得不重新编写大量代码。
-
您是否有可用的 jQuery 或将其添加到此项目的能力?呃,我讨厌写那个,如果你这样做的话,这将是一个快速解决这个问题的方法。
-
@Yoda 这听起来是个好主意,但我该怎么做呢? :$
标签: javascript php validation show-hide