• ベストアンサー

リンク先をユーザ関数(同じファイル)にしたい

いつも質問に答えてくれてありがとうございます。   リンク先をユーザ関数(同じファイル)をするため 以下のようにしました。 (一部抜粋)ee.php --------------------------- function memberlist(){ ・ ・ ・ //ここが問題 $previous = "memberlist().php?offset=" . ($offset - $page1) . "&page1=" . $page1; --------------------------- 同じファイルですので 「ee.php」の箇所を 「memberlist()」に変更してみましたが、 「ページが見つからない」というエラーになってしまいます。 リンク先をユーザ関数をするのには どのように書けば宜しいですか?

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

  • ベストアンサー
  • eitetsu
  • ベストアンサー率64% (22/34)
回答No.2

こういうことでよいですか?  ・リンク先は、同じスクリプト(ee.php)  ・アクセスした場合、そのファイル(ee.php)のmemberlist()関数を実行するようにしたい。 一度、ユーザ側の画面に表示された場合、プログラムの動作は一旦終了します。 リンクをクリックした場合は、改めてプログラムを1から動作させることになります。 ですので、プログラムの先頭で、memberlist関数に行くような仕掛けを入れてあげる必要があります。 また、リンクには、そのための目印を入れる必要があります。 例:ee.php <?php if ($_GET["mode"] = "list") { memberlist(); } ---(省略)--- function mmeberlist() { $previous = "ee.php?mode=list&offset=" . ($offset - $page1) . "&page1=" . $page1; }

wee
質問者

お礼

ご返事有り難うございました。 > ・リンク先は、同じスクリプト(ee.php) > ・アクセスした場合、そのファイル(ee.php)のmemberlist()関数を実行するようにしたい。 ハイ、ご推察の通りです。 お陰様で解決しました。 有り難うございました。

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

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>memberlist().php なにをやりたいのかよくわかりません。 ee.phpが表示されればよいのでしょうか? そういう場合は$_SERVER['PHP_SELF']などをつかいます。

wee
質問者

補足

説明不足で申し訳ありません。 postgresSQLでデータベースから抽出したデータを 10件ずつ表示させて”次へ”を押すと11~20件目が表示。 また”次へ”を押すと...といった感じに"次へ"と"前に"を表示するために 過去の質問を参考にして、以下のようにしました (一部抜粋)ee.php --------------------------- ・ ・ ・ //検索結果が0件なら if($maxrows_nolimit == 0){ echo '条件に一致したデータはありません<br>'; } //1件以上あれば else{ echo $maxrows_nolimit.' 件のデータ中 '.$startno.'件~'.$endno.'件 を表示しています<br>'; } if(($offset > 0) and ($maxrows_nolimit <= ($offset + $page1))){ //ここが問題 $previous = "ee.php?offset=" . ($offset - $page1) . "&page1=" . $page1; echo '<a href="'.$previous.'"> 前へ </a><br>'; } --------------------------- この上記の処理は正常に動きました。 この一連の処理をユーザ関数「」にしました。 (一部抜粋)ee.php --------------------------- function memberlist(){ ・ ・ ・ //ここが問題 $previous = "memberlist().php?offset=" . ($offset - $page1) . "&page1=" . $page1; echo '<a href="'.$previous.'"> 前へ </a><br>'; --------------------------- ここからは繰り返しになってしまいますが 同じファイルですので 「ee.php」の箇所を 「memberlist()」に変更してみましたが、 「ページが見つからない」というエラーになってしまいます。 リンク先をユーザ関数をするのには どのように書けば宜しいですか?

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

関連するQ&A

  • ユーザ関数の呼び出し方法

    環境はxp、apache2、php5、Postgresql8.2です。 1台のPCをサーバ&クライアントにしています。 ただ今PHPとPostgresqlの勉強をしています。 「aa.php」から 「ee.php」のユーザ関数「ads()」を呼び出すために 以下のようにしてみました。 -------------- aa.php <a href="./ee.php function ads()" target="migi">質問</a> -------------- ところが Not Found というエラーなってしまいます。 どのように呼び出せばいいのか ご教示して頂けたら幸いです。 -------------- ee.php <?php function ads(){ ・ ・ ・ }

    • ベストアンサー
    • PHP
  • PHP 設定ファイルとユーザ定義関数

    ある機能を満たすためのライブラリ(lib.php)を作成しました。 このlib.phpはユーザ定義関数の寄せ集めです。 それぞれのユーザ定義関数では、設定ファイル(config.php)に記述されている共通変数を利用します。 このconfig.phpなのですが、ユーザ定義関数ごとにincludeする以外の方法はあるでしょうか? lib.php function one() { $hensu1... $hensu2... ...処理; } function two() { $hensu1... ...処理; } .... config.php $hensu1 = 1; $hensu2 = 2; ... という構成です。 function one,function twoでconfig.phpの変数を利用したいのですが、lib.phpの先頭でinclude "config.php"をしてもfunctionの中では変数のスコープが有効にはならず、 lib.php function one() { include "config.php"; ...処理; } function two() { include "config.php"; ...処理; } としています。 PHP5を使用しています。 function one() { global $hensu1... } としたらよいのでしょうか? どなたかアドバイスいただけますと幸いです。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • Offset関数の使い方

    Excelにて、Book1ファイルにOffset関数を使って別のファイルBook2から値を参照しています。 このBook2が開いている時は問題なく参照できますが、Book2が閉じていると「#VALUE!」エラーになります。 Offsetは、リンク先のファイルが開いている状態でないと使えないのでしょうか?使えないとすれば、何か他の関数で代替できないでしょうか? 因みにINDIRECT関数でも試してみましたがやっぱりリンク先が閉じた状態だとエラーになりました。 (ただのリンクだったり、ROUND関数のようなものだと、リンク先ファイルが開いてなくても使えるのですが...) ご教授よろしくお願いします。

  • ハイパーリンクされているファイルの更新日付を取得するユーザー関数

    ハイパーリンクされているファイルの更新日付を取得するユーザー関数 環境:WindowsXpSp3 MS-Excel2003Sp2 ハイパーリンクされているファイルの更新日付を取得するユーザー関数を以下の様に作成しました。 これを、標準モジュールへ登録し、添付画像の様にセルから呼び出すようにしています。 2つ質問があります。 1.リンク先のファイルから更新日付の情報を取ってきているので、   エクセルを自動計算にしていても自動計算されず、"CTRL+SHIFT+ALT+F9"を押さないと   反映されません。   これを、自動計算に対応させる方法は無いでしょうか。 2.1度ハイパーリンクの設定をしたセルに対して、ハイパーリンクの変更   (別のファイルをリンクする)しても、変更後のファイルに対しての日付取得ができません。   試しに、LinkFileName関数で"Hyperlinks(1).Address"を表示してみると、   セルへは変更後のファイル名が表示されているのですが、"Hyperlinks(1).Address"の内容は   変更前のままで変わっていませんでした。   変更後のリンクアドレスを取得する方法は無いでしょうか。   (ユーザー定義関数の実行タイミングの問題なのでしょうか。) よろしくお願いします。 ----------------------------------------------------------------------------- リンク先の更新日付を取得する関数 ----------------------------------------------------------------------------- Function LastModifiedTime(targetRange As Range) As Double Dim FSO As Object Set FSO = CreateObject("Scripting.FileSystemObject") LastModifiedTime = FSO.GetFile(targetRange.Hyperlinks(1).Address).DateLastModified Set FSO = Nothing End Function ----------------------------------------------------------------------------- リンク先のファイル名(パス名)を取得する関数 ----------------------------------------------------------------------------- Function LinkFileName(targetRange As Range) As String LinkFileName = targetRange.Hyperlinks(1).Address End Function -----------------------------------------------------------------------------

  • ユーザー定義関数で、選んだセルの下のセルの参照方法

    簡単なユーザー定義関数を作っています。 Function TEST(氏名) TEST = End Function 氏名のセルを選んで、その下のセルの値を参照したいのですが、どのようにしたら良いのでしょうか? OFFSET関数を使いたくも、選んだ氏名のセルをどう使うのかわかりません。 宜しくお願いします。

  • ユーザ関数の呼び出し方法 その2

    ユーザ関数の呼び出し方法 http://oshiete1.goo.ne.jp/qa3567728.html で、質問をさせて頂いた者です。 お陰様で、だいぶ出来てきました。 frameで左右に分かれています。 「左がメニュー画面」 「右がデータを表示する画面」 メニュー用のPHPに //処理部分 <?php if($_GET["mode"] == 1){ //処理1のスクリプト include("./ee.php"); ads(); } と、しました。 そうすると 左のメニュー画面にデータが表示されてしまいます。 右のデータを表示する画面に更新したい場合 どのように書けば宜しいですか? --------------- <frame name="hidari" src="aa.php"> <frame name="migi" src="ee.php">

    • ベストアンサー
    • PHP
  • リンク先のURLを記述せずに、Javascriptでランダムリンクを貼

    リンク先のURLを記述せずに、Javascriptでランダムリンクを貼る方法をさがしています。 いまWEBサイトを作っていて、 ランダムリンクのページを追加するときに、 簡単な方法はないのか探しています。 ちょっとこれでは意味がわからないと思うので、 説明させてください。 いま作っているサイトの問題点は、 ランダムリンクで飛んだページに、 ランダムリンクのボタンがあるので、 ページを増やすごとに、それぞれのhtmlを書き換えなければならないところです。 いま書いてあるのは、このような体裁です。 ──────────────────────────────────────── ★javascript <script language="JavaScript"><!-- myCnt = 6; // リンク先の数 myTable = new Array( // リンク先の登録 "page1.html", "page2.html", "page3.html", "page4.html", "page5.html", ); function myRndLink(){ // 適当に選んでリンクする関数 myRnd = Math.floor(Math.random()*myCnt); // 0~(myLine-1)の乱数を求める location.href = myTable[myRnd]; // リンクする } // --></script> ★ボタン↓ <input type="image" img src="randam.jpg" "onclick="myRndLink()"> ──────────────────────────────────────── それぞれのpage内にランダムリンクがありますので、 page6を追加する場合、上のpage1~5それぞれのhtmlに、 「page6」を追加して記述せねばなりません。 pageを増やすごとに、労力がかかるのは、ちょっとしんどいです。 自分が考えた打開策は、  (1)指定したフォルダの中からランダムリンクするような方法 これであれば、新しく作ったページをフォルダ内に入れるだけなので簡単かと。  (2)あるファイル名(例えば、page)を含むものからランダムリンクするような方法 これであれば、新しく作ったページの名前を「page●●」にするだけなので簡単かと。 javaはまったく読むことができないので、 親切な方のサイトからコピペして使っていますが、 上のような方法は可能なのでしょうか? 検索しても出てきませんでした。 みなさん、よろしければ知恵をお貸しください。 よろしくおねがいします。

  • 外部ファイルで定義されているjqueryのユーザ定義関数を、イベントな

    外部ファイルで定義されているjqueryのユーザ定義関数を、イベントなしにphpで呼び出したい お世話になっております phpとjqueryの連携部分で分からないことが出てきたので質問させていただきます jquery側で function funcTest(msg){ alert(msg); } という関数を用意し、php側でイベントなしに呼び出したいのですが、うまくいきません ボタンなどを用意して.click()とかを使えば呼び出せるのですが、そういったイベントなしに(ユーザが特に操作することなく)呼び出せないでしょうか? php側のコードは if($_POST['submit']){ $value = $_POST['submit']; funcTest($value); } のように、、フォームからPOSTで受け取った時にだけ関数を呼び出したいので、1つのページ内で何度も呼び出す必要があり、値を受け取ってから呼び出さなければならないのでクリックイベントなどを利用できない状況です どうぞよろしくお願いいたします

    • ベストアンサー
    • PHP
  • VBAで書いたExcelユーザー定義関数が上手く動きません

    WinXPSP2 Office2003 を使用しています。 プログラムは、本やネットで調べただけの素人です。 具体的には、大量のascファイルにファイル自身の情報をヘッダとして書き込む作業をします。 そのために、ファイルの情報などを返すユーザー定義関数を作り、それを用いた一連の書き込み作業をマクロにして保存し、アドイン化してしまおうと考えました。 作業をマクロにしてアドイン化することはできるようになりましたが、肝心のユーザー定義関数を作るVBAが良くわかりません。 たとえば以下のように、ファイルの作成日時を返すユーザー定義関数を書いて標準モジュールに張ってみたのですが、上手く動きませんでした(具体的には”#VALUE!”になる)。 Function CreationDate() CreationDate = ActiveWorkbook.BuiltinDocumentProperties("Creation Date").Value End Function 次の、ファイルの名前を返すユーザー定義関数は上手く動きました。 Function FileName() As String FileName = Application.ActiveWorkbook.Name End Function なぜ後者が動いて前者が動かないのか、よく理解できません。 どのように変えればよいのか、教えていただけないでしょうか? よろしくお願いします。

  • 同一クラス内 関数内でユーザ定義関数でソート

    class class_name { function sort_function($val1,$val2) { 並び替え関数 return 0or1or-1;} function sousa() { $array=("山田","田中","砂糖"); uasort($array,$this->sort_function) } } 上のようなことをやろうとしているのですけれど function sousa()を実行すると ---エラー---- Warning: uasort() [function.uasort]: Invalid comparison function. in XXXX.php on line XX ------------- がでます。 クラス内関数を【並び替え用ユーザ定義関数】 として用いるにはどうしたらいいのでしょうか? 解決策をご存知の方がおられましたらご教授頂きたいです。 もちろん、関数をクラス内に配置しないか、 sousa関数内に並び替え関数を配置すれば正常に動作しますが 上のような配置で実行したいです。 よろしくお願いします。m(TT)m

    • ベストアンサー
    • PHP