• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【php】オブジェクト?の結果を一旦変数に格納したい)

【PHP】オブジェクトの結果を変数に格納する方法

このQ&Aのポイント
  • PHPのAuthライブラリで認証システムを作成しています。認証フォームは->start()メソッドで表示されますが、フォームが表示される場所を制御したい場合には特定の変数に結果を格納してから表示させる方法があります。
  • $authobj->start()の結果を変数に格納するには、以下のように記述します。 $auth = $authobj->start(); print $auth;
  • 今後他のメソッドでも同様の問題が起こる可能性があるため、結果を一旦変数に格納する方法を覚えておくと便利です。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2
yuzuru0024
質問者

お礼

回答ありがとうございます。 参考にしてみます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

noname#111181
noname#111181
回答No.1

そいうことであれば、PEAR::Authを使わずに、自力で認証モジュールを作った方が良いと思います。

yuzuru0024
質問者

お礼

回答ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 変数とオブジェクトの違い

    こんにちは 変数もオブジェクトも種類別けする入れ物というイメージなのですが、なにが違うのでしょうか 自分の中では、変数とオブジェクトが同じ入れ物で、メソッドが中身というイメージです

  • PHPで指定サイトで検索した結果を変数に入れるには

    PHP初心者です。 PHPでとあるサイトの検索フォームで検索した結果を、変数に入れるにはどのようなスクリプトを書けば宜しいのでしょうか? 開いた直後ではなく、検索ボタンを押した後に全て読み込みが終わってからそのサイトのHTMLを格納したいのですが、お手数おかけしますが具体的なスクリプトを教えてくださいませm(__)m

    • ベストアンサー
    • PHP
  • 「PEAR::Auth認証」の結果による判別について

    現在、PEAR::Authを利用して認証処理を作成しております。 質問させていただきたい内容は、 AuthクラスのgetAuthメソッドについてです。 まず、Authクラスのインスタンスを生成し、 start()メソッドを実行して認証を行い、 その認証の結果をgetAuthメソッドによって 取得しております。 次に、getAuthメソッドにより得た結果を IF文で判別して、結果がTRUEの場合は処理を続行し、 結果がFALSEの場合はログイン画面に戻るように 制御しようとしたところ、 FALSEの場合の制御が思うように動作しませんでした。 以下に、ソースを記述いたします。 login_check.php ************************************************* <?php require_once("Auth/Auth.php"); $params = array( "dsn" => "pgsql://postgres:postgres@win/db", "table" => "test_table", "usernamecol" => "test_user", "passwordcol" => "test_passwd", "cryptType" => "none", ); // インスタンス生成 $auth = new Auth("DB", $params , "LoginFuntion"); // 認証開始 $auth->start(); // 結果を判別 if (!$auth->getAuth()) { // 結果がFALSEだったらログイン画面に戻る header("Location: ./login.php"); exit; } else { // 結果がTRUEであれば処理を続行 ・ ・ ・ } ?> $auth->getAuth()の使い方が違うのかも知れませんが、 Authのソースを見ても分かりませんでした。 どなたか、「PEAR::Auth認証」の結果による判別に ついてお教え下さい。。。 ※今回は、ログイン画面とチェックPHPを分けております。 ログイン画面はHTMLで、チェックPHPにAuthを利用しております。 この利用の仕方が既に間違っているのでしょうか? 併せてお教えいただければと思います。

    • 締切済み
    • PHP
  • PHP staticな変数

    phpでstaticな変数について教えてください。 ユーザの情報をstaticな変数に格納した際に、誰からでも参照できてしまうのでしょうか? 例えば今ログイン情報を格納するstatic変数があり、ログイン情報を取得してそのstatic変数に値を格納するstaticなメソッドがあるとします。このメソッドは、その変数にまだ値がない場合に、ログイン情報取得してそのあとその変数へ格納し、その変数にすでに値があった場合に、その変数の中身を返す仕様だとします。最初のユーザAがアクセスしてきてその変数にAの情報を格納します。ほぼどうじにユーザBがアクセスしてきた場合は、そのメソッドを呼んだ際に直前に格納されたAの情報が取れてしまうのでしょうか?それともそのstaticな変数にはまだ何もないのでしょうか?よく分かりません。私は間違って理解してしまってるのでしょうか?宜しくお願いします。

    • ベストアンサー
    • PHP
  • PHPで、オブジェクトが格納された配列を使う方法を教えて下さい。

    PHPで、オブジェクトが格納された配列を使う方法を教えて下さい。 PHP初学者です。 以下のようなプログラムを作成したいのです。 1.XML文書の内容を取得 2.XMLの要素<data>をTestDataオブジェクトに格納 3.TestDataオブジェクトの集合を持つTestDataListオブジェクトに、2で作成したTestDataオブジェクトを格納 4.XML文書に存在する<data>要素がなくなるまで2~3を繰り返す 5.全ての<data>要素を格納したら、今度はTestDataListオブジェクトから全てのTestDataオブジェクトを取得して、その中身を画面に表示 ※<data>要素は子要素<name>を持つ 作ってみたのですが、TestDataオブジェクトの格納に失敗しているのか、TestDataListからのTestData取得に失敗しているのか、画面に何も表示されません。 プログラムは以下の通りです。 ・<data>要素の中身を格納するためのクラス <?php class TestData { private $_name; public function setName($name) { $this -> _name = $name; } public function getName() { return $this -> _name; } } ・TestDataオブジェクトの集合を持つクラス <?php class TestDataList { private $_list; private $_size; public function __construct() { $_size = 0; } public function addData($data) { if(isset($_list)) { $_list[$_size++] = $data; return; } $_list = array($data); $_size++; } public function getData($index) { return $_list[$index]; } public function size() { return count($_list); } } ・画面に表示するPHPプログラム <?php require_once "TestData.php"; require_once "TestDataList.php"; $_xml = simplexml_load_file("guest.xml"); $_list = new TestDataList(); $_cnt = 0; foreach($_xml -> data as $data) { $tmpdata = new TestData(); $tmpdata -> setName($data -> name); $_list -> addData($tmpdata); $_cnt++; } ?> <html> <body> <?php print("Count:".$_cnt."<br/>"); print("Size :".$_list -> size()); for($j = 0 ; $j < $_list -> size() ; $j++) { $outdata = $_list -> getData($j); print($outdata -> getName()."<br/>"); } ?> </body> </html> ・実行結果 Count:3 Size :0 PHPに詳しい方、上記プログラムの不備を教えて下さい。宜しくお願いします。

    • ベストアンサー
    • PHP
  • 入力フォームを変数に格納

    Perlを始めたばかりの初心者です。 inputで入力した情報を変数として取得する方法は可能でしょうか? #! c:/perl/bin/perl print "Content-type: text/html\n\n"; print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">\n"; print "<head><title>TEST</title></head>\n"; print "<body>\n"; print "<p><input type=\"text\" name=\"name\"></p>\n"; print "</body>\n"; print "</html>"; 上記の入力フォームで、777と入力した場合、サーバーを経由しないで、777を変数に格納したいのですが、可能でしょうか? 宜しくお願いします。

    • ベストアンサー
    • Perl
  • 携帯サイトの認証時の画面移動について pear authを利用します。

    現在、phpでpear authを使ってのpcサイトを作成済みです。 そのpcサイトのソースを活かしつつ、今回は 携帯サイトを作ろうと思っています。 携帯(i-mode)では、この方法でセッションの持ちまわしができないのでしょうか? たとえば、このようにした場合は、contents.php側では、どのように 認証済みか判断すれば良いのでしょうか?URL直打アクセスを防ぐ前提で。 header("Location: contents.php?sid=$sid"); if(isset($sid))ではURL直打アクセスを許してしまいます。 現状↓ ---------------------------------------------------- index.php ----------------------------------------------------- $authobj = new Auth("DB", $params, "loginFunction"); $authobj->start(); if ($authobj->getAuth()){ // 1 header("Location: contents.php"); }else{ print("認証されていません"); } -------------------------------------------------------- contents.php -------------------------------------------------------- $authobj = new Auth("DB", $params); $authobj->start(); if ($authobj->getAuth()){ //ここのif文が通らない。空です。 print("認証済みです"); }else{ print("認証されていません"); } ソース例など挙げていただけると幸いです。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • HTMLとPHPを分けた時の変数?について

    HTMLで値などを入力し、PHPで処理をする方法として、 ネットのサンプルソースでどの様に行われているか見たところ、 HTMLにてC言語でいう所の変数らしきものが無く、 また、PHPにも書く値に等しい変数が見受けられませんでした。 HTMLで値を入力してどの様にPHPに渡っているのか分からなかったのでご教授願いたいと思い書き込みました。 参考 eweb メールフォーム・アンケートフォーム 参考にしたソースは「Sample 1:アンケートフォーム」になります http://php.eweb-design.com/1301_mail.html 何卒宜しくお願い致します。

    • 締切済み
    • PHP
  • Fedora Apache Mysql PHP

    今回はじめてLinux系のカテゴリで質問させてもらいます。(PHPのカテでも同じ質問をしましたが、こちらのカテの方が合っているかと思いました。) OS:Fedora7 webサーバ:Apache2 言語:PHP5 +MySQL5、PEARのAuthでユーザー認証の勉強をしているのですが、文法以前の質問になると思います。 データベースに アクセス用のユーザー名・パスワード、認証用のユーザー名・パスワードをそれぞれ設定しました。 下記のコードをブラウザで表示しようとしても、真っ白な画面しか表示されません。このpeartest.phpファイルは /var/www/html に置かれています。 <html> <head> <meta http-equiv="content-type" content="text/html; charset=EUC-JP"> <title>ログインページ</title> </head> <body> <?php require_once("Auth/Auth.php"); function loginFunction($username, $status){ print("<form method=\"post\" action=\"pearauthtest2.php\">"); print("<table>"); print("<tr>"); print("<td>ユーザー名</td>"); print("<td><input type=\"text\" name=\"username\"></td>"); print("</tr>"); print("<tr>"); print("<td>パスワード</td>"); print("<td><input type=\"password\" name=\"password\"></td>"); print("</tr>"); print("<tr>"); print("<td colspan=\"2\"><input type=\"submit\" value=\"クエリ送信\"></td>"); print("</tr>"); print("</table>"); print("</form>"); } $params = array( "dsn" => "mysqli://authuser:authpass@localhost/kagaku", "table" => "auth", "usernamecol" => "username", "passwordcol" => "password" ); $authobj = new Auth("DB", $params, "loginFunction"); $authobj->start(); if ($authobj->getAuth()){ print("認証済みです"); }else{ print("認証されていません"); } ?> </body> </html> 入力フォームが表示されない理由がわかりません。phpinfo()でちゃんとPHPが動いているのは確認できています。 どなたかご教授願います。

  • PHPの変数値をリンクさせたい

    現在、PHP・MySQL・HTMLにてWebサイトを開発しています。 純粋なPHPで記述されたファイルがあり、その中にURL(例えば、BBSのアドレス)が変数に格納されています。そのURL先にジャンプさせたいのですが、どのように記述すれば良いのでしょうか?現在は「require」にてリンクさせていますが、これではページ自体は表示されるのですが、リンク先のページにあるリンク"新規投稿"や"検索"といった文字列をクリックしても「404 Page not found」となり表示されません。おそらくLocalのキャッシュを見ているのでは無いとか思われます。 PHPの初心者のため基本が出来てないのですが、ご教授頂ければ嬉しいです。

    • ベストアンサー
    • PHP