- 1 名前:nobodyさん mailto:sage [2008/11/22(土) 06:36:02 ID:???]
- このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。 PHP使いが優しくコメントを返しますが、 お礼はPHPの布教と初心者の救済をお願いします。 PHP Home Page www.php.net/ jp.php.net/ くだすれPHP(超初心者用)4 pc11.2ch.net/test/read.cgi/php/1213356756/ 適当に関連スレ(マルチはだめぽ) 【PHP】下らねぇ質問はここに書き込みやがれ 69 pc11.2ch.net/test/read.cgi/php/1211879073/
- 375 名前:nobodyさん mailto:sage [2009/01/03(土) 14:19:04 ID:???]
- んんんだこのgdgdはw
複数サイトをプロジェクト(複数人数)でやるんだから、ファイルのアップロード方式の方が重要。複数の人間がftpでアップするのなら、それを管理しやすい方法で あと、htdocs/aaa/bbb/ とかでやった場合、mod_rewrite の RewriteBase が後でアレな時あり プロジェクトを管理できれば良いので、エディタは何でもいい
- 376 名前:nobodyさん mailto:sage [2009/01/03(土) 14:38:30 ID:???]
- 複数の人間が更新するならCVSとか使うかなあ
サイト側もcheckoutするのだ
- 377 名前:nobodyさん mailto:sage [2009/01/03(土) 14:55:16 ID:???]
- checkoutじゃなくて、exportな
- 378 名前:nobodyさん mailto:sage [2009/01/03(土) 14:59:27 ID:???]
- >>371 〜 >>375 あざーす。
ぐぐって勉強してみます。
- 379 名前:nobodyさん mailto:sage [2009/01/03(土) 15:57:48 ID:???]
- Subversionを使っているのに何故かデプロイがftp経由ファイル単位なうちのプロジェクトは滅ぼしていいと思う。
>370 同時にいじるなら、何も考えずにやってるとアクセスログが同じファイルになってしまうので、やりづらいと思う。 そのままでもできるけど、バーチャルホストの方がエラーログの切り分けが簡単。 あとは両プロジェクトで同名のクッキーを使った場合衝突が発生する点かな。セッション周りが特に危険。 あと、本番環境に持っていく際に、相対リンク/絶対リンクとか周りで絶対いくつかリンク切れが発生すると思う。 以上のような点を気にしなくて良いのならば、そのままでもいいんじゃない?
- 380 名前:379 mailto:sage [2009/01/03(土) 16:44:44 ID:???]
- ああ、そもそもセッション変数が共有されてしまう点の方が問題か。
クッキーは発行パスを適切に指定すれば混ざらないが、本番環境への移行の際に適切な修正をする必要がある。
- 381 名前:nobodyさん mailto:sage [2009/01/12(月) 12:35:49 ID:???]
- パール互換の正規表現についてなのですが、
preg_matchなど公式マニュアルに出ている内容については理解したのですが、 Perlとは微妙に違うリテラルやトークンの使い方について詳しく説明してある ドキュメント等はないでしょうか?
- 382 名前:nobodyさん mailto:sage [2009/01/12(月) 13:43:52 ID:???]
- PHPって確か鬼車使っているんだっけ
だとしたら ttp://www.geocities.jp/kosako3/oniguruma/doc/RE.ja.txt 補記 3. Perl 5.8.0と比較して存在しない機能 + \N{name} + \l,\u,\L,\U, \X, \C + (?{code}) + (??{code}) + (?(condition)yes-pat|no-pat) * \Q...\E 但しONIG_SYNTAX_PERLとONIG_SYNTAX_JAVAでは有効
- 383 名前:nobodyさん mailto:sage [2009/01/12(月) 15:24:30 ID:???]
- ありがとうございます!
参考にメモさせていただきました
- 384 名前:nobodyさん mailto:sage [2009/01/13(火) 02:11:38 ID:???]
- くだらない事なんですが、一つ気になっている事があります。
PEAR::Logでログでログ管理をしようと思っているのですが、 手元の参考書やWebで調べると、解説のサンプルプログラムが <?php require_once 'Log.php'; $file = &Log::factory('file', 'out.log', 'TEST'); $file->log('ログ内容'); ?> みたいな場合が多いのですが、この場合Log::factoryで作成した インスタンス(?)の$fileは明示的にcloseか何かしなくて言いのでしょうか? 例えば、普通のファイル操作ならfopenしたら最後はfcloseをするので、 Log::factoryもそれに該当する操作が必要ないのか?と気になりましたので・・・・
- 385 名前:nobodyさん mailto:sage [2009/01/13(火) 03:08:48 ID:???]
- マニュアル嫁
- 386 名前:nobodyさん mailto:sage [2009/01/15(木) 22:20:46 ID:???]
- テキストファイルを読み込んで一行ごとに配列に入れ
配列を検索して特定の文字が含まれていた場合そのインデックスを返す っていうのをやりたいのですが、わかりません。よろしくお願いします。 インデックス1を返して欲しいんですが、何も返ってきません。 ***テキストファイルの中身******* 群馬県 栃木県 茨城県 埼玉県 東京都 **************************** <?php //ファイルを開く $filename="test.txt"; //配列に代入する $f1=file($filename); //特定の文字が含まれる要素を探す $word="栃木県"; $key=array_search($word,$f1); print($key); ?>
- 387 名前:nobodyさん mailto:sage [2009/01/15(木) 22:27:13 ID:???]
- 返り値
ファイルを配列に入れて返します。 配列の各要素はファイルの各行に対応します。改行記号はついたままとなります。 失敗すると file() は FALSE を返します
- 388 名前:nobodyさん mailto:sage [2009/01/15(木) 22:28:50 ID:???]
- $word="栃木県\n";
- 389 名前:nobodyさん mailto:sage [2009/01/15(木) 23:00:30 ID:???]
- >>387
>>388 レスありがとうございます。 この検索の場合は完全に一致するものしか検索できないんですね。 例えば $word="玉"; とした場合に 埼玉県のインデックスの3を返すというのは無理なんでしょうか?
- 390 名前:nobodyさん mailto:sage [2009/01/16(金) 00:17:00 ID:???]
- >>389
データーベースに入れて 「like」検索をすればできる。
- 391 名前:nobodyさん mailto:sage [2009/01/16(金) 07:02:26 ID:???]
- >>389
DBなんて使わなくてもstrposでできる
- 392 名前:nobodyさん mailto:sage [2009/01/16(金) 15:17:30 ID:???]
- >>391
strposって、最初に出てきた位置を返す関数じゃない? 「あるかどうか」を調べる関数のほうがいいんだけど。
- 393 名前:nobodyさん mailto:sage [2009/01/16(金) 15:19:44 ID:???]
- 最初に出てくる=ある
- 394 名前:nobodyさん mailto:sage [2009/01/16(金) 16:25:58 ID:???]
- strposで位置取得
そこまでに\nがいくつあるか ウマー
- 395 名前:nobodyさん mailto:sage [2009/01/16(金) 23:23:04 ID:???]
- 俺なら何も考えず配列に格納→foreachでループ→中でstrpos
>392 strposは文字列検索としては最速の部類。 他の選択肢はpreg_match位しかないが、preg関数とstr関数じゃお話にならんほど速度が違う。
- 396 名前:nobodyさん mailto:sage [2009/01/16(金) 23:24:33 ID:???]
- 説得力を持たせるためにベンチマークを載せてはどうかね?
- 397 名前:nobodyさん mailto:sage [2009/01/16(金) 23:28:16 ID:???]
- 自分でやれ
- 398 名前:nobodyさん mailto:sage [2009/01/17(土) 11:25:45 ID:???]
- >>396
395ではないが暇なので作ってみた $imakara_ikude = microtime(TRUE); $dokowo_sawatte_hosiinya = '検索対象にしたい任意の文字列'; $kokoga_eenka = '検索したい任意の文字列'; $kokoga_eenka_pattern = '/' . preg_quote($kokoga_eenka, '/') . '/'; $itte_itte_ikimakuru = 100000; for ($i = 1; $i <= $itte_itte_ikimakuru; $i++) { if (strpos($dokowo_sawatte_hosiinya, $kokoga_eenka) !== FALSE) {} // if (strstr($dokowo_sawatte_hosiinya, $kokoga_eenka)) {} // if (preg_match($kokoga_eenka_pattern, $dokowo_sawatte_hosiinya)) {} } $doya_yokattaka = microtime(TRUE) - $imakara_ikude; echo $doya_yokattaka; ■結果 - Windows XP(ペン4 3.2GHz)+XAMPP(PHP5.2.2) strpos():0.060ぐらい strstr():0.052ぐらい preg_match():0.28ぐらい strstr()の方が微妙に早いが、公式マニュアルでstrstr()の説明見ると strpos()使えカスと書いてるので俺は素直にstrpos()使う。
- 399 名前:nobodyさん mailto:sage [2009/01/17(土) 11:38:45 ID:???]
- >>392
というわけで、 if (strpos($str, 'search') !== FALSE) を使え。必ず「!== FALSE」にするように。理由は説明ダルいからマニュアル見れ。 >>389 $index = FALSE; $word = '玉'; if ($ary = file('test.txt')) { foreach ($ary as $key => $val) { if (mb_stripos($val, $word) !== FALSE) { $index = $key; break; } } } var_dump($index); strpos()はマルチバイト対応してないので、mb_系使うように。
- 400 名前:nobodyさん mailto:sage [2009/01/17(土) 11:43:51 ID:???]
- >>399で書き忘れたが、大規模検索なら素直にDB使う。
>>384 気持ち悪いなら明示すりゃいい。というか、色んな意味で明示したほうが良いと俺は思う。 phpは、リソースのオープンは明示しなくても自動的に閉じてくれる。(ファイルであれDBであれ) >>382 PHP5から鬼車。mb_ereg()系で。 preg_match()では使われてないのでは?
- 401 名前:nobodyさん mailto:sage [2009/01/17(土) 11:53:04 ID:???]
- お前らJavaとPHPのスキルを比率で示してくれ。
俺の場合 Java : PHP = 5 : 5 ただ、レンタルサーバ代がJavaだと高いから力配分を 1:9程度に持って行こうかと思ってる。
- 402 名前:nobodyさん mailto:sage [2009/01/17(土) 12:00:27 ID:???]
- >>399
最初にifしてるのはなんで?
- 403 名前:nobodyさん mailto:sage [2009/01/17(土) 12:05:09 ID:???]
- >>402
$a = array('a', 'b', 'c'); foreach ($b as $k => $) {} 実行すれば分かる
- 404 名前:nobodyさん mailto:sage [2009/01/17(土) 12:06:47 ID:???]
- >>398
変数ワロタwww
- 405 名前:400 mailto:sage [2009/01/17(土) 12:11:35 ID:???]
- >>384
あ、ひょっとしたらデストラクタで閉じてるのかもね。と一応>>400に付けたし。 連レスウザいだろうからこの辺で。
- 406 名前:nobodyさん mailto:sage [2009/01/17(土) 12:23:28 ID:???]
- >>403
だったら普通初期化するかキャストするもんだよ
- 407 名前:nobodyさん mailto:sage [2009/01/17(土) 12:25:11 ID:???]
- >>406
開こうとしているファイルが必ず開けるとは限らないわな。
- 408 名前:nobodyさん mailto:sage [2009/01/17(土) 12:26:13 ID:???]
- >>407
foreach((array)file('〜') as ...)
- 409 名前:nobodyさん mailto:sage [2009/01/17(土) 12:29:37 ID:???]
- phpごときで何細かいことウダウダやってんだかww
- 410 名前:nobodyさん mailto:sage [2009/01/17(土) 12:30:34 ID:???]
- >>406
エラー処理がしやすいとかじゃね?
- 411 名前:nobodyさん mailto:sage [2009/01/17(土) 12:34:40 ID:???]
- あと
$ary = file('test.txt') or array(); $ary = file('test.txt') or exit; とか。もしくは例外使う。 何か関数からの出力を得る度にifで1ブロック使うなんてナンセンスすぎ。
- 412 名前:nobodyさん mailto:sage [2009/01/17(土) 12:38:43 ID:???]
- 399は最近学び始めてphpが分かってきたから答えたくてたまらないお子ちゃまか
- 413 名前:399 mailto:sage [2009/01/17(土) 12:39:51 ID:???]
- >>411が糞ウザくなってきたから一言。
あのな。 言っておくが、>>399みたいな処理は普通はクラスのメソッド通すなりするわ。 めんどくさいからはしょってるだけだろーが。分かるか?あ?? なんか>>411見てると、俺の会社の全然使えないカスPGにそっくりで殴り倒したくなるわw
- 414 名前:nobodyさん mailto:sage [2009/01/17(土) 12:40:56 ID:???]
- いやお前のコードが使えないんじゃん
- 415 名前:nobodyさん mailto:sage [2009/01/17(土) 12:41:35 ID:???]
- お前ら、質問があっても誰も答えないくせに
誰かが答えるとそれには文句つけないと気がすまないんだな。 どうしようも無いカスだなw
- 416 名前:nobodyさん mailto:sage [2009/01/17(土) 12:42:27 ID:???]
-
たかがPHPでしょ 動けばいいじゃん ばか?
- 417 名前:nobodyさん mailto:sage [2009/01/17(土) 12:43:17 ID:???]
- 能力ないのに見栄を張るとは恥ずかしい奴だなw
- 418 名前:nobodyさん mailto:sage [2009/01/17(土) 12:46:56 ID:???]
- さすがPHPスレ。お前ら目糞鼻糞。
- 419 名前:nobodyさん mailto:sage [2009/01/17(土) 12:50:26 ID:???]
- ____ ) 『 実行すれば分かる 』っと、
/⌒ ⌒\ ) 『 開こうとしているファイルが必ず開けるとは限らないわな』っと。 /( ●) (●) \ )/⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y丶 / ::::::⌒(__人__)⌒::::: \ | |r┬-| | \ `ー'´ / ノ \ /´ ヽ カ | l l||l 从人 l||l l||l 从人 l||l カ タ ヽ -一''''''"~~``'ー--、 -一'''''''ー-、. タ ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒)) ┌┬┬┐┌┬┬┬┐┌┬┬┬┐┌┬┬┬┐ ,. - ''"| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ρ ̄`l  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ノ ̄ ̄ ____ /::::::─三三─\ foreach((array)file('〜') as ...) /:::::::: ( ○)三(○)\ |::::::::::::::::::::(__人__):::: | _____ \::::::::: |r┬-| ,/ .| | ノ:::::::: `ー'´ \ |
- 420 名前:nobodyさん mailto:sage [2009/01/17(土) 12:52:06 ID:???]
- やぱりphpしか使えない奴ってバカっ事でOK?
Java使いが一番
- 421 名前:nobodyさん mailto:sage [2009/01/17(土) 12:52:28 ID:???]
- >>419
ウケルwwwww
- 422 名前:nobodyさん mailto:sage [2009/01/17(土) 12:53:47 ID:???]
- アホな奴もいるもんだなw
- 423 名前:nobodyさん mailto:sage [2009/01/17(土) 13:03:06 ID:???]
- 自演煽りのクオリティが低すぎて吹いた
- 424 名前:nobodyさん mailto:sage [2009/01/17(土) 13:46:03 ID:???]
- 書き込み時間と日頃のレスの伸びからして2名が暴れていただけらしいな
PHPやってると頭だけではなく性格まで悪くなるらしいから気をつけようww 融通利かないやつやコミュニケーション能力無いやつは PGだろうが何だろうが使えん うちにも1名いて給料の査定も下がったはずだが、はやくその理由に気付いて辞めてくれ
- 425 名前:nobodyさん mailto:sage [2009/01/17(土) 17:45:47 ID:???]
- 一週間を表示する関数を作ってみたんですが、
どういうわけか土曜日だけ文字化けしてしまいます。 解決策はないでしょうか? <?php write_day(); //一週間を表示する関数 function write_day(){ while($i<7){ print($f1[$i]); $ts=getDay($i); print(date("m/d".getYoubi(date("w",$ts)),$ts)); $i++; } } //曜日を漢字に変換 function getYoubi($wday) { $arr = array("(日)","(月)","(火)","(水)","(木)","(金)","土"); return $arr[$wday]; } //日にちを取得する関数 function getDay($day){ $now = time(); return mktime(date("H",$now),date("i",$now),date("s",$now),date("m",$now),date("d",$now)+$day,date("Y",$now)); } ?>
- 426 名前:nobodyさん mailto:sage [2009/01/17(土) 18:23:30 ID:???]
- >425
コードをShift_JISで書かないでUTF-8にするだけで解決。
- 427 名前:nobodyさん mailto:sage [2009/01/17(土) 18:52:25 ID:???]
- >>426
一発で解決しました。ありがとうございます。 本当文字コードって難しい。 スクレイピングでサイト作る人とか超尊敬。
- 428 名前:nobodyさん mailto:sage [2009/01/17(土) 23:41:37 ID:???]
- >>425
まったく関係ないんだけど 土曜日だけ()が付かないのはなんでなんだろうと思った。
- 429 名前:nobodyさん mailto:sage [2009/01/18(日) 07:29:09 ID:???]
- >>428
土曜日だけどうしても文字化けで表示できず いろいろと試行錯誤した結果わからなかったので 質問しました。 ()除いたりといった試行錯誤の名残をそのまま 書いてしまいました。ごめんなさい。
- 430 名前:nobodyさん mailto:sage [2009/01/18(日) 11:24:28 ID:???]
- >>424
自己紹介乙
- 431 名前:nobodyさん mailto:sage [2009/01/18(日) 20:28:36 ID:???]
- プログラム経験無しで、今からPHPを勉強しようと思っています。
そんな俺に、一冊買うならコレ!っていうPHPの参考書を教えてください。
- 432 名前:nobodyさん mailto:sage [2009/01/18(日) 20:32:39 ID:???]
- >>431
www.php.net/manual/ja/
- 433 名前:nobodyさん mailto:sage [2009/01/18(日) 21:03:22 ID:???]
- >>432
本をonegaisimasu
- 434 名前:nobodyさん mailto:sage [2009/01/18(日) 22:30:36 ID:???]
- まずマニュアル嫁
- 435 名前:nobodyさん [2009/01/18(日) 23:59:27 ID:542zz2rd]
- アンケートプログラムなんかでよくある、全部の項目が入力されているかを
submitボタンが押されたときに調べて、それが通ればsessionに入力項目を追加して次のページへ ってことをやりたいんですが、 全部の項目が入力されているかを調べるのはonclickにJavascriptでチェック出来ますが、 そのあと動的に選んだ値をphpのsession変数に追加するのってどうしたら良いのでしょうか?
- 436 名前:nobodyさん mailto:sage [2009/01/19(月) 00:03:08 ID:???]
- $_SESSION['hoge'] = $hoge;
- 437 名前:nobodyさん [2009/01/19(月) 00:11:48 ID:jnDZLn2z]
- >>436
すいません、えっとどう言ったら良いのか; 質問のニュアンスを伝えるためにわざと無茶苦茶に書くと、 <input type="submit" onclicke="check()" /> <script type="text/javascript"> function check(){ //checkコード if(allchecked){ $SESSION['age']=document.getElementsById("age"); } } </script> こんな風な意味合いのことをする方法を聞きたかったのです。
- 438 名前:nobodyさん mailto:sage [2009/01/19(月) 00:16:55 ID:???]
- PHPとJavascriptの違い分かってないの?
- 439 名前:nobodyさん [2009/01/19(月) 00:21:05 ID:jnDZLn2z]
- >>438
あくまでニュアンスを伝えるために上記のような書き方をしているだけで、 サーバサイドphpとユーザサイドJavascriptの違いは分かってます。 ただphpではこういうチェックが出来ないのでどうしたものかと迷ったので。
- 440 名前:nobodyさん mailto:sage [2009/01/19(月) 00:21:42 ID:???]
- よく分からんがGETで取れば?
- 441 名前:nobodyさん mailto:sage [2009/01/19(月) 00:22:12 ID:???]
- いやPOSTでもいいけど
- 442 名前:nobodyさん mailto:sage [2009/01/19(月) 04:21:49 ID:???]
- >>437
よく意味がわからんが・・・ <form name="form1" method="post" action="hoge.php"> <input type="submit" onclick="return check();" /> 名前:<input type="text" name="name" /> </form> <script type="text/javascript"> function check(){ //checkコード if (document.form1.name=='') { alert('名前が入力されていません'); return(false); } return(true); } </script> あとはhoge.phpでnameを受けとってセッション変数に放り込むなり好きにするヨロシ。
- 443 名前:nobodyさん mailto:sage [2009/01/19(月) 04:44:39 ID:???]
- ただのjavascriptの話になってるw
- 444 名前:nobodyさん mailto:sage [2009/01/19(月) 17:58:38 ID:???]
- うわわわわ。。。
issetでもisSetでも書けるくさいなぁ(´・ω・`)
- 445 名前:nobodyさん mailto:sage [2009/01/19(月) 20:15:28 ID:???]
- str_replaceよりpreg_replaceが速いのか
- 446 名前:nobodyさん mailto:sage [2009/01/20(火) 00:26:44 ID:???]
- >>445
それはありえない preg_replaceは正規表現の処理が入る分遅くなる ついでにいうと、単純な置換ならstrstrよりstr_replaceの方が速い
- 447 名前:445 mailto:sage [2009/01/20(火) 00:28:42 ID:???]
- >>446
じゃあここのはウソってことか。。。 ttp://phpspot.org/blog/archives/2006/11/12php.html
- 448 名前:nobodyさん mailto:sage [2009/01/20(火) 00:37:17 ID:???]
- うん
- 449 名前:nobodyさん mailto:sage [2009/01/20(火) 00:58:56 ID:???]
- >>447
そのサイトは検証もせずコピペしてるだけだからあまり鵜呑みにしない方がいい
- 450 名前:nobodyさん mailto:sage [2009/01/20(火) 01:55:00 ID:???]
- 原文はこう書いてある。
str_replace is faster than preg_replace, but strtr is faster than str_replace by a factor of 4 PHPの勉強の前に、まず英語勉強しようぜ
- 451 名前:nobodyさん mailto:sage [2009/01/20(火) 06:28:50 ID:???]
- >>450
その原文の出典ってどこ?
- 452 名前:nobodyさん mailto:sage [2009/01/20(火) 07:38:55 ID:???]
- >>447のリンク先
- 453 名前:nobodyさん mailto:sage [2009/01/20(火) 12:58:32 ID:???]
- >>447
記事がうそじゃないとしても、2年も前だとあまり当てにならないな。 5.1.x時代だっけ
- 454 名前:nobodyさん [2009/01/20(火) 14:17:46 ID:auDP4Xko]
- sql文の中に多数の変数を入れるにはどうしたらよいのでしょうか?
- 455 名前:nobodyさん mailto:sage [2009/01/20(火) 14:24:08 ID:???]
- 普通に文字列連結じゃだめなの?
意図がいまいちわからない。 あ、エスケープはしっかりしろよな。
- 456 名前:454 mailto:sage [2009/01/20(火) 20:16:30 ID:???]
- >>455
はい普通に . でした 6時間前の自分にゲンコツしときました
- 457 名前:nobodyさん [2009/01/20(火) 23:14:20 ID:FkFXLWeK]
- php5.seesaa.net/category/3813207-1.html
ここを見ながら勉強中で、ひとつ前の Step9・入力された値をPHPでチェックする まではうまくいったんですが、 Step10・入力された値をJavaScriptでチェックする が、うまくいきません。イントラネットとかいうのが関係してるんでしょうか。。 何度も確認したんですけど、警告ウインドウが出てきません
- 458 名前:nobodyさん mailto:sage [2009/01/20(火) 23:21:44 ID:???]
- 問題の切り分けすべし
- 459 名前:nobodyさん mailto:sage [2009/01/21(水) 03:11:36 ID:???]
- まずなにも入れないで計算してみて。
あとjavascript有効になっている?
- 460 名前:nobodyさん [2009/01/21(水) 09:46:52 ID:VkT7uFdT]
- >>459さん
javascriptは、セキュリティのところでいじればいいんですよね。 それでしたら有効になってます。 なにも入れないで計算すると ------------------- +=0 前の画面へ戻る ------------------- って出ます。IEから見るソースは ------------------- <html> <head> <title>calc.php</title> </head> <body> +=0 <br/> <br/> <a href="#"onclick="history.back();return false;">前の画面へ戻る</a> </body> </html> ------------------------------ です。 書いてるソースのほうは php5.seesaa.net/category/3813207-1.html にあるとおりだと思います。
- 461 名前:nobodyさん mailto:sage [2009/01/21(水) 10:44:16 ID:???]
- calc.htmlはどうなっているの?
最初に実行するプログラムはなに? calc.htmlだよね? そこからcalc.phpで処理してってことだけど、 form action とか大丈夫これどうり記述しているよね? jsも読み込んでいるよね。 パスもあっているよね?
- 462 名前:nobodyさん [2009/01/21(水) 13:51:32 ID:ruw5pBd2]
- <input type="text" name="名前" size="20" />
<? $line = "==名前=="; $line = ereg_replace("==(.*)==", $_REQUEST["\\1"], $line); ?> 上記スクリプトで $line を name="名前" のフォーム値に置換したい のですができません。どうすれば置換できるでしょうか?
- 463 名前:nobodyさん mailto:sage [2009/01/21(水) 14:09:33 ID:???]
- マニュアル見れ
あとeregよりpreg
- 464 名前:nobodyさん [2009/01/21(水) 14:58:58 ID:VkT7uFdT]
- >>461さん
calc.htmlのソースは --------------------------- <html> <head> <script type="text/javascript"src="calc.js"></script> <title>calc.html</title> </head> <body> <form name="form1"action="calc.php"method="post"> <input type="text"name="txtA"id="txtA"> <select name="selOpe"size=1> <option value="+">+</option> <option value="-">-</option> <option value="*">*</option> <option value="/">/</option> </select> <input type="text"name="txtB"id="txtB">=? <br> <input type="submit"value="計算"> <input type="reset"value="クリア"> </form> </body> </html> ------------------------------------- です。パスがあっているかどうかは、どこを見るとわかりますか?
- 465 名前:nobodyさん mailto:sage [2009/01/21(水) 15:12:50 ID:???]
- >>464のソースの中を見ればわかりますよ!( ^∀^)b
- 466 名前:nobodyさん mailto:sage [2009/01/21(水) 15:27:54 ID:???]
- sample012
の中にはなにが入っている? sample011までPHPは動いていたんだよね? わからん。 ほんと。php5.seesaa.net/category/3813207-1.html と同じことしているんでしょう? calc.jsもsample012のフォルダの中にはいっているんでしょう? ソースはコピペしてやっているんでしょう?
- 467 名前:nobodyさん [2009/01/21(水) 16:23:54 ID:VkT7uFdT]
- >>465さん
>>466さん コピペしなおしたらできるようになりました。 でもどこが悪かったのかわからに・・
- 468 名前:nobodyさん mailto:sage [2009/01/21(水) 19:35:45 ID:???]
- 考えられるのは、どっかに空白がはいってしまったこと。
なんか変な文字がどこかにはいってしまったか。 おれもコピペでそういうことになったことは よくある。 見たとこミスはないので、あのソースをきちんと理解 して次進んでいいと思うよ
- 469 名前:nobodyさん [2009/01/21(水) 21:43:57 ID:VkT7uFdT]
- 空白もいけないんですか
先生ありがとう
- 470 名前:nobodyさん mailto:sage [2009/01/21(水) 22:33:22 ID:???]
- いやあくまでも想像だけど、でも間違っているところがないから。
以後もし動かったら再度コピペすることを望みます。
- 471 名前:462 [2009/01/22(木) 10:25:52 ID:PnoeEoeZ]
- >>463
すみません、マニュアル見直しました。 ところで、 $line = "==名前=="; //$line = preg_replace("/==(.*)==/e", "$_REQUEST['$1']", $line); $line = preg_replace("/==(.*)==/e", "rep('$1')", $line); function rep ($text) { return $_REQUEST["$text"]; } コメント行の置換が動作せずに下記エラーが発生するのですが、 いちいちrepのようなfunctionを用意しなきゃいけないのでしょうか? Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /************/index.php on line 340
- 472 名前:nobodyさん mailto:sage [2009/01/22(木) 10:36:31 ID:???]
- preg_replace_callback じゃないのか
- 473 名前:nobodyさん mailto:sage [2009/01/22(木) 12:54:40 ID:???]
- $line = "==名前==";
$line= preg_replace("/==(\S*)==/e", 'sprintf("<input type=\"text\" name=\"$1\" value=\"%s\" />", isset($_REQUEST["$1"]) ? $_REQUEST["$1"] : "")', $line); こうやりたいのか? キー文字は==全角==じゃなくて==半角==がいいと思うが
- 474 名前:473 mailto:sage [2009/01/22(木) 13:16:38 ID:???]
- htmlspecialcharsも使わないとやヴぁいか。。。
- 475 名前:462 [2009/01/22(木) 13:23:02 ID:PnoeEoeZ]
- >>473
すいません、解決しました。バカみたい・・・ $line = preg_replace("/==(.*)==/e", 'sprintf("%s", $_REQUEST["$1"])', $line);
|

|