検索結果
PHP
- 全てのカテゴリ
- 全ての質問
- dirname(__FILE__)の使い方
PHPを勉強し始めたばかりの初心者です。 dirname(__FILE__)の使い方を調べていて、いろんなサイトを参考に以下のような 階層を作りました。 |-index.php |-test1.php | |-test2 | |-test2-1 | | | |-test2-2 | |-test2-2.php | test2-2.phpに、 <?php echo "dirname(__FILE__)"; ?> と記述すればtest2-2までのファイルのフルパスとファイル名が返ってきて 表示されると思ったのですがエラーになり表示されませんでした。 私の解釈が間違っているのでしょうか。 参考にしたサイトのひとつのURLです http://php.net/manual/ja/language.constants.predefined.php ご存知の方、どうかご回答お願いいたします。
- 締切済み
- PHP
- chacky0225
- 回答数2
- 【WordPress】投稿がないカテゴリ非表示方法
【WordPress】 投稿がないカテゴリー 非表示 方法 カテゴリーの1つを決め すべての子カテゴリーと投稿を表示させる際に、 子カテゴリー内に投稿がない場合、 子カテゴリー名を表示させないようにしたいです。 下記のソースでうまくいきませんでした。 <?php $chihirdren=get_categories( 'parent=5&hide_empty=0&orderby=slug&order=DESC'); foreach($chihirdren as $child){ ?> <?php if(have_posts()):?> <h2><?php echo $child->cat_name ?></h2> <?php else: // no post ?> <?php endif; ?> <?php $wp_query->query(array('cat'=>$child->cat_ID,'posts_per_page'=>-1)); while ($wp_query->have_posts()) : $wp_query->the_post(); ?> <h3><?php the_title(); ?></h3> <?php endwhile; } ?> 大変申し訳ございません。 ご教授をお願いいたします。。
- Parse errorについて質問です
オーサカPHPさんのw3Analyzerと言うアクセス解析を使ってみようと思い 設置してログを見ようとすると、 Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in /××××/w3a/w3a.php on line 82 と出るのですが、これはw3a.phpの82行目がおかしいとでているのでしょうか? w3a.phpは一切なにも変更はしていないのですが・・・ PHP4の環境向けに作られていると書いてあり、自分のサーバーのPHPのバージョンを見てみるとPHP 4.4.8と書いてありました。 これはPHP4と言うことでいいのでしょうか?
- ベストアンサー
- PHP
- guriko_123
- 回答数1
- いいかげんxamppなんとかしたいです
phpを勉強しようと思い、xampp1.6.3.aをWindows Vistaにインストールしてから5ヵ月くらい過ぎましたがいまだにxamppの設定がさっぱりわかりません、情報が少ないしバージョンが違って説明通りいかなかったり、書いていることも非常に難しくてチンプンカンプンで意味もわからずあちこちのサイトや入門書から部分的にあれこれいじり今ではグチャグチャです。とにかくわからないことが多すぎて、何回かにわけて質問させていただこうかと思ってますがどうぞよろしくお願いします。 今回の質問内容なんですが、php.iniについてなんですが、現在php.iniが4つあります。その4つあるphp.iniの場所は、 (1)Cドライブのwindowsフォルダの中 php5の入門書に書かれていた、――「C:\php」フォルダ直下にある「php.ini-dist」を「php.ini」に名前変更した上で、「windows」フォルダに移動します。――というところを参考にしました。 この本はxamppを使ってないので食い違うところがありました(phpフォルダの中にphp.ini-distというものはなく、最初からphp.iniだったような気がします。)が気にせずとりあえず「windows」フォルダに移動させました。主な設定はここのphp.iniで行っています。 (2)xamppフォルダの中のphpフォルダの中 このphp.iniは、Vistaにxampp1.6.3をインストールするとコマンドラインから何かしようとしたとき(php -v とか、コマンドライン上でphpスクリプトを実行したりとか、go-pear.batとか実行したとき)、「Cliは動作を停止しました」とかになるので困ってインターネットで調べていたらとあるサイトで――「それはXAMPPが使っているPHPがヘンなんだよ。ZIPから解凍して上書きしてごらん」――と書かれているのを発見して、最新のphpをダウンロードしてzipファイルを解凍して、xamppフォルダの中に放り込んで元々あったphpフォルダに上書き保存したものです。ここのphp.iniは全くいじってません。 (3)xampp/apache/binの中 xamppをインストールしてわけもわからず設定してしばらく経ったある日、アパッチフレンズのサイトを見たらQ&Aコーナーに、 ――"php.ini"が3つありますが、どれを修正すればよいですか?「\xampp\apache\bin\php.ini このファイルを修正してください。」\xampp\phpディレクトリのファイルはPHPがCGI/CLIモードの時のみ有効です。 \xampp\apache\bin\php.ini このファイルがwebサーバ用のファイルです。―― と書いてあるのを発見して、それまでwindowsフォルダの中のphp.iniをいじってたのがおかしいことに気づき、ここのフォルダ内のphp.iniはごみ箱に捨て、windowsフォルダの中のphp.iniをこっちにコピーしたら、なんか動作がおかしくなってエラーばかり起こるようになったのでやっぱり元に戻しました。そのあとははっきり覚えていませんが少しいじったようです(いくつかコメントが取り払われてました)。 (4)xampp/php/php4の中 これはたぶんPHP4を使う人がいじるところだと思い、たぶんずっとPHP5を使うので関係ないと思いまったくいじってません。 (よくわかりませんがレンタルサーバーによってはPHP4のみOKのところとかあるみたいですね。正直今さらPHP4なんて、PHP5だけでも厳しいのに覚えること多すぎてやりたくないのですが、イヤでもやらざるを得ない時が来るのかも知れませんね。) こうなってます。とりあえず表向きは動いてますがどうもなにかおかしな気がします{コマンドラインで実行するphpスクリプトのサンプルが動かなかった(sqlite_openとかしたらFatal Errorになる、しかしブラウザ上では問題なく動く)りします}。 ちょっと説明が長ったらしくなりましたが、気になるところは、xamppを使っているなら、別にxampp/phpの中のphp.iniはwindowsフォルダに移動させる必要はないのじゃないのかというところと、あと実質いじらなければいけないphp.iniは(3)xampp/apache/binの中だと思うんですが、コマンドラインでも動かそうとするなら(2)xamppフォルダの中のphpフォルダの中のphp.iniもいじらなければならないと思います。その際 (3)xampp/apache/binの中のphp.iniと全く同じ設定でいいのか、それともコマンドライン向けの特殊な設定がいるのかといったところも気になります。 また、おかしくなったときのために全くいじってないphp.iniをメモリーカードにとってますがこれがどこのphp.iniのものかわかりません。xamppをインストールしたてのときの各フォルダにあるphp.iniはすべてまったく同じものなのでしょうか? うまく説明できませんが、どなたか正しい設定の仕方等教えていただけませんか。
- xoops cube Legacy『Gnavi』で新規投稿すると真っ白
xoops cube Legacy『Gnavi』で新規投稿すると真っ白な画面になる。 『Gnavi0.96』をインストールして 新規投稿をするとこんなエラーがでてしまいます。 This page cannot be displayed due to an internal error. If you are the administrator of this site, please visit the XOOPS Cube Project Site for assistance. Error [Xoops]: Smarty error: [in db:gnavi_item.html line 44]: syntax error: unrecognized tag 'd3forum_comment' (Smarty_Compiler.class.php, line 590) in file class/smarty/Smarty.class.php line 1092 エラー表示の部分など色々調べてみたのですがよく分からず投稿させていただきました。 『Gnavi0.96』トップページ下にもこんなエラーがでてしまいます。 Notice [PHP]: Array to string conversion in file /home/mokuasa/mokuasa.xsrv.jp/xoops_trust_path/modules/gnavi/main/category.php line 155 Notice [PHP]: Array to string conversion in file /home/mokuasa/mokuasa.xsrv.jp/xoops_trust_path/modules/gnavi/main/category.php line 155 Notice [PHP]: Array to string conversion in file /home/mokuasa/mokuasa.xsrv.jp/xoops_trust_path/modules/gnavi/main/category.php line 156 Notice [PHP]: Array to string conversion in file /home/mokuasa/mokuasa.xsrv.jp/xoops_trust_path/modules/gnavi/main/category.php line 156 Notice [PHP]: Array to string conversion in file /home/mokuasa/mokuasa.xsrv.jp/xoops_trust_path/modules/gnavi/main/category.php line 156 Notice [PHP]: Array to string conversion in file /home/mokuasa/mokuasa.xsrv.jp/xoops_trust_path/modules/gnavi/main/category.php line 156」 どうかよろしくお願いします。 ※エックスサーバーにて自動インストールをしました。 http://mokuasa.xsrv.jp/xcl/ Gnavi http://xoops.iko-ze.net/modules/gnavi/
- ベストアンサー
- SE・インフラ・Webエンジニア
- mitsu77
- 回答数1
- 携帯で$_SESSION関数を利用する場合
PHP初心者です。 質問内容や表現に過不足がありましたら、申し訳ございませんが、ご指摘下さい。 PHP4を利用し、携帯で閲覧可能なサイトを作ろうとしています。 a.phpからform上のボタンをクリックするとb.phpを呼ぶというプログラムを作りました。 PCでは動作しているのに、実機(i-modo)で確認するとどうしてもb.phpに移動してくれません。 どうやら$_SESSION関数に入れているデータが携帯の場合には消えてしまっているようなのです。 ソースは次のように組んでいて、途中、echoで表示して確認したところ、PCでは「1」と表示されるのに携帯では「」と何も表示されません。 次行のIF文にひっかかって、a.phpに戻ってしまっているようです。 最近の携帯では$_SESSION関数を利用できる、という話も見かけたのですが、使わずに作った方がよいのでしょうか? 回避策をご存知の方、ご教授頂けると助かります。 //------↓以下ソース例示------ a.php <?php ・・・・・・・・ session_cache_limiter('nocache'); session_start(); $_SESSION['c_flg'] = 1; ・・・・・・・・ <FORM action="b.php?SID" method="POST"> ・・・・・・・・ ?> b.php <?php ・・・・・・・・ session_start(); echo $_SESSION['c_flg'] ; //←ここで携帯の場合何も表示されない if ($_SESSION['c_flg'] != 1 ){ header("Location: http://" . $_SERVER["S"].dirname($_SERVER["R"]) . "/a.php/"); // ↑↑b.phpを直接呼ぶと必ずa.phpが表示されるようにしたい。↑↑ exit; } ・・・・・・・・ ?>
- ベストアンサー
- PHP
- yukino_0_-
- 回答数2
- PostgreSQLに接続できません(Windows XP)
PHPを数日前から始めました。 表題の通り、Apache+PHP+PostgreSQLという組み合わせでWindowsXP上で、ユーザ認証ページを作っています。 バージョンは、 Apache:1.3.29 PHP:4.3.11 PostgreSQL:8.0.2 です。 ApacheとPHPはちゃんと動作していまして、データベース関連以外の関数は動きます。 ところが、PostgreSQLで無事に必要なテーブルを作って、PHPで呼び出そうとしたら、こんなエラーメッセージが帰ってきちゃったのです。 "Fatal error: Call to undefined function: pg_connect() " 同様な現象に関する質問メールをPHPユーザMLで見つけたのですが↓ http://ns1.php.gr.jp/pipermail/php-users/2004-February/020886.html "PHPインストール時のconfigure"の意味が分かりません。私は、PHPをWindows Installerで落としたので、 configure云々は実行しませんでした。もしかして、 やり方が違うのでしょうか? あまりに初歩的な質問で申し訳ないのですが、どなたか対策をお教えいただけませんでしょうか?
- wordpressのリンクでの質問です。
リンクの仕方で質問です。 現在参考書を読みながらwordpressの勉強をしています。 index.phpに <?php query_posts('category_name=test' ); ?> <?php if (have_posts()): ?> <ul class="item-lists"> <?php while(have_posts()): the_post(); ?> <li> <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(); ?></a> </li> <?php endwhile; ?> </ul> <?php endif; wp_reset_query(); ?> というループ文があります。 投稿記事から設定したアイキャッチのみを表示させ横一列にフロートしています。 現在リンク先が共有テンプレートになっており記事一つ一つ、個別に表示されるようになってます。 <?php the_permalink(); ?>を<?php bloginfo('url'); ?>/test/ に変更すれば意図したカテゴリーへリンク出来ますが、この方法で正しいのでしょうか? また、本来リンクしたいカテゴリーは記事ごとにアンカーを設定しています。(t01~t10) このループ文の中でアイキャッチに対応した記事のアンカーへリンクするにはどうすれば良いでしょうか? アドバイス等頂ければ本当に助かります。
- ベストアンサー
- CSS
- mayomayo123
- 回答数2
- PEARを使ったメール送信でのincudeパスについて
サーバーは某有名レンタルサーバーを用いています。 下記のように、ドキュメントルート(public_html、web、wwwなど) と同階層に、PEARディレクトリが配置されています。 また、メール送信を実行するPHPファイも、 ドキュメントルートと同階層のディレクトリ配下に存在します。 /a/b/public_html/公開ファイル /a/b/PEAR/ /a/b/xxx/yyy/メール送信実行ファイル メール送信実行ファイル内で、Mail.phpとMail/Mail.phpを用いて メール送信を行おうとしているのですが、 ソースの上部で下記のように記述すると、 どうもその部分で処理が止まってしまうようです。 set_include_path( "/a/b/PEAR" ); include('Mail.php'); include('Mail/mime.php'); コマンド上で php /a/b/xxx/yyy/メール送信実行ファイル として実行させてます。 Mail.phpとMail/Mail.phpは下記パスに存在します。 /a/b/PEAR/Mail.php /a/b/PEAR/Mail/Mail.php includeパスが間違っているのでしょうか? ご教示お願いいたします。
- ベストアンサー
- PHP
- chibibichi
- 回答数1
- iframeで読み込んだ別のphpファイルの値を得る方法を教えて下さい
目的: a.phpからiframeとしてb.phpを読み込む そこでb.phpのチェックボックスの値をa.phpで得る方法はありますでしょうか。 こんなことをする理由は、 表形式でデータを表示したいというのがありまして。 しかし、列数が大変多い為、a.php内に表示すると 1つ1つの項目の幅がとても小さくなってしまいます。 そこで、その表をb.phpで作成し、iframeタグで読み込むということをしています。 そうすればa.php内に横スクロールバーが表示され、表の各項目は適切な幅で表示されます。 ただ目的は、その表の各行にチェックボックスを付けて、行を選択したいのです。 という訳で、a.phpからb.phpのチェックボックスの値を得るなんてことがphpで可能かを教えて下さい。 宜しくお願いします。
- a hrefの値渡し
今回も質問させていただきますが、よろしくお願いします。 a hrefを使って別のページに飛ぶときに、いっしょに二つの$変数名に入っている値を渡そうとしたいのですが、うまくいきません。 <html> (input.php) <head> <meta http-equiv="Content-type" content="text/html; charset=EUC-JP"> <title>入力</title> </head> <?php $rand = $_POST['rand']; $charenge= $_POST['charenge']; ?> <body> <h1>値を入力してください</h1> <form action="judgement.php" method="POST"> <input type="text" name="num"/> <input type="submit" value="比較します"> <input type="hidden" name="rand value="<?php echo $rand?>"/> <input type="hidden" name="charenge" value="<?php echo $charenge?>"/> </form> </body> </html> <html> (judgement.php) <head> <meta http-equiv="Content-type" content="text/html; charset=EUC-JP"> <title>比較結果</title> </head> <?php $rand = $_POST['rand']; $charenge = $_POST['charenge']; $num = $_POST['num']; ?> <body> <h1>比較結果</h1> <?php if($num == $rand){ print("あたりです。"); }else{ $charenge++; print("はずれです。 <br/>"); print("<a href=\"input.php\">入力ページ</a>からやり直してください"); } ?> </body> </html> 上のjudgement.phpのif文の中にある, <a href=\"input.php\">入力ページ</a>を どのように変えれば、$randと$charengeの値を input.phpに正しく渡すことができるのでしょうか? アドバイスをお願いします。
- CRONを使ってshファイルの書き方がわからない
下記のやり方はうまくいきました #!/bin/sh /usr/local/bin/php /home/cron/index.php 以下の場合(パラメータが入った場合)がうまくいきません #!/bin/sh /usr/local/bin/php /home/cron/index.php?id=35 宜しくお願いいたします
- ベストアンサー
- Linux系OS
- kenken8378
- 回答数1
- SESSIONを使用したユーザ登録を作成しています。
SESSIONを使用したユーザ登録を作成しています。 フォーム→確認ページ→登録完了という流れのページを作成しています。 ソースは下記のとおりになります。(文字数制限のため、ソースを省略しています。) フォームページ /* form.php */ <?php session_start(); ?> <html> <body> <form action="confirm.php" method="POST"> 名前:<input type="text" name="name" value="<?php echo $_SESSION["name"]; ?>" > <input type="hidden" name="regist" value="<?php echo $regist; ?>" /> <input type="submit" name="confirm" value="確認"> </form> </body> </html> 確認ページ /* confirm.php */ <?php session_start(); $regist = $_POST["regist"]; ?> <html> <body> 名前:<?php echo $name; ?> <form action="complete.php" method="post"> <input type="hidden" name="regist" value="<?php echo $regist; ?>" /> <input type="submit" name="submit" value="登録" /> </form> </body> </html> 登録完了ページ /* complete.php */ <?php session_start(); $regist = $_POST["regist"]; $link = DBNAMEなどの設定 $name = htmlspecialchars($_POST["name"]); $query = "INSERT INTO `user` (`name`) VALUES('$name')"; $result = mysql_query($query, $link); if ($result) { $msg = '登録しました。'; } else { $msg = '登録に失敗しました。'; } ?> <html> <body> <?php echo $msg; ?> </body> </html> としています。 ご質問なのですが、フォーム画面にて名前を入力して、確認画面では名前が表示されるのですが、登録完了では空の値になってデータベースに登録されてしまいます。 たぶん確認画面から登録完了画面への受け渡しができていないのはわかるのですが、記述方法がわかりません。 PHPは初心者のため、おわかりの方がいらっしゃいましたら、ご教授いただけないでしょうか? 宜しくお願いいたします。
- 入力項目を渡したい
すみません、質問をさせて下さい。 ------------------------------------ [main.php] <html><body> <input type="text" name="moji"><BR> <a href="next.php">次へ</a> </body></html> ------------------------------------ [next.php] <html><body> 入力項目:<?=$moji?><BR> </body></html> ------------------------------------ main.phpで入力した文字列を "リンク"でnext.phpへ渡したいのですが、 どのようにすればいいのでしょうか? ※<FORM>のACTION以外でかつJavaScriptは使用しない ちなみにphp.iniの register_globals = On にしています。 すみませんが、宜しくお願いいたします。
- window.open同時にデータ転送
page1.phpの内容です。 ************************************** <script LANGUAGE="JavaScript"> <!-- function yyyyyy(url) { MWindow=window.open(url, "aaa", "Width=300, Height=200"); } --> </script> <input type=button value='開始' onClick=yyyyyy('http://www.XXXXX.com/page2.php')></input> ************************************** 今の状態だと、開始ボタンを押すと page2.php がオープンされます。 これを、開始ボタンを押すと、page2.phpがオープンされる当時に、page1.phpからPOST hiddenを利用して page2.phpにデータを渡したいですが、、、 可能でしょうか? ご教授よろしくお願いします。
- 締切済み
- JavaScript
- oyaoyaoya777888
- 回答数1
- 入力した文字を次のページへ渡す事で、いまいち分からない事があります。
初めまして。PHPを勉強しながら、色々作っている者です。 質問等を調べ検索していますが、 よく分からない所があります。 今、a.htmlで入力した言葉をb.phpへ渡し、 更にc.phpへ渡すものを作っています。 a.htmlからb.phpに渡す事は出来ますが、 同じ言葉をc.phpには渡せなく。 a.htmlからb.phpまでは渡せます。 何方様か、 どの様に書けば宜しいのかご教授頂けませんでしょうか?
- ベストアンサー
- PHP
- noname#102073
- 回答数3
- Apache2.2での文字化けが直せません
Apache2.2.15をインストールし、「独習PHP」に従って設定をしたのですが、日本語が文字化けします。 httpd.confで変更したのは以下の部分です。 LoadModule php5_module "c:/php/php5apache2_2.dll" Addtype application/x-httpd-php .php (AddDefaultCharsetは、調べてみた所2.2系から使われてないらしいので、追加していません) php.iniの設定も間違いなく行いました。 また、<head>内に<meta http-equiv="Content-Type" content="text/html; charset=euc">などと埋め込んだりしてもだめでした。 どうぞよろしくお願いします。
- cronのシェルスクリプトで特定のファイルを時間差で実行したい
現在、下記内容を記述したシェルスクリプトを使っています。 #!/bin/sh cd /virtual/web/ wget test1.php -O result wget test2.php -O result wget test3.php -O result exit test1.php、test2.php、test3.phpを10分の間隔をあけて実行したいのですが、cron側で設定する以外にシェルスクリプト側で設定することは可能でしょうか? あと基本的なことなのですが、test.phpを実行したい(叩きたい)だけの場合、wgetではなく他のコマンドではできないでしょうか?このような場合はどんなコマンドが適切なのでしょうか?
- convert関数が呼び出せない
お世話になります。 PHP 5.2.13 MySql 5.5 $date = convert('20111001', DATE); …(1) を実行すると下記のエラーが出ます。 Fatal error: Call to undefined function convert() MySQL Command Line Clientで select convert('20111001', DATE) は問題なく出来るでの、PHPがこの関数を認識していないのかと思いphpinfo()の後に(1)のコードを加えてみた所同じエラーが出ました。 php.iniファイルの設定は extension_dir = "c:\php\ext" extension=php_mysql.dll (セミコロン削除済み) c:\php\ext\php_mysql.dll も存在します。 Windowsの環境変数には C:\PHP が設定済みです。 問題点・解決法をご存知の方がいらっしゃいましたら、どうかご教授の程よろしくお願い致します。
- ベストアンサー
- MySQL
- nekoko_green
- 回答数2
