PHP
- PHPからJavaを呼ぶと2バイト文字が文字化けします
Linux+PHP4 にてJava 1.4.2のライブラリーを呼ぶと 2バイト文字が ?? となって処理されてしまいます <例> <?php $J_String = new Java('java.lang.String',"aたbcdefg"); print $J_String->length()."<br>" ; print $J_String->substring(0,4)."<br>" ; ?> を実行すると下記が返ってきます 9<br>a??b<br> #『た』の部分が『??』となります 対応方法をご存知でしたら教えて下さい //
- 入力チェックでの値の保持
php(Version 4.3.11)でフォームの入力チェックを含んだ部分を作成しております。 1. aaa.phpにてデータ入力 2. bbb.phpにて入力されたデータの整合性をチェック チェックを通ればccc.phpへ チェックに引っかかればaaa.phpへ戻る ・・・※ ※において、aaa.phpにて入力されたデータを保持したいのですが、どよのうにするのが標準なのでしょうか? (「趣味」項目のテキストボックスに「ドライブ」と入力されていたら、aaa.phpに戻ったとき、「趣味」項目のテキストボックスに「ドライブ」をセットしたい。) 入力項目はかなり多いので、 Location:a.php? で引き継ぐのも良くないと思ってます。 今まではaspでイントラネットの開発ばかりだったので、全部JavaScriptで行っていました。 宜しくお願い致します。
- リストボックスにテキスト入力もさせられるか?
困っています(質問のレベルは超初心者です)。 PHPでフォームを作っていますが、リストボックスに表示させる項目に該当するものがなかった場合、直接入力ができるようにしたいのですが、そういう事はできるのでしょうか。できる場合、どうやったらできるか教えて下さい。 もし、上の事ができない場合、リストボックスの「その他」を選んだ時だけ横にあるテキストボックスが入力可になる、というような事はどうやったらできるのでしょうか。 超初心者ですので、当たり前の事が分かっていないかも知れませんが、どうぞよろしくお願いします。
- PHP+MySQLで高速化
mysql_query()が返したresourceの行数は得られませんか? 例をあげると データが id p (フィールド) 42 651 23 357 67 123 28 385 このように4レコード有ったとして $res = mysql_query('select p from tbl where p="123"'); これで、$resから3行目というのを得て、3を使ってidの67を得たいのですが、 $res = mysql_query('select id,p from tbl where p="123"'); のようにして$resのidを見るようにする以外の方法は無理なんでしょうか? もし前者が可能ならそちらの方が速いと思うのですが。
- splitとexplode
splitとexplodeの機能的な違いと速度について、機能の方は違いが分かるソース付きで教えてください。 $sepa = ''; $str = ''; $limit = ; $test = explode($sepa ,$str , $limit);
- '2/1'を'02/01'に変換 (修正版)
keyguy するため <?php $x=preg_replace("|(\d+)/(\d+)|",sprintf("%02d/%02d",$1,$2),'2/1'); echo"$x<br>"; ?> としましたがエラーになりうまくいきません どうしたらうまくいくでしょうか?
- '2/1'を'02/01'に変換
するため <?php $x=preg_replace("|(\d\d)/(\d\d)|",sprintf("%02d/%02d",$1,$2),'2/1'); echo"$x<br>"; ?> としましたがエラーになりうまくいきません どうしたらうまくいくでしょうか?
- else ifは有効ですか?
elseifを間違えてelse ifと書いてしまいましたが期待通りに動いていました。 今時のものはelse ifは標準として認められているのでしょうか?
- バーチャルホストでの SESSION変数名
現在バーチャルホスト内にて3つのWEBサイトが入っているサーバーがあります。 1つ目のサイトから2つ目のサイトへリンクをクリックして移動した場合にはSESSION変数名が同一の場合にはそのSESSION変数が有効となってしまいます。 例えば http://www.one.php/ $_SESSION['USER_NAME'] = '佐藤' http://www.two.php/ に$_SESSION['USER_NAME'] があると 佐藤が表示されてしまう。 つまり、サイト毎でSESSION変数名が同じであっても 別のSESSION変数としてスコープ等設定できるのでしょうか。 バーチャルホストにてPHPで、SESSIONを扱う場合はどうしたらよいのでしょうか。 環境 RedHat7.2 php4.3.10
- 警告が出るのですが。
本日オンラインゲームでギルドに加入しているの ですが、ギルドのギルド員だけのページを見ようとしたところ。いつもならばIDとパスワードを入力する 画面が出るのですが。 いきなり、 「Warning: Cannot add header information - headers already sent by (output started at /home/webuser/ホームページのアドレスphp:2) 」 と表示されてしまいアクセスすることが出来なくなってしまいました…。 数時間前までは普通にアクセスできていたのですが、 何故いきなりこのような事になってしまったのでしょうか…。PCは殆ど知識が無く。 レジストリなどを書き換えるなどの技術的なことは 一切出来ませんししたこともありません。 同じギルドの方に聞いたところ その人は普通に見ることが出来るそうなのですが… インターネットオプションでファイルとcookieの 削除も試してみましたが症状は変わりませんでした。 これはISPによる障害なのでしょうか…^^; 時間がたてば元通りになる。と考えられるでしょうか。 乱文ですがどなたか意見を聞かせて もらえないでしょうか…。
- [PHP+MySQL] 2列のソートと合計
PHP勉強中で、まだ未熟でやりたいことが形にできません。どうか、時間ある方でけっこうですので、お答えいただければ幸いです。 Apache2.0 PHP 5.0.3 MySQL 4.0.2.3 という環境で稼動してます。 今困っているのが [日付] [分類] [価格] という3つのフィールドがあり、 20050125 128 500 20050125 126 1200 20050126 124 800 ... といった感じのレコードが大量に入っております。 これをDBからとりだして表示させたときに、 1、日別に分類ごとの価格の合計をだし 2、日付でソートして、その日付内で分類もソート ということがやりたいのですが、なにか手はございますでしょうか? 20050125 123 1500(←価格の合計) 20050125 124 2500 ・・・ 20050126 123 1200 20050126 124 5600 ・・・ といった形です。 お勧めサイトや使えそうな関数など、ちょっとしたヒントでもかまいませんので、 どうかお力をお貸しください。 よろしくお願いいたします。
- ページ移動での値の保持
PHPカテゴリなら 詳しい方がおられるかな?と思い、質問です。 ブラウザ(フォームとか)から入力した値を 画面を何度切り替えても保持していく方法について、 ふと疑問に思ったことです。 <input type="hidden" name="a" value="<?= $_POST['a'] ?>"> のように仕組んでおくと、前のページからの a の値を次のページに渡せますよね。 この方法と、セッションを使う方法の、どちらがよいやり方でしょう? 1)サーバーとブラウザで キャッチボール式に値を投げっこして保持していくのと、 2)セッションに登録してしまって、サーバーで保持するのと、 どちらがどういいのか気になりました。 もちろん、パスワードの類は前者(1)をやるとよろしくないと思いますが、サーバーの負荷具合とか、速さとか、プログラミング上のこととか、良いところ悪いところを、どうか教えてください。 専門家の意見、個人的な意見、好み、理屈の通った意見、いろいろ待ってます。
- mysql_queryは最大いくつまで登録できるのでしょうか。
いつもお世話になっております。 またまた詰まってしまいました。 mysql_query関数で、30程度のデータをひとつのレコードとしてデータベースに登録しようとしているのですが、どうしても登録に失敗してしまいます。 データベース、テーブルはphpMyAdminで作成しました。 id(auto_increment:主キー),a(varchar(20)),b(aと同様),c・・・,z(varchar(20))とします。 $sql="INSERT INTO table(a,b,・・・z) VALUES('$a','$b',・・・'$z'); mysql_query($sql,$conn); と、しています。$connには問題ありません。一応、すべて文字列を登録しようとしています。(数字もありますが、文字列としています) ためしに簡単なデータベース、テーブルを作成し、実行してみるとうまくいきました。 何が悪いのでしょうか・・・(変な質問になってしまいまして、すみません。)
- ベストアンサー
- PHP
- tomofriend
- 回答数1
- セキュリティーを意識した書き方。
前にPerlでmyの"有効"な使い方が分からないと 書いたものです。^^; 使い方は分かるんですが、my宣言するよりも、 変数の名前を変えた方がわかりやすい、、ような? その時は、最終的に「Perlは柔軟な書き方ができる」と回答して頂いたのですが、今回PHPを勉強にするに あたって、せっかくなのできっちりとした、コードの 書き方を知りたく、質問しています。 HPや細かな事でも、自分で調べる事もできますので、 注意点等を教えて頂ければ幸いです。 やっぱり、globalは宣言した方がいいのでしょうか?^^;
- ベストアンサー
- PHP
- happy_books
- 回答数3
- 連続投票禁止システム
一覧ページで画像をサムネイル形式で表示し、その画像をクリックし詳細画面に遷移した時点で投票扱いにするようなシステムを考えています。 同じ画像に対して何度も投票されるのは困るので、連続投票を禁止するシステムとして、リモートホストで判別する方法を考えていたのですが、IPアドレスを変えて接続し直してきた場合には対処できません。 一般的には連続投票禁止システムはどのように実装するものなのでしょうか? 宜しくお願い致します。
- php学びたいのですが教えてくれる学校がありません
プログラミングは全くの初心者ですが どうしてもマスターしたいです 本を読んでコードの読み方はなんとなくわかってきましたが 学校等で学んだ方が早いと思いまして 色々探しましたがないのですよね… そこで思ったのは CGI&perlを学校で習って それをPHPに応用してみては?? と思ったのですがこのような学習方法は 果たしてよいといえるのでしょうか?? ご回答をお願いします
- ベストアンサー
- PHP
- master817199
- 回答数3
- 検索結果の出力方法について
"001","Aさん","ぶどう", "001","Aさん","みかん", "001","Bさん","バナナ", "001","Bさん","イチゴ", "001","Cさん","スイカ", "001","Cさん","メロン", "002",・・・ "003",・・・ 例えば上記の様な検索用のログファイルがあり、”001”で検索した場合、今のところ極々単純に ━━━━━━━ │Aさん|ぶどう| ━━━━━━━ |Aさん|みかん| ━━━━━━━ |Bさん|バナナ| ━━━━━━━ |Bさん|イチゴ| ━━━━━━━ |Cさん|スイカ| ━━━━━━━ |Cさん|メロン| ━━━━━━━ ↑という感じで結果を出力させているのですが、 これを ━━━━━━━ |Aさん|ぶどう| | |みかん| ━━━━━━━ |Bさん|バナナ| | |イチゴ| ━━━━━━━ |Cさん|スイカ| | |メロン| ━━━━━━━ 上記のように、同じ名前の結果が複数ある場合、それを統一して結果を表示させたいと考え、いろいろと悪戦苦闘してみましたが、どうしてもうまくいきません。 ログファイルには手を加えないという事を前提に、下のテーブルのような出力に なるような、構文の書き方がありましたら、是非教えてください。
- ランダム関数による抽出について
現在 $id には抽選される対象のID $del_id 当選した人や除外対象のID こちらの2つは配列に格納されています。 現在下記のようにプログラムを作成しましたが、 同じIDが登録されてしまいます。 何かよい手はないでしょうか? $rand_keys = array_rand($id,3); for($k=0;$k<count($rand_keys);$k++){ //当選した人は除く処理 for($a=0;$a<count($del_id);$a++){ while($del_id[$a] == $id[$rand_keys[$k]]){ $rand_keys = array_rand($id,3); } } }