我有点迷失,我试图在用户提交表单时为每条错误消息提供一个链接以返回“表单”页面或“主页”页面。当用户成功提交表单时,它会提供返回表单页面或主页的链接。基本上我想要一个修复链接返回到表单或主页。谢谢你们,请让我知道我能做什么或指导我。
到目前为止,这是我的代码:
<?php
//
//umask(0007)
//mkdir($newdir, 02770);
//$filename = "../../data/status.txt";
$errors = array();
$permissionsArray = (isset($_POST['permission']) ? $_POST['permission'] : null);
if (isset($_POST["statuscode"]))
{
$statusCode = $_POST["statuscode"];
$patternCode = "/^S[0-9]{4}$/";
if (preg_match($patternCode, $statusCode))
{
$ans = "";
$length = strlen($statusCode);
echo $statusCode . "<br />";
}
}
else
{
array_push($errors, "Please fill in Status Code as they are mandatory field");
}
if (isset ($_POST["status"]))
{
$status = $_POST["status"];
$pattern = "/^[a-zA-Z0-9\s\.,!?]*$/";
if (preg_match($pattern, $status))
{
echo $status . "<br />";
}
}
else
{
array_push($errors, "<b>Error:</b> Please fill in Status as they are mandatory field!");
}
if (isset ($_POST["share"]))
{
$shareButton = $_POST["share"];
echo $shareButton . "<br />";
}
else
{
//Not possible unless in exceptional circumstances
array_push($errors, "Please choose a share");
}
if (!isset($_POST["date"]))
{
$date = date("d/m/y");
echo $date . "<br />";
} else {
$date = $_POST["date"];
}
if (isset($permissionsArray))
{
foreach($permissionsArray as $permission){
echo $permission . "<br />";
}
}
if(isset($statusCode, $status))
{
if(empty($statusCode) || empty($status))
{
array_push($errors, "Please fill in the required part!");
}
if (0 === strlen($statusCode > 5 || $statusCode < 5))
{
array_push($errors, "<b>Error:</b> You characters length is either less or more than 5 characters<br/>");
}
if (0 === preg_match("/\S+/", $statusCode))
{
array_push($errors, "<b>Error:</b> You forgot to fill in Status Code!<br/>");
}
if (0 === preg_match("/\S+/", $status))
{
array_push($errors, "<b>Error:</b> You forgot to fill in the Status! <br/>");
}
if (0 === preg_match($patternCode, $statusCode))
{
array_push($errors, "<b>Error:</b> please make sure that the first letter in Status Code is uppercase 'S' following by 4 numbers. <br/>");
}
if (0 === preg_match($pattern, $status))
{
array_push($errors, "<b>Error:</b> Please make sure to avoid symbols other than \",.?!\" <br/>");
}
}
if (isset($errors))
{
foreach ($errors as $error)
{
echo '<strong>', $error, '</strong>';
}
}
?>
答案 0 :(得分:2)
您可以使用链接在Javascript中调用history.go(-1)
,这实际上与单击浏览器中的后退按钮相同。
例如在PHP(您的文件)中:echo "<a href=\"javascript:history.go(-1)\"> GO BACK </a>";
修改强>
严格的PHP?然后试试这个:
header('Location: ' . $_SERVER['HTTP_REFERER']);
答案 1 :(得分:0)
使用此
$ref = $_SERVER['HTTP_REFERER'];
header("Location:".$ref);
$ _ SERVER ['HTTP_REFERER']为您提供重定向的URL。