修复链接以返回表单或主页

时间:2012-09-25 11:08:50

标签: php

我有点迷失,我试图在用户提交表单时为每条错误消息提供一个链接以返回“表单”页面或“主页”页面。当用户成功提交表单时,它会提供返回表单页面或主页的链接。基本上我想要一个修复链接返回到表单或主页。谢谢你们,请让我知道我能做什么或指导我。

到目前为止,这是我的代码:

<?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>';
    }
}




?>

2 个答案:

答案 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。