PHP
- PHPでゲストブックなどのページを作りたいのですが…
今PHPでゲストブックか掲示板を作ろうとしているのですが、別に作っておいたログファイルに書き込みがされません。日付はきちっと表示されるのですが、名前や本文など大事なデータがまるっきり表示されません。 タグの無効化などをした後にログファイルを(r+)で開き、メッセージをファイルに書き込んだ後にログファイルを(r)で開いているのですが… ログファイルの中身を見て見ると、(1 1,20:15:20,/02/04,,,,, )といった風になってしまいます。 <form>でボタンやテキストなどを設置した上で、$_POST[]を使って呼び出すようにしたのですが、初心者なもので良くわかりません。 何か気を付けなければいけないことなどありましたら、どなたか教えてください。 また同時にPHPを基礎から教えてくれるようなサイトや本がありましたら教えてください。本当に基礎の基礎が載っているものが欲しいのですが、なかなか知りたい情報に巡り合えなくて困っています。 ちなみに私の今まで読んだ本は『PHP入門-関数からデータベース連携まで-』や『目的別WEBプログラマのためのPHPハンドブック』、『PHP5逆引き大全』です。 参考にさせていただいているサイトは『PHPマニュアル』や『PHPによるWebアプリケーション』などのサイトを参考にさせてもらっています。 数学苦手なあなたには無理と言われているのですが、PHPをぜひとも覚えたいのでよろしくお願いします。
- phpによるサイト内検索について
宜しくお願い致します。 PHPを使ってサイト内のフリーワード検索をしたいのですが、 PHPマニュアルのページを見ても何処にもそれらしき事が乗ってないので、 phpでは出来ないのかとちょっと思っています。 どなたか知っている方いらっしゃいましたら、お教えいただけると大変助かります。 何卒、宜しくお願い致します。
- 他のPCでもページが見えるようにしたい
PCを2台LANでつないでいます、 マイネットワークでは相互に覗けます PC-Aの方でApache+PHP+MySQL でサーバが立ち上げっていて、localhost、で ドキュメントルートに置いたページがみえます が、 PC-Bから、PC-AのURL(この場合、192.168.1.200) をいれても、「Forbidden」とでます。 MySQLはアカウント=root、とパスワードを いれています。 PC-AでApacheをInstallする時、 このPCしかaccessできないように設定した気が するのですが、どこだったか、わからなくなりました こうした、設定がどこにあるのか、伺いたいのですが あるいは、アクセス拒否は他の原因でしょうか OSはWindowXP PC-Aは固定で192.168.1.200に設定してあります。
- ereg での正規表現がうまくできません。。。
お世話になっております。 いま、変数$a に"PDCA,PDCB,1.3AE,漢字,カタカナ,カタカナ2"が入っているとします。 そこで、チェックボックスのnameとvalueもそれぞれ、PDCA,PDCB,1.3AE・・・と名前をつけています。 最初にこのチェックボックスに複数チェックを入れて、mysqlデータベースへひとつのカラムに保存します。そして、再編集ページで、保存した変数$aを読み込み、$aにチェックボックスのnameと同じ文字があったら、再編集ページを開いたときにはじめにチェックを入れておきたいのです。 例えば、PDCA,PDCB,カタカナ にチェックをいれて$aに"PDCA,PDCB,カタカナ"(コンマ含む文字列)として保存します。 そして、再編集ページの <input type "checkbox" name="a[]" multiple value="PDCA" <?php if(ereg("[$a]+,'PDCA')){print('checked');}?>>PDCA としています。php.ini mbstring.func_overload = 7にしていますので、日本語も大丈夫だと思うのですが。(mb_eregを使うとなぜかエラーとなる) 例のようにすると、関係ないチェックボックスもチェックされていたりでたらめです。何かいい手はないでしょうか。よろしくお願いいたします。
- ベストアンサー
- PHP
- tomofriend
- 回答数1
- 文字コードについて
現在、PHP(EUC-JP)でプログラムを作成し、テンプレートはS-JISで表示しています。 テンプレートには下記のようにリンク先をはっています。 <a href="REPLACE">NAME</a> REPLACEとNAMEはPHP側で作成した値を置き換えています。 NAMEはmb_convert_encodingでEUC-JPをS-JISに変更していますが、リンク先には日本語の文字が含まれています。 私が、考えたものは次に遷移したいPHP以下をエンコードし、それをmb_convert_encodingするというものです。 $url="test.php?ID=".$stData[$i]['id'].&gStationName=".$stData[$i]['name']; $url_encode=urlencode($url); $all_data['test'] = mb_convert_encoding($url_encode, "SJIS", "EUC-JP"); このリンク先にカーソルをあてると、日本語はアラビア文字みたいなのが、表示されます。 しかし、このリンクをクリックすると、エンコードされたURLが表示されます。 なぜ、このような現象が起こるのでしょうか? ご教授ください。
- phpのカレンダー式日記帳について
お世話になります 現在こちら http://www.kenjiweb.com/?mode=diary のカレンダー式日記帳をレンサバでテストしているのですが「書き込みエラー」になります。 phpのバージョンは4.3.0です。 パーミッションも606、666と変えて見ましたがうまく行きません。(他のphpプログラムはうまく作動しています。)掲示板にも情報がありません。どうしたらうまく行くのでしょうか? ご教授頂ければ幸いです。
- Smartyで「20時01分」を「20時1分」と表示したい
Smartyのdate_formatで、日付をフォーマットしております。 1桁の場合、0をつけないで表示したいのですが、現在は 修正子 |date_format:"%Y年%m月%d日 %H時%M分"を利用しているのですが、 2005年02月02日 20時01分 と表示されてしまいます。 これを、 2005年2月2日 20時1分 と表示させるのは、どのようにしたらよろしいのでしょうか。
- ベストアンサー
- PHP
- taka333333333
- 回答数1
- PHPとCGIは同時にできますか?
.PHPファイルにCGI(Parl)を埋め込んでもちゃんと動きますか? 問題ありますか? どなたかよろしくお願いいたします。
- phpで掲示板を作りたい
掲示板をphpで作りたいと思っています。 機能は画像添付、メールアドレスの掲載、ホームページのURLの掲載です。 php初心者なので詳しい説明よろしくお願いします。 m(__)m
- ベストアンサー
- PHP
- miyakohasi
- 回答数12
- phpバージョンアップの際の注意点はありますか?
php4.3.8→4.3.10へバージョンアップします。 OSはRed Hat Linux 7.2です。何か注意する点がありましたら教えて下さい。よろしくお願いします。
- ベストアンサー
- PHP
- xxteodosioxx
- 回答数1
- 文字列を一定文字数で挿入もしくは、改行。
文字列を一定文字数で挿入もしくは、改行する方法、 関数はあるでしょうか? たとえば、 あめんぼ、赤いなあいうえお を8文字ずつで改行したいのですが、 方法が分かりません。 あめんぼ、赤いな あいうえお 最初は、mb_substrで改行する文字を調べて 改行タグを入れれば、とたかをくくっていた んですが、同じ文字を入力されていたら、変な 所で改行されてしまうと、気がつきました。^^; 「あ=><br>あ」にすると、一文字目の”あ”も 指定されてしまって。 改行するデータは、常に変わり予想はできません。 FORMからの入力を想定しているので、最悪 <textarea wrap="hard">で送信時に強制改行しても いいかなーとは、思っていますが、PHPで処理できるで しょうか?
- ベストアンサー
- PHP
- happy_books
- 回答数2
- DBを使用しないで条件にマッチしたもののみページング
以前DBを使用しないページングについてお教えいただいた者です。 少し改良して降順ソートを出来るようになったのですが、 リスト表示の際にある条件に一致したもののみを表示する場合の やり方が分かりません。。。 現在は以下のようになっています。 ■sample.csv no0001,あああああ,20050101,ON no0002,いいいいい,20050102,OFF 略) no0020,ととととと,20050120,OFF ■index.php (800字オーバーしてしまうので、省略しています。) //ファイルを配列に格納 $rec = file("sample.csv"); //レコード数を取得して、最後尾の行番号を取得 $rec_number = sizeof($rec) -1; //ページ範囲を出力 for ( $i = $rec_number-$page*$max; $i > $rec_number-$page*$max-$max; $i -- ) { $data = explode(",","$rec[$i]"); if ($data[3]==("ON") && $data[2]<=date("Ymd")) { print $data[0].("<br>"); print $data[1].("<br>"); print $data[2].("<br><br>\n"); } } print "<a href=\"?page=".($page+1)."\">次のページへ</a>\n"; ?> CSVの各行の[3]が 「ON」となっていれば表示し、 「OFF」となっていれば表示しないようにし、 また、[2]が 今日以降の日付であれば表示しないようにしたいのですが、 for文の中に上記のようなif文を使ってしまうとオカシナことに なってしまいます。 (no0020が抜けただけで1ページ目に9件しか表示されません。本当は no0020が抜けたので、no0010までの10件を表示させたいのです。) 根本的な部分が間違っているような気がするのですが、 どのような考え方で作れば良いのか分かりません。 また皆様のお力をお貸しください。 宜しくお願いします。
- ブラウザで「戻る」「進む」でエラーが発生してしまう。(POSTが原因?)
PHP+MySQLを利用しています。 「カレンダー&予約システム」的なプログラムを作っています。 例えば、 「メールフォーム(入力)ページ」から、ボタンを押して、「内容の確認ページ」に進み、 ブラウザで「戻る」を行うと、「サーバーが見つかりません ... ページを表示できません...」というお馴染みのエラーが出てしまいます。 (メールフォーム(入力)ページでは、既にSQLのデータベースよりデータを取得して、確認ページにも受け渡ししています) いろいろ考えたのですが、ページを移動する際に、変数をGETにして移動したページ同士の場合は、問題ないように思います。 ただ、変数をPOSTにして、フォームからページを移動した場合は、ブラウザで「戻る」「進む」で行き来すると、エラーが発生してしまうように思います。 こんなことってあるのでしょうか? ブラウザの「戻る」「進む」は、キャッシュしたページで移動するかと思いましたが、PHPファイルの場合、変数が入ると、どうやらキャッシュではなく、毎回読み込んでいるようですね。(推測) この辺りが関連しているかなとも思いました。 対処法などはありますでしょうか。 メールフォームの場合、確認ページから、入力ページへキャッシュで戻れないと困りますよね? また、メモリとかが関係しているのでしょうか? プログラム経験が浅いため、詳しくはわかりませんが、宜しくお願い致します。 サーバーの環境 PHP 4.2.3 + MySQL ローカルの環境 Win XP
- 特定の場合にのみ半額にしたい。
現在、ショッピングカート作りの練習をしています。 そこで質問なのですが、赤のみを選択したら1000を表示、青のみを選択したら2000を表示。ここまでは問題ないのですが、赤と青を両方選択した場合の合計を赤はそのまま1000、青を1000と半額に。合計を2000としたいのですが、おわかりになられる方がいましたら、お教えいただきたいと思います。よろしくお願いいたします。なお、sessionを利用しております。 OS WinXP PHP Ver 4.3.10 <form name="form1" method="post" action="a.php"> <input type="radio" name="a" value="1000">赤 <input type="radio" name="b" value="2000">青 <input type="submit" name="Submit" value="次へ"> </form> <<a.php>> <?php session_start(); $_SESSION['php']=$_POST['a']; $_SESSION['ph']=$_POST['b']; ?>