ホームページ  >  記事  >  バックエンド開発  >  私の Cookie が使用できないのはなぜですか? PHP はこのように書かなければなりませんか?

私の Cookie が使用できないのはなぜですか? PHP はこのように書かなければなりませんか?

WBOY
WBOYオリジナル
2016-06-13 13:16:07822ブラウズ

私の Cookie が使用できないのはなぜですか? PHP はこのように書かなければなりませんか?
これは 2 日前に本に書いたコードです。コメントは自分で書いたものです。以下の login.php ページにログインしましたが、Cookie を取得できませんでしたが、先頭で echo $ を使用しました。 login.php ページの _POST["username"] は、フォームから渡された値を取得できます。cookiemanager クラスに問題があるのか​​、どこかで問題が発生したのでしょうか。


初心者さん、カスタム関数の使い方がまだわかりません。もう一度質問したいのですが、皆さんは PHP でメインコードを別のページに書いてロードするこの方法を使用していますか?それは使用するためですか?質問が少し無知かもしれませんが、これは PHP に慣れるための重要なステップです。

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><?php
class CookieManager{
    public function Get_CookieV($key){    //获取cookie
        return $_COOKIE[$key];
    }
    public function Set_Array_Cookie($arryc){    //获取的cookie数组循环
        foreach($arryc as $key=>$value){
            setcookie($key,$value);
        }
    }
    public function Set_Cookie($key,$value){     //设定
        setcookie($key,$value);
    }
    public function Get_Array_Cookie(){
        return $_COOKIE;
    }
    public function up_Cookie($key,$value){
        setcookie($key,"",$time);
    }
}
global $cm;
if(!isset($cm)){
    $cm=new CookieManager();     //判断是否存在$cm变量,不存在则实例化
}
?>


PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><?php
 ob_start();
 require_once('inc/cookiemanager.php');
 $cm=new CookieManager();
 if(!$cm->Get_CookieV("username")){
     echo <<<EOT

<form id="form1" name="form1" method="POST" action="login.php">
  <label>username:
  <input type="text" name="username" />
  </label>
  <p>password:
    <label>
    <input type="text" name="password" />
    </label>
  </p>
  <p>
    <label>
    <input type="submit" name="ButtonNname" value="登录" />
    </label>
  </p>
  <p> </p>
EOT;
}
else{
    print_r($cm->Get_Array_Cookie());
    echo '<p><a href="loginend.php?out=true">退出</a>';
}

  ob_flush();
?>





-----解決策---------------------- --------
PHP コード
<?php
クラス CookieManager{
    public function Get_CookieV($key){ //クッキーを取得する
        $_COOKIE[$key] を返します;
    }
    public function Set_Array_Cookie($arryc){ //取得した Cookie 配列をループします
        foreach($arryc as $key=>$value){
            setcookie($key,$value);
        }
    }
    public function Set_Cookie($key,$value){ //設定
        setcookie($key,$value);
    }
    パブリック関数 Get_Array_Cookie(){
        $_COOKIE を返します;
    }
    パブリック関数 up_Cookie($key,$value){
        setcookie($key,"",$time);
    }
}
?><div class="clear"></div>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。