Heim >php教程 >php手册 >PHP跳转函数和一个通用的操作提示类的编写

PHP跳转函数和一个通用的操作提示类的编写

WBOY
WBOYOriginal
2016-06-13 09:37:39742Durchsuche

PHP 跳转,即重定向浏览器到指定的 URL,是一个很常见的功能。这种功能也有一些细节性的要求,比如等待多少秒以后跳转,用不用JavaScript实现跳转,等等。下面的跳转方法考虑到很多,并参数化,可以用到具体的项目当中。

<?php      
/**      
 * 重定向浏览器到指定的 URL      
 *      
 * @param string $url 要重定向的 url      
 * @param int $delay 等待多少秒以后跳转      
 * @param bool $js 指示是否返回用于跳转的 JavaScript 代码      
 * @param bool $jsWrapped 指示返回 JavaScript 代码时是否使用 <mce:script type="text/javascript"><!-- 
 标签进行包装      
 * @param bool $return 指示是否返回生成的 JavaScript 代码      
 */        
function redirect($url, $delay = 0, $js = false, $jsWrapped = true, $return = false)         
{         
    $delay = (int)$delay;         
    if (!$js) {         
        if (headers_sent() || $delay > 0) {         
            echo <<<EOT         
    <html>         
    <head>         
    <meta http-equiv="refresh" content="{$delay};URL={$url}" />         
    </head>         
    </html>         
EOT;         
            exit;         
        } else {         
            header("Location: {$url}");         
            exit;         
        }         
    }         
        
    $out = '';         
    if ($jsWrapped) {         
        $out .= '<script language="JavaScript" type="text/javascript">';         
    }         
    $url = rawurlencode($url);         
    if ($delay > 0) {         
        $out .= "window.setTimeOut(function () { document.location='{$url}'; }, {$delay});";         
    } else {         
        $out .= "document.location='{$url}';";         
    }         
    if ($jsWrapped) {         
        $out .= '  
// --></mce:script>';         
    }         
        
    if ($return) {         
        return $out;         
    }         
        
    echo $out;         
    exit;         
}       
?>


一个通用的操作提示类的编写

在设计一些系统的时候,经常需要给用户进行操作提示。这种提示很重要,友好的提示能够提升用户对系统的好感度。操作提示有很多设计,下面是我的一个简陋的方案,仅抛砖引玉。

<?php

class Tips{

	private $tips;
	static private $_instance;
	
	private function __construct($string, $url)
	{
		$this->tips = "
<meta http-equiv=refresh content=4;url=$url>
<p style='border:1px solid #B4D8F4; width:320px; height:120px; margin:0 auto; font-size:12px;'>
	<p style='background-color:#CDE6F9; height:20px;'></p>
	<p align='center' style='font-size:14px; font-weight:bold; margin:20px 0 20px 0;'>$string</p>
	<p align='center'>返回 (4秒后自动返回)</p>
</p>
	";
		return $this->tips;
	}

	public function __toString(){
        return $this->tips;
    }
	
	private function __clone(){}
	
	public static function get_tips($string, $url)
	{
		
		if( FALSE == (self::$_instance instanceof self) )
		{
			self::$_instance = new self($string, $url);
		}
		return self::$_instance;
    }
}

?>

这个类功能很简单,就是实现了4秒后跳转到某个链接,或者点击跳到那个链接。

__toString()这个函数很重要,它可以实现类对象的字符串输出。

如何使用这个类呢?

include_once("./tips_class.php");
$hit = "错误:两次输入的密码不一致";
$jump = "../login.php";
echo $tips = Tips::get_tips($hit, $jump);



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn