私の Cookie が使用できないのはなぜですか? PHP はこのように書かなければなりませんか?
これは 2 日前に本に書いたコードです。コメントは自分で書いたものです。以下の login.php ページにログインしましたが、Cookie を取得できませんでしたが、先頭で echo $ を使用しました。 login.php ページの _POST["username"] は、フォームから渡された値を取得できます。cookiemanager クラスに問題があるのか、どこかで問題が発生したのでしょうか。
初心者さん、カスタム関数の使い方がまだわかりません。もう一度質問したいのですが、皆さんは 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变量,不存在则实例化 } ?>
<!-- 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 クラス 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>