PHP
- PHP + Postgres エラーのハンドリング
やまとです。 宜しくお願いします。 今、PHP3とPostgres7.2でプログラミングをしています。 ちなみにOSはRedhatLinux7.2です。 PHPから、pg_execでSQL文を実行したり、pg_connectでDBに接続した場合に起きる エラーのハンドリングをしたいのですが出来るのでしょうか? Perlからではやり方は分かったのですが、PHPでのやり方が分かりません。 **************** Perlでのやり方 $db = "testdb"; $conn = Pg::connectdb("$db"); if (PGRES_CONNECTION_OK ne $conn->status){ print "システムエラーです。管理者へお問い合わせください。"; $msg=$conn->errorMessage; print "$msg"; exit; } **************** ↑みたいな感じをPHPでやりたいのですが・・・ ご存知でしたら、ご教授お願いします。
- 文字化けについて
現在PHPでの開発をおこなっています。 環境はWindows2000、Webサーバー『APACHE』、PHP『php-4.2.0-Win32』を使用しております。 Mysqlも接続でき、Web上でも表示ができるようになったのですが、文字化けを起こしてしまいます。以前カタカナの『ソ』が文字化けを起してしまったので、その時は『php.ini』ファイルの ・output_bufferring = Off ・default_charset = EUC-JP ・mbstring.http_input = auto ・mbstring.http_output = EUC_JP ・mbstring.internal_encoding = EUC_JP ・mbstring.substitute_character = none ・register_globals = On と7箇所設定を変えました。自分で作成したソースもEUCで保存してるんですけど、 文字化けが起こってしまいます。 どうしたらよろしいでしょうか? お分かりになる方がおられましたらよろしくお願い致します。
- 締切済み
- PHP
- mikokumapooh
- 回答数3
- フォームへ入力した値の取得について
PHPを始めたばかりの初心者です。 Windows NT4.0 + apache 1.3.24 + php 4.20の環境で 以下のようなサンプルプログラムを作って実行したのですが、「送信」ボタンを押しても、入力した文字が表示されません。初歩的な質問ですいませんが、原因を御教授下さい。 <HTML> <body> <FORM ACTION="sample.php" METHOD="POST"> 文字の入力 <INPUT TYPE="text" NAME="val" VALUE=""><BR> <INPUT TYPE="submit" VALUE="送信"> </FORM> <BR> <?PHP print "入力文字は<B>" . $val . " </B>です。"; ?> </BODY> </HTML>
- PHPでのメール送信フォーム
現在、PHPメール送信フォームを作成しています。 SMTPを使用してフォームを作成したいのですが、SMTPをどのように組み込んだら良いのかいまいち分かりません。 私の環境は、Windows2000、Webサーバー『APACHE』、PHP『php-4.2.0-Win32』を使用しております。 どなたか分かる方がいましたら、どうぞよろしくお願いします。
- 締切済み
- PHP
- mikokumapooh
- 回答数1
- phpのアップグレード
phpを自分のサーバに以前インストールした(rpm等使わずに手動インストール)のですが、最新バージョンにアップグレードしたいと思っています。 この場合、単に新しいのをダウンロードしてきて前回と同じようにconfigure/makeすればいいのでしょうか? また、phpの拡張機能(xmlやGD)を追加したい場合も同様の手順でいいのでしょうか? どなたか教えていただけないでしょうか。お願いします。
- Resource idの渡し方
下のようにエラーメッセージが出ました。 Warning: PostgreSQL query failed: ERROR: pg_atoi: error in "Resource id #3": can't parse "Resource id #3" in /home/***/write.php on line 29 cannot connect データベースの主キー(serial)を別のテーブル(category_xref)で外部キーとして使おうとしたのですが、どうもテーブル(category_xref)でgcode がinteger で定義されているため、エラーが帰ってきているようなのです。 Resource idはどうやって別のテーブルに渡せばよいのでしょうか? すいません、どうぞご回答よろしくお願いいたします。 // serial 型のGCODE値の取得 $sql = "select currval('gurume_gcode_seq')"; $gcode = pg_exec($db_con, $sql); if($gcode == false) {print "cannot connect"; exit;} // category_xrefテーブルへの登録 for ($i=0; $i<count($cname); $i++) { // 配列 $cname をカウント。 count($cname)にはチェックボックスをチョイスした個数が入っている $sql = "insert into category_xref (gcode,ccode) values ('$gcode','$cname')"; // 店情報の登録 $rs = pg_exec($db_con, $sql); if($rs == false) {print "cannot connect"; exit;} }
- regsiter_globalsがoffの場合の処理
regsiter_globalsがoffの場合の 引数の渡し方と受け取り方を教えていただきたいです。 regsiter_globalsがonの場合は、 「http://****/test.php?test=1」 こんな感じでできたのですが、 offの場合はどのようにすれば良いのでしょうか? 参考になるページでも良いので、教えてください。 よろしくお願いします。
- 連続で実行するには?
下のように、PostgreSQL に接続して insert を実行するプログラムを書いたのですが、 これらの3つのinsert 文を一気に実行してしまいたい場合、どうすればよいのでしょうか? // insert $sql = "insert into area values (1,'中央区')"; $sql = "insert into area values (2,'東区'); $sql = "insert into area values (3,'西区'); //ここより本文です。 <?php // connect $db_con = pg_connect("","","fuk_gourmet"); if($db_con == false) {print "cannot connect"; exit;} // insert (これだと一つしか実行できない) $sql = "insert into area values (1,'中央区')"; // execute $rs = pg_exec($db_con, $sql); if($rs == false) {print "execute error"; exit;} pg_freeresult($rs); pg_close($db_con); ?>
- Windows版PHP
たぶん初歩的な質問です。 スミマセン! WindowsNT4.0上で Apache1.3.24+PHP4.2.0 で動作させてます。(運用ではなく、まだテストですが・・) ここで PHPlib って使えるのでしょうか? 本など見てると、Authクラスでの認証やデータベース抽象化、テンプレートなど、魅力的な特典がいっぱいありそうで。。 いろいろ探してはみたのですが、見つけることができませんでした。 PHP4でPHPlib使うなら、Unix系でっていうことなのでしょうか? 何かご存知の方、教えていただけると嬉しいです。
- 超初心者の質問
はじめまして、 http://php.s3.to/tt/inst1.phpのページを参考にして phpをインストールし、動作テストをしましたが何も起こりません。 下記の事で何かお分かりでしたら教えてください。 行なった操作 1.phpのインスZipを解凍。d:\php ※デュアルブートなのでD:\にWINDOWS XPが入っている。 2.d:\php\php4ts.dll を d:\WINNT\System32にコピー。 3.d:\php\php.ini-dist を php.ini にリネームして d:\WINNTにコピー 4.AN HTTPDの設定(WEBサーバ) ISAPIとしてPHPを動かすような設定にする。 5.動作確認 <?phpinfo();?> と書いたテキストファイル test.php を用意して、設定したドキュメントルート(私の場合 D:\php)に置く。 http://127.0.0.1/test.phpでアクセス。 結果:何も起こらない。 原因:?phpファイルの関連付けみたいなのが必要かな?
- copy関数について
やまとです。 質問です。 開発環境はOS:Linuxで、PHPはバージョン3です。 copy関数を使っているのですが、IEでは正常に動作するのですが、 NNではエラーが出てしまいます。(NNのバージョンは6.2です) ロジックは以下の通りです。 if ( !copy( $file1 , $file2 ) ){ echo "失敗"; }else { echo "成功"; } NNではcopy関数は使えないのでしょうか? それとも、書き方が間違えているのでしょうか? 教えてください。 宜しくお願いします。
- PHPでMySQLのデータベースを新規で作るには?
こんにちは PHPとMySQLを勉強しているものです。 PHPからMySQLの既存データベースの接続や、テーブル参照はわかったのですが、 新規にデータベースやテーブルを作るときには PHPからどういう記述を行えばできますでしょうか。
- 半角英数文字を全角英数文字に変換する方法
半角英数文字を全角英数文字に変換する方法ってありますか? どうしても半角カナのみならず、英数字まで全角に必要が出てきたんですが、何かいいてはありますでしょうか。 jcode.phpsは英数文字まで全角に出来ませんよね。 pgrep_replaceも使ってみたんですが、うまく引っ掛かりません。 PHP3とMySQLでEUC-JPを扱ってます。 よろしくお願いします。
- BBSを作るにあたって
PHPでBBS作成したいのですが、けっこう難しいですか? あと他の言語でもBBS作成できますか? よろしくお願いします。 m(__)m
- 半角全角スペースの削除(先頭&末尾)
やまとです。 ある文字列の先頭と末尾のスペースを取り除きたいのですが、 どのようにしたら良いでしょうか? 事前に試した事が2つあります。 1.trim を使用する。 $aiueo = " あいうえ お "; $aiueo = trim($aiueo)); とすると、スペースが削除されます。 しかし、これでは全角のスペースが削除されないようですね。 2.置換する。 $aiueo = " あいうえ お "; $aiueo = str_replace( ' ', '', $aiueo ); とすると、全角のスペースが削除されます。 しかし、文字列の先頭と、末尾以外の全角スペースも削除されてしまう ようですね。 では、文字列の先頭と末尾の半角スペースと全角スペースを削除したい場合は どのようにしたら良いでしょうか? ご教授願います。
- チェックボックスからの複数検索条件での抽出
phpとpsqlを使っています。 配列で受け渡されたチェックボックスで複数選択された値$param[]を、別テーブル(t_sample)のフィールド(data)で保存されているカンマ区切りのデータと参照して$paramのデータが1つでもあれば、そのテーブルの行を抽出したいのですが…。 $param[]の数によって、SQL文が変わるので、悩んでいます。 どなたか解決の糸口をご指南ください。
- 締切済み
- PHP
- ringomikan
- 回答数2
- セッションを利用するとフォームがクリアされる
PHP 4.0.6 を使って HTML の FORMタグ を利用して、 登録ページ -> 確認ページ -> 登録完了 というようなページを作るとき、 登録ページでセッションを使っています。 すると、確認ページからブラウザの「戻る」を押すと、 入力した内容が全て初期化されてしまいます。 これでは、閲覧者が何度も入力しなければいけないので、困っています。 そこで質問なのですが、 これは、なぜセッションを使うとなるのでしょうか? また、これに対する何かよい解決方法はないでしょうか? よろしくお願いします。
- auto_incrementの値の取りだし方
またまたお世話になります。 いつも秒殺質問ばかりしているnak205です。 いまPHPとMySQLでフォームから受付を行い、auto_incrementで発行した受付番号を受付完了画面に表示させるようなものを使っています。 そこで困っているのが、MySQLにデータをINSERTしたあと、どうやって正確にインクリメントされたばかりの受付番号を得ればいいかというところです。 データをINSERTしたあと、受付番号を得るSQLを発行してる間に他の受付が入ってしまえば数字がずれてしまいますよね。INSERTと同時にauto_incrementで出来た数字の値を得る関数がPHPかMySQL側にありますか? 受付番号だけ別テーブルに置いてauto_incrementではなく、PHPで管理したほうが良いんでしょうか?
- win2000 と Unix でエラーメッセージの違い
あるプロジェクトをPHPでプログラミングをしているのですが、ワーニングメッセージで困っています。 今までずっとウェブサーバー(UNIX)にファイルをアップしてチェックしていたんですが、チームの人に自分のファイルを送ったところ、ワーニングが出るということで、自分でもPC(win2000)にアパッチとPHPをインストールしてチェックしてみました。やはりWarningが出ました。ウェブサーバーではそのようなメッセージは全くありません。プログラムも問題なく動いてます。 windowsとunixとでは何か違いがあるのでしょうか?もしくはローカルとウェブの違いなどあるのでしょうか。別のサーバー(それもUNIX)にもアップしてみましが、問題なかったです。 そのWarningメッセージなんですが Warning: Undefined index: first です。 これはフォームの中で <INPUT name=first value= <? echo $info['first']; ?> ・・・ としています。初めてこのフォームを表示するときは数値は空なので空欄で表示させます。そして二度目以降(インプットにエラーが合った場合)はフォームで送られた値を表示して、正しい値を入れさせます。この他にもたくさんインプットがあるので同じメッセージが出ます。 どうぞよろしくお願いします。