zoukankan      html  css  js  c++  java
  • header("Location:")应该注意的几个问题

    header("Location:blog.my400800.cn ") 作为php的转向语句 。其实在使用中,他有几点需要注意的地方。

    1、要求header前没有任何输出

    但是很多时候在header前我们已经输出了好多东西了,但是此时如果再次header的话,显然是出错的,在这里我们启用了一个ob的概念,这个东东的意思是在服务器端先存储有关输出,等待适当的时机再输出,而不是像现在这样运行一句,输出一句,发现header语句就只能报错了。

    具体的语句有: ob_start(); ob_end_clean();ob_flush();.........

    2、在header("Location:www.my400800.cn")后要及时exit

    否则他是会继续执行的,虽然在浏览器端你看不到相应的数据出现,但是如果你进行抓包分析的话,你就会看到下面的语句也是在执行的。而且被输送到了浏览器客户端,只不过是没有被浏览器执行为html而已(浏览器执行了header进行了转向操作)。

    所以,标准的使用方法是

    ob_start();

    ........

    if ( something ){

    ob_end_clean();

    header("Location:www.my400800.cn ");

    exit;

    else{

    ..........

    ob_flush(); //可省略

  • 相关阅读:
    Key and Certificate Conversion
    openssl
    python http通信实现
    鼠标右键添加cmd
    好文章
    wireshark里无网络接口解决办法
    python垃圾回收
    终于有人把 Docker 讲清楚了
    mongodb的监控与性能优化
    mongodb创建超级用户和普通用户(对应数据库的用户)
  • 原文地址:https://www.cnblogs.com/jishu/p/1940081.html
Copyright © 2011-2022 走看看