[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 06/01 12:02 / Filesize : 180 KB / Number-of Response : 739
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだすれPHP(超初心者用)5



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/

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);

476 名前:nobodyさん [2009/01/23(金) 05:27:52 ID:L5uKYwrL]
今初めてのPHP+mysqlを勉強しているのだが、
17章のサンプルアプリケーションが動かない。
これって仕様かな?
おれはcent os5でやったんだが、画面真白で。
linuxで誰かやってくれませんか?すいませんが
お願いします。ソースは一応レンタルサーバーと
ホームページ上に貼り付けているんで、
ソースダウンロードできないんだ。
gichioka.web.fc2.com/source.zip←ソースをダウンロード
www.krautgrrl.com/learningphp/index.php/site/C17/←データベース
とかもろもろ貼ってあります。
お手数ですが、よろしくお願いします



477 名前:nobodyさん [2009/01/23(金) 05:29:33 ID:L5uKYwrL]
日本語へたで申し訳ないですが、まあ両方見てやってみてください。
ほんとはphpの本のスレに行きたかったんだけどなくなってしまった
みたいで。
すいませんが、よろしくお願いします


478 名前:nobodyさん [2009/01/23(金) 05:34:48 ID:L5uKYwrL]
すいません。
サンプルコードありました。
昔はなかったのに
www.oreilly.co.jp/books/9784873113654/
ここです。


479 名前:nobodyさん mailto:sage [2009/01/23(金) 07:37:08 ID:???]
オライリー本、
読んで理解できたためしがない

480 名前:nobodyさん mailto:sage [2009/01/23(金) 08:08:21 ID:???]
>>478
エラーメッセージは?

481 名前:nobodyさん mailto:sage [2009/01/23(金) 16:01:37 ID:???]
<?php
session_start();
$anc = array('anc1' => 'one', 'anc2' => 'two', 'anc3' => 'three'); $html = '<html><body><form action="">';
switch ($_REQUEST['m']) {
case '1':
$html .= 'confirm<br />';
foreach ($anc as $k => $v) { $_SESSION[$k] = $_REQUEST[$k]; if ($_REQUEST[$k]) { $html .= $v . '=checked! '; } }
$html .= '<br /><input type="hidden" name="m" value="2"><input type="submit" value="go!">';
break;
case '2':

482 名前:nobodyさん mailto:sage [2009/01/23(金) 16:04:18 ID:???]
$html .= 'finish<br />'; $param = ''; foreach ($anc as $k => $v) { $_SESSION[$k] = $_REQUEST[$k]; if ($_REQUEST[$k]) { $param .= $v . '=checked! '; } }
if ($fp =@ fopen('anc.dat', 'a')) { fputs($fp, date("Y/m/d H:i:s ") . ' ' . $param . ' ' . $_SERVER["REMOTE_ADDR"] . "\n"); fclose($fp); } $html .= 'thank you!';
break;
default:
$html .= 'question<br />'; foreach ($anc as $k => $v) { $html .= '<input type="checkbox" name="' . $k . '" value="1">' . $v . ' '; }



483 名前:nobodyさん mailto:sage [2009/01/23(金) 16:08:55 ID:???]
$html .= '<br /><input type="hidden" name="m" value="1"><input type="submit" value="next">';
}
$html .= '</form></body></html>'; echo $html; exit;
?>

パソコンが今使えないので携帯で消化してしまってごめんなさい
このプログラムのoneやtwoを別のファイルに記録したいんですが
どうすればよいでしょうか?
すごい初心者なので、良ければ具体的に教えていただければ嬉しいです
スレチや失礼あればごめんなさい

484 名前:nobodyさん [2009/01/23(金) 16:11:58 ID:Jr51+scJ]
あと、これを一時間くらいでやらなきゃなので
テンパってます…
お待ちしてます






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<180KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef