我刚刚创建了一个表单,我在提交时遇到了问题。
示例:
这里我有edit.php的链接,我可以通过此链接获取所有信息。
的index.php
<a href="change/info/edit.php?url= '
. $row['url']
.'&title='. $row['title']
.'&info='. $row['info']
.'&name='. $row['name']
.'&date='. $row['date'] .' " target="_blank">Edit</a>
这里我从index.php获取所有信息,如下所示:
edit.php:
<?php echo $_GET["title"]; ?>
<?php echo $_GET["info"]; ?>
<?php echo $_GET["date"]; ?>
<?php echo $_GET["name"]; ?>
<?php echo $_GET["url"]; ?>
编辑: Ares Draguna
<?php session_start();
if(isset($_POST['Submit'])){
// code for check server side validation
if(empty($_SESSION['captcha_code'] ) || strcasecmp($_SESSION['captcha_code'], $_POST['captcha_code']) != 0){
$msg='<span class="fail">Please try again.</span>';// Captcha verification is incorrect.
}else{// Captcha verification is Correct. Final Code Execute here!
}
}
但是当我点击提交按钮并且验证码为false时页面刷新并且我丢失了所有信息,我必须在浏览器中回来再次查看所有信息。
那么当我点击提交按钮并且验证码为假时,我需要保留信息。
提前致谢!
答案 0 :(得分:1)
要保留表单上的信息,您可以设置一些会话变量,如:
$_SESSION['title'] = $_GET["title"];
$_SESSION['info'] = $_GET["info"];
等等......并测试它:
if(capcha == false) {
//do something
} else {
//unset the session variables
}
在这种情况下,如果capcha为false,那么您可以使用会话中的内容重新填充表单输入,因此即使重新加载页面后,您仍然可以存储这些信息。如果capcha为true,则记得取消设置会话变量。
但是,如果完全相同的页面刷新,则表示您拥有$ _GET中的值,因此您可以毫无问题地使用它。这实际上取决于代码的结构。
L.E:
if(isset($_POST['Submit'])){
$_SESSION['captcha_code'] = $_GET['captcha_code'];
$_SESSION['other_info'] = $_GET['other_info'];
// code for check server side validation
if(empty($_SESSION['captcha_code'] ) || strcasecmp($_SESSION['captcha_code'], $_POST['captcha_code']) != 0){
$msg='<span class="fail">Please try again.</span>';// Captcha verification is incorrect.
}else{
// Captcha verification is Correct. Final Code Execute here!
}
}
在视图文件中,检查会话变量,如果isset submit post,则会设置会话变量。
希望它有所帮助!
继续编码!
顷。