PHP
- ``を付けないと作動しません
今までは問題なかったのですが、突然テーブル名を `test`で囲まなくては作動しなくなってしまいました $sql="insert into `test` values(1,'okweb')"; $result=mysql_query($sql,$con); mysql_close($con); なぜなんでしょう? どうしたら元に戻るんでしょうか?
- 日付データの渡し方。
実際に入ってくる日付 $record['in_timestamp']='2004-09-14 09:07:29.88753+09' 上記のような方データを下記のような方法でデータをセットしていますが、 うまく値が入りません。 どのようにしたら、strtotimeでデータが渡るのでしょうか?? $recList['send_timestamp'] = isset($record['in_timestamp']) ? strtotime($record['in_timestamp']) : 0; //日時 $recList['send_day_disp'] = ($recList['send_timestamp'] != 0) ? date("Y/m/d", $recList['send_timestamp']) : ""; //時間 $recList['send_time_disp'] = ($recList['send_timestamp'] != 0) ? date("H:i", $recList['send_timestamp']) : "";
- ボーダフォン絵文字について
宜しくお願いします。 phpでボーダフォンのページを作っていますが、ボーダフォンの絵文字を表示するにはどうすれば良いのでしょう??ウェブコードのまま使うと、 『Warning: Unexpected character in input: ''(ASCII=27) state=1 in /home/****/public_html/***/***/***.php on line 4』 というエラーが表示されてしまいます。 どうすれば絵文字を使えるのでしょうか?? 教えてくださいm(__)m
- PHPのBBSについて
<? #TOPページ if($_SERVER["QUERY_STRING"] == ""){ } #インフォメーション elseif($_SERVER["QUERY_STRING"] == "info"){ } #BBS elseif($_SERVER["QUERY_STRING"] == "bbs"){ } #ハーボット elseif($_SERVER["QUERY_STRING"] == "harbot"){ } ?>のPHPでページわけしてるんですが BBSを組み込みたいのですが 組み込み方教えてください
- phpの半角カタカナの文字化け
宜しくお願いします。 phpで変数に代入した文字列が半角カタカナだとhtmlからpostで渡された一回目の表示は普通に表示されるんですが、そこから先のphpにsubmitで引き渡される際(もしくは、同じphpファイル内でsubmidで送られた際)に、代入した文字列が化けてしまいます。perlでフォーム作ってた時はこんなエラーは発生しませんでした。 携帯用のフォームとして作っているので、出来れば半角カタカナで表示できると文字列がコンパクトになるので助かるんですが・・・作ってる環境は、win2000で、サーバのphpは4.1.2-p4となっています。phpinfoで調べてみた内容は、 mbstring.detect_order auto auto mbstring.func_overload 0 0 mbstring.http_input auto auto mbstring.http_output SJIS SJIS mbstring.internal_encoding EUC-JP EUC-JP mbstring.substitute_character no value no value となっております。 何卒、アドバイスの程、宜しくお願い致します。
- phpのini_setの使い方
宜しくお願いします。 携帯サイトをphpで作ってるんですが、特定の条件になると文字化けします。携帯の日本語コードは『shift_jis』だと思うんですが、サーバのpnpinfoをみてみると、 mbstring.detect_order auto auto mbstring.func_overload 0 0 mbstring.http_input auto auto mbstring.http_output SJIS SJIS mbstring.internal_encoding EUC-JP EUC-JP mbstring.substitute_character no value no value となっていて、もしかしたら、 『mbstring.internal_encoding EUC-JP EUC-JP』 が原因かなーなんて漠然と思っています。 サーバのサポートを見てみると、 『mbstring.http_outputをあらかじめSJISに設定しておりますが、標準では、出力には変換ハンドラを経由しないように設定にしておりますので、基本的に日本語は、PHP4を記述したコードおよびPHP4 内での内部扱いコードに設定してあるEUCのまま出力されます。変換ハンドラを経由しないのは、互換性などの事由におきますものです。ユーザが PHP4に、出力時に自動的に出力をシフトJISにしたい場合には、コード内で変換ハンドラを利用するようにコーディングする必要があります。』 となっておりました。php初心者の私には読んでも何がなんだかさっぱりわからず、悩んでおります。 自分なりの解釈として、 『ini_set関数を使ってサーバのphpの設定を変更してあげれば、文字化けは解消する』のでは?と思い、webでini_set関数の使い方を検索してみましたが、行き着く先はphpのサイトになってしまい、見ても使い方自体はよく分かりませんでした。 大変悩んでおります!どなたか助けてください!! 宜しくお願いします。
- 二重投稿防止処理
PHPの掲示板を作成しています。 現在リロードや連続で送信ボタンを押された際の二重投稿防止処理を作っているのですが、どうしてもうまくいきません。 ログで最新に書かれた記事を呼び出し、送信されたデータと比較し、名前とコメントが一緒であれば二重投稿という扱いにするつもりなのですが、 改行があるとうまくいかないようなのです。 str_replaceを使って<br>タグを削除したり、 \r\nや\rを\nに統一させたり、 両方にtrimを使用してみたりしたのですが、 ソースを見るとフォームで送られてくるコメントのみ、どうしても改行されたままなんです。 これは一体何が原因なのでしょうか? どうしたら改行を含んだデータを比較することができますか?
- MIRACLELINUXでPHP
MIRACLELINUXにPHPがインストールされているかを確認するにはどうすれば良いでしょうか。 端末からphpinfo.phpというファイルをFFFTPでサーバー側にアップしたのですが、ブラウザには<?php phpinfo() ?>とそのまま表示されPHPの情報は表示されませんでした。 どうすれば良いかわかりません。 よろしくお願いします。
- クエリ文字列が取得できない
以下のようなプログラムを作りました。 test.php -------------- <HTML><BODY> <?php echo($_REQUEST["n"]); ?> </BODY></HTML> -------------- それで http://(省略)/test.php?n=5 とURLをいれて Query Stringから5を取得させて表示させたいのですが ローカルでのテスト(Apache/1.3.27)はうまくいくのですが サーバーにアップロードすると何も表示されません。 他のPHPのプログラムは動くのですが、どうもこの$_REQUEST["n"];の部分がうまくいっていないようです。 プログラムのミスか、設定のミスか、考えられる対処法を教えていただけないでしょうか? 環境 PHP 4.2.2 サーバー:レンタルサーバー(1-man.net) (phpは使えるサーバーです) Dreamweaver MX
- インクルードされたファイルに書かれている変数を表示させたい
testA.php、testB.phpという2つのファイルがあり、 中身はそれぞれ testA.php・・・ <?php $hensu = "これはテストです"; include ('testB.php'); printtest(); ?> testB.php・・・ <?php function printtest() { print "表示テスト"; print $hensu; } ?> という感じになっています。 これだとtestB.phpはインクルードされるのですが、$hensuが空になって表示されます。 $インクルードした時に$hensuを表示させるにはどうしたら良いのでしょうか? アドバイスをお願いします。
- phpMyAdminの初期設定のトラブルについて
新しい(専用)サーバーです。 phpMyAdminをFTPで設置しました。 config.inc.phpに、必要な情報を加えたはずなのですが、実際に、アクセスすると、以下のエラーが出て、ログインできません。 #1045 - Access denied for user: 'root@localhost' (Using password: YES) 事前に、サーバー側に別途何かしなければ、いけないのでしょうか?それとも、config.inc.phpに設定の誤りがあるのでしょうか? 何が問題で、どのようにすればよいのかが、わかりません。 どなたか、ご指南頂けると助かります。
- PHPでMySQLに接続する場合、効率がいいのは?
お世話になります。 今、PHP、MySQLを使って、更新頻度の高いアプリケーションを作成中ですが、 $con = mysql_connect(~); mysql_select_db('***',$con ); と接続を行ってから、検索、更新などが1プロセスの中で 何度も出てきます。 こういう場合、接続はいちいち mysql_close() するのと プロセスの最後で切断するのでは、どちらがどれぐらい効率がいいのでしょうか?(リソース的、パフォーマンス的に) 1プロセスで多数のfunctionを通過し、その中でそれぞれSQLを発行する場合でも、やはり接続は維持していた方がいいのでしょうか? そして、mysql_free_result($result) を行うタイミングもよく分かりません。 本当にまだ初心者で、やっと構文が書ける程度ですのでよろしくお願いいたします。
- header()を使用しCSVファイルの生成はできましたが・・・
現在、 server:Red Hat Linux Advanced Server 2.1 Apache:Apache1.3.23(Red-Hat RPM) php:4.3.7 DB:Oracle9i 上記の環境にてWEBシステムの開発を行っています。 CSVをユーザー側へダウンロードまで の処理に問題はないのですがボタン自体、検索画面 上に設置している為、ダウンロードボタン押下後に、 別ボタン(例えば検索ボタンなど・・)を押下すると 再度CSVダウンロードのダイアログが表示されてしまう 障害が発生して困っています。 現状把握してる範囲は (1)F5などリロードすると解消されます。 (2)herder()関数でキャッシュをno-cacheに設定しても駄目。 イメージ的にはherder()関数が原因かな?程度しか わかりません。サイトで調査もしましたが、 宣言したherder()自体を初期化するような事って できるのでしょうか? 以下抜粋したソースを添付します。 宜しくお願いします。 //検索結果をCSV形式に保存 if ($_POST["H_OutPutCsv"] == "OutPut"){ //←ダウンロードボタンが押下された時のみ処理 header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename=output.csv");
- 入力チェックについて
今、メールフォームを作っているのですがHTMLで入力してもらいkakunin.phpでチェックします。入力ミスがあれば、error.htmlへミスが無ければそのままkakunin.phpで表示したいのですが、中々上手くいきません。長い文で恐縮ですがよろしければご教授ください。 ★HTML★ <form name="form1" method="post" action="kakunin.php"> <td width="64">お名前</td> <td width=<input type="text" name="name"></td> </tr> </table> <input type="submit" name="Submit" value="送信"> </form> ★kakunin.php★ <?php $name=$_POST["name"] $Submit=$_POST["Submit"] //記入チェック if($Submit=="送信") { if (empty ($name)){ header("Location: error.html"); exit; } } ?>
- preg_replace, ereg_replace
$bodyにはテキストファイルなどから読み込んだ、$dateと言う文字(変数ではない)と、改行を含む文字列。 それで、「$date」を、phpスクリプト上の$dateの値に置換したく、 $tmp = preg_replace("/\$date/s", $date, $body); または、 $tmp = ereg_replace("\$date",$date,$body); としたのですが、どうも置換されません。何がいけないのでしょうか?
- PHPによる画像の生成による色の変化
お世話になっております。 PHPでアップロードしたjpg画像を縮小して生成しているのですが、色がおかしくなってしまいます。 (全ての画像が荘ではないのですが、変わるものは元の画像とはまったく違った青の強い色になってしまう。) ソースはこんな感じなのですが、何かおかしい部分があったらお教えいただけますでしょうか。 また、何か画像処理を加えてあるものを使用するとこのような経験がある方いらっしゃいましたらよろしくお願いいたします。 version 4.3.8です。 ******************** function imgjpg($_val1,$_val2,$_val3) { $size=GetImageSize("$_val1"); $image_in = ImageCreateFromJpeg("$_val1"); //縦長か横長か計算 $ratio = $size[0] / $size[1]; if($ratio > 1){ //横長の場合 $image_out = ImageCreate($_val3,$_val3 / $ratio); imagecopyresized($image_out,$image_in,0,0,0,0,$_val3,$_val3 / $ratio,$size[0],$size[1]); } else {//縦長の場合 $image_out = ImageCreate($_val3 * $ratio,$_val3); imagecopyresized($image_out,$image_in,0,0,0,0,$_val3 * $ratio,$_val3,$size[0],$size[1]); } ImageJPEG($image_out,$_val2); ImageDestroy($image_in); ImageDestroy($image_out); ********************
- 配列へのデータセット方法
AテーブルのnameフィールドをMySQLのSELECT文で読込み、結果のnameフィールドを配列$arynameにセットしたいとおもいます。 配列の結果は、 array([0]=>aaa [1]=>abc [2]=>def [3]=>ggg) となる様にしたいのですが、結果が上手くいきませんでした。 教えてください。 $sql1="SELECT name FROM `A`"; $db->query($sql1); $cnt=1; while($db->next_record()){ $name=$db->f("name"); $aryname=array($name); $cnt++; }
- PHPファイルでテキストファイルのデータを編集(読み書き)する方法について
ホームページ内の部分的な文章をブラウザ上で編集できるようにしたいのです。 その文章をテキストファイルに保存して、PHPファイルから、文章を編集する方法について教えてください。 以下は、ネット上で調べて、設定ファイルを編集するソースを利用させて頂いたものです。 イメージは、これで問題ないのですが、以下の場合、改行が含まれる文章の場合は動作しないのです。 設定ファイルを編集するように作られているので仕方ないのかなと思いますが、改行を含んだ文章も利用できるようになりますでしょうか? ##edit.php <?php $ini = parse_ini_file('config.ini'); if ($HTTP_POST_VARS['data1']) $ini['data1'] = $HTTP_POST_VARS['data1']; if ($HTTP_POST_VARS['data2']) $ini['data2'] = $HTTP_POST_VARS['data2']; if ($HTTP_POST_VARS['data3']) $ini['data3'] = $HTTP_POST_VARS['data3']; $fp = fopen('config.ini', 'w'); foreach ($ini as $k => $i) fputs($fp, "$k=$i\n"); fclose($fp); ?> <html> <title>テキストファイルのデータ更新</title> </head> <body> <form method="post" action="edit.php"> data1の変更 - <input type="text" name="data1" value="<?php print $ini['data1'] ?>"><br> data2の変更 - <input type="text" name="data2" value="<?php print $ini['data2'] ?>"><br> data3の変更 - <input type="text" name="data3" value="<?php print $ini['data3'] ?>"><br> <input type="submit" value="送信"> </form> </body> </html> ##config.ini の中身 data1=タイトルです。 data2=サブタイトルです。 data3=本文です。 ↑改行した文章も対応したい。。iniファイルをtxtファイルにしないとだめ?