表单成功后重定向

时间:2011-04-04 18:25:06

标签: php redirect

php脚本的

pastebin:

http://pastebin.com/b43cZjLQ

// Form success
        // Remove the form element form the dom
        if($form_success){

            // Hide the form
            $form = $dom->getElementsByTagName('form')->item(0); 
            $form->setAttribute("style", "display: none");

            // Callbacks
            foreach($this->_callbacks as $data){
                if(is_callable($data['callback'])){
                    $result = call_user_func($data['callback'], $_POST, $data['config']);
                    $hide_id = $result ? self::ERROR_MESSAGE_ID : self::SUCCESS_MESSAGE_ID;
                    $this->hideIdElement($dom, $hide_id);   
                }else{
                    trigger_error( "Form handler is not callable", E_USER_ERROR);
                }
            }

        }

    }else{
        $this->hideIdElement($dom, self::SUCCESS_MESSAGE_ID);
        $this->hideIdElement($dom, self::ERROR_MESSAGE_ID);     
    }

    return str_replace(array(   '<?xml version="1.0" standalone="yes"?>', 
                                '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">',
                                '<html><body>', 
                                '</body></html>'), '',$dom->saveHTML());

}

如果表单提交成功,我要对此脚本执行的操作是重定向到页面(success.html)。

我是PHP的新手,非常感谢您提供的任何帮助。

感谢您花时间看这个,非常感谢。

编辑:LOL对不起第一个GIANT CODE DUMP!固定的。

3 个答案:

答案 0 :(得分:1)

尝试

if( !empty( $_POST ) ) {
    header( "Location: success.html" ) ; exit ;
}

是的,要阅读的代码太多了,只需显示你的帖子操作指向的部分

答案 1 :(得分:1)

使用功能header,您可以将用户重定向到任何其他页面。

示例:

header('location:success.html');
die();

文档:http://php.net/manual/en/function.header.php

header的常见“gotchya” - 确保脚本的其他部分没有任何输出。任何echoprint语句或任何错误输出(通知,警告等)都可能导致header语句失败。

答案 2 :(得分:1)

echo "<script>location.href='success.html';</script>"; 

:)