くだすれPHP(超初心者用)5
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/11/22(土) 06:36:02ID:???もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
PHP使いが優しくコメントを返しますが、
お礼はPHPの布教と初心者の救済をお願いします。
PHP Home Page
http://www.php.net/
http://jp.php.net/
くだすれPHP(超初心者用)4
http://pc11.2ch.net/test/read.cgi/php/1213356756/
適当に関連スレ(マルチはだめぽ)
【PHP】下らねぇ質問はここに書き込みやがれ 69
http://pc11.2ch.net/test/read.cgi/php/1211879073/
0341nobodyさん
2008/12/25(木) 05:57:49ID:???>>PDOクラスをnewしてるところだけ書き換えれば普通に動く
SQL文自体がDB固有になるだろうから、現実的にそれはあり得ないんじゃないか?
(標準SQLだけで書かないでしょふつう)
俺的なPDOのメリットは、DB関連関数をどのDBにも共通で使えるため開発の学習量を
減らせること。これはソースコードの可読性の向上、メンテ性の向上にもなる。
0342nobodyさん
2008/12/25(木) 18:01:58ID:???0343nobodyさん
2008/12/25(木) 20:20:04ID:???単純にPDOだけで実現できるわけじゃぁないが、
PDOで標準SQLだけを使うか、
PDOよりも抽象化したFWを使うわけで、
素の関数を使うよりは汎用性が高い。
どっちの言うことも大きく間違っちゃいないわな
0344nobodyさん
2008/12/29(月) 23:28:23ID:hqhRjo690345nobodyさん
2008/12/29(月) 23:37:49ID:???0347nobodyさん
2008/12/31(水) 11:35:34ID:???確認用のダイアログを出すにはどうすれば良いでしょうか?
実行しますか?
【OK】 【キャンセル】
※ダイアログを表示し【OK】が押された場合のみ
submit処理を行ういたいです。
0348nobodyさん
2008/12/31(水) 11:47:59ID:???超JavaScript
ググれば死ぬ程出てくる
一番最初に引っかかったページ http://promptbox.jp/blog/memo/index.php?itemid=785
お年玉くれw
0350nobodyさん
2008/12/31(水) 12:39:59ID:???0351nobodyさん
2008/12/31(水) 13:25:47ID:???0352nobodyさん
2008/12/31(水) 13:30:12ID:???0353nobodyさん
2008/12/31(水) 16:42:47ID:???formのプルダウンメニューの値を送信ボタンで渡すのはわかるのですが
プルダウンで選択しておいてリンクをクリックしたときにその値を一緒に
送るような使い方はできるのでしょうか。
ようはメニューでレイアウトの種類を選択して、リンク先をそのレイアウトで
表示させるといったことをしたいのですが。
0354nobodyさん
2008/12/31(水) 17:24:24ID:???0355nobodyさん
2008/12/31(水) 18:25:42ID:???その後ググってるとJavaScriptでメニューの値が取得できるようですので
これとonClickだかでどうにかできるのかなってことでJSはわからないんですが
少し勉強してみようとおもいます
スレ違い失礼しました。
0356nobodyさん
2008/12/31(水) 18:29:31ID:???工数増えるけどPHPでできないこともない
まぁガンガレ
0357nobodyさん
2008/12/31(水) 18:57:38ID:???プルダウンを変更した時点でリンク先を書き換えるか、クリック時にフォームのsubmitイベントを呼び出すか。
0359nobodyさん
2008/12/31(水) 19:01:23ID:???一度選択したら2回目以降は覚えていて欲しいだろうからな。
0360nobodyさん
2008/12/31(水) 19:49:56ID:???変えたいと思います。
どうすれば同一phpページをパラメータURLを指定する事により表示内容を変更する事が出来ますか?
http://www.test.php=1234
http://www.test.php=1235
0361nobodyさん
2008/12/31(水) 19:52:15ID:???0362nobodyさん
2008/12/31(水) 20:01:42ID:???http://www.example.com/?page=1234
こういう形なら$_GET['page']で1234が取得できるから
これを使って切り替えれば良い
ただしpage=1234の1234は誰でも値を入れる事ができるから
チェック等は必ずするように
0363360
2008/12/31(水) 20:14:49ID:???ヒントをありがとうございます。
>>362
詳しくご解説頂きありがとうございました。
早速「ガキ使い」を見ながらプログラミングしてみようと思います。
0364nobodyさん
2009/01/03(土) 12:58:05ID:???動作確認を行いますよね?
C:\Program Files\Apache Software Foundation\Apache2.2\htdocs
しかし、1つのPCで複数サイトの開発を行う場合には、次の用にフォルダを切った上で
開発を行っているのですが、この方法は正しいですか?
C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\site1
C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\site2
※要するに動作確認をする場合には次の用にしなくてはならないので。(まっ、これしか方法は無いかな?)
http://localhost/site1/index.html
http://localhost/site2/index.html
0365nobodyさん
2009/01/03(土) 13:04:40ID:???0366nobodyさん
2009/01/03(土) 13:12:49ID:???0367nobodyさん
2009/01/03(土) 13:20:37ID:???0368nobodyさん
2009/01/03(土) 13:31:35ID:???0369nobodyさん
2009/01/03(土) 13:31:42ID:???0370nobodyさん
2009/01/03(土) 13:45:12ID:???LinuxじゃないとVirtualHostは使えないのではないですか?
それともWindows環境でも出来るのですか?
>>366
取り敢えず、
http://tech.bayashi.net/svr/doc/apache/mod_rewrite.html
のサイトで勉強してみようと思います。
実務でphpを使ったWEBサイトの開発とかした事が無いのですが、
実務でphpで開発を行う場合にテキストエディタだけを使っているプロジェクトは少ないですか?
あと、複数サイトの開発を1台のPCで行う場合に、>>364みたいな感じで行うのは
能率が悪いでしょうか?
0372nobodyさん
2009/01/03(土) 13:54:52ID:???0374nobodyさん
2009/01/03(土) 14:00:48ID:???0375nobodyさん
2009/01/03(土) 14:19:04ID:???複数サイトをプロジェクト(複数人数)でやるんだから、ファイルのアップロード方式の方が重要。複数の人間がftpでアップするのなら、それを管理しやすい方法で
あと、htdocs/aaa/bbb/ とかでやった場合、mod_rewrite の RewriteBase が後でアレな時あり
プロジェクトを管理できれば良いので、エディタは何でもいい
0376nobodyさん
2009/01/03(土) 14:38:30ID:???サイト側もcheckoutするのだ
0377nobodyさん
2009/01/03(土) 14:55:16ID:???0379nobodyさん
2009/01/03(土) 15:57:48ID:???>370
同時にいじるなら、何も考えずにやってるとアクセスログが同じファイルになってしまうので、やりづらいと思う。
そのままでもできるけど、バーチャルホストの方がエラーログの切り分けが簡単。
あとは両プロジェクトで同名のクッキーを使った場合衝突が発生する点かな。セッション周りが特に危険。
あと、本番環境に持っていく際に、相対リンク/絶対リンクとか周りで絶対いくつかリンク切れが発生すると思う。
以上のような点を気にしなくて良いのならば、そのままでもいいんじゃない?
0380379
2009/01/03(土) 16:44:44ID:???クッキーは発行パスを適切に指定すれば混ざらないが、本番環境への移行の際に適切な修正をする必要がある。
0381nobodyさん
2009/01/12(月) 12:35:49ID:???preg_matchなど公式マニュアルに出ている内容については理解したのですが、
Perlとは微妙に違うリテラルやトークンの使い方について詳しく説明してある
ドキュメント等はないでしょうか?
0382nobodyさん
2009/01/12(月) 13:43:52ID:???だとしたら
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では有効
0383nobodyさん
2009/01/12(月) 15:24:30ID:???参考にメモさせていただきました
0384nobodyさん
2009/01/13(火) 02:11:38ID:???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もそれに該当する操作が必要ないのか?と気になりましたので・・・・
0385nobodyさん
2009/01/13(火) 03:08:48ID:???0386nobodyさん
2009/01/15(木) 22:20:46ID:???配列を検索して特定の文字が含まれていた場合そのインデックスを返す
っていうのをやりたいのですが、わかりません。よろしくお願いします。
インデックス1を返して欲しいんですが、何も返ってきません。
***テキストファイルの中身*******
群馬県
栃木県
茨城県
埼玉県
東京都
****************************
<?php
//ファイルを開く
$filename="test.txt";
//配列に代入する
$f1=file($filename);
//特定の文字が含まれる要素を探す
$word="栃木県";
$key=array_search($word,$f1);
print($key);
?>
0387nobodyさん
2009/01/15(木) 22:27:13ID:???ファイルを配列に入れて返します。 配列の各要素はファイルの各行に対応します。改行記号はついたままとなります。 失敗すると file() は FALSE を返します
0388nobodyさん
2009/01/15(木) 22:28:50ID:???0389nobodyさん
2009/01/15(木) 23:00:30ID:???>>388
レスありがとうございます。
この検索の場合は完全に一致するものしか検索できないんですね。
例えば
$word="玉";
とした場合に
埼玉県のインデックスの3を返すというのは無理なんでしょうか?
0392nobodyさん
2009/01/16(金) 15:17:30ID:???strposって、最初に出てきた位置を返す関数じゃない?
「あるかどうか」を調べる関数のほうがいいんだけど。
0393nobodyさん
2009/01/16(金) 15:19:44ID:???0394nobodyさん
2009/01/16(金) 16:25:58ID:???そこまでに\nがいくつあるか
ウマー
0395nobodyさん
2009/01/16(金) 23:23:04ID:???>392
strposは文字列検索としては最速の部類。
他の選択肢はpreg_match位しかないが、preg関数とstr関数じゃお話にならんほど速度が違う。
0396nobodyさん
2009/01/16(金) 23:24:33ID:???0397nobodyさん
2009/01/16(金) 23:28:16ID:???0398nobodyさん
2009/01/17(土) 11:25:45ID:???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()使う。
0399nobodyさん
2009/01/17(土) 11:38:45ID:???というわけで、
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_系使うように。
0400nobodyさん
2009/01/17(土) 11:43:51ID:???>>384
気持ち悪いなら明示すりゃいい。というか、色んな意味で明示したほうが良いと俺は思う。
phpは、リソースのオープンは明示しなくても自動的に閉じてくれる。(ファイルであれDBであれ)
>>382
PHP5から鬼車。mb_ereg()系で。
preg_match()では使われてないのでは?
0401nobodyさん
2009/01/17(土) 11:53:04ID:???俺の場合
Java : PHP = 5 : 5
ただ、レンタルサーバ代がJavaだと高いから力配分を
1:9程度に持って行こうかと思ってる。
0403nobodyさん
2009/01/17(土) 12:05:09ID:???$a = array('a', 'b', 'c');
foreach ($b as $k => $) {}
実行すれば分かる
0409nobodyさん
2009/01/17(土) 12:29:37ID:???0411nobodyさん
2009/01/17(土) 12:34:40ID:???$ary = file('test.txt') or array();
$ary = file('test.txt') or exit;
とか。もしくは例外使う。
何か関数からの出力を得る度にifで1ブロック使うなんてナンセンスすぎ。
0412nobodyさん
2009/01/17(土) 12:38:43ID:???0413399
2009/01/17(土) 12:39:51ID:???あのな。
言っておくが、>>399みたいな処理は普通はクラスのメソッド通すなりするわ。
めんどくさいからはしょってるだけだろーが。分かるか?あ??
なんか>>411見てると、俺の会社の全然使えないカスPGにそっくりで殴り倒したくなるわw
0414nobodyさん
2009/01/17(土) 12:40:56ID:???0415nobodyさん
2009/01/17(土) 12:41:35ID:???誰かが答えるとそれには文句つけないと気がすまないんだな。
どうしようも無いカスだなw
0416nobodyさん
2009/01/17(土) 12:42:27ID:???たかがPHPでしょ
動けばいいじゃん
ばか?
0417nobodyさん
2009/01/17(土) 12:43:17ID:???0418nobodyさん
2009/01/17(土) 12:46:56ID:???0419nobodyさん
2009/01/17(土) 12:50:26ID:???/⌒ ⌒\ ) 『 開こうとしているファイルが必ず開けるとは限らないわな』っと。
/( ●) (●) \ )/⌒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┬-| ,/ .| |
ノ:::::::: `ー'´ \ |
0420nobodyさん
2009/01/17(土) 12:52:06ID:???Java使いが一番
0422nobodyさん
2009/01/17(土) 12:53:47ID:???0423nobodyさん
2009/01/17(土) 13:03:06ID:???0424nobodyさん
2009/01/17(土) 13:46:03ID:???PHPやってると頭だけではなく性格まで悪くなるらしいから気をつけようww
融通利かないやつやコミュニケーション能力無いやつは
PGだろうが何だろうが使えん
うちにも1名いて給料の査定も下がったはずだが、はやくその理由に気付いて辞めてくれ
0425nobodyさん
2009/01/17(土) 17:45:47ID:???どういうわけか土曜日だけ文字化けしてしまいます。
解決策はないでしょうか?
<?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));
}
?>
0426nobodyさん
2009/01/17(土) 18:23:30ID:???コードをShift_JISで書かないでUTF-8にするだけで解決。
0427nobodyさん
2009/01/17(土) 18:52:25ID:???一発で解決しました。ありがとうございます。
本当文字コードって難しい。
スクレイピングでサイト作る人とか超尊敬。
0429nobodyさん
2009/01/18(日) 07:29:09ID:???土曜日だけどうしても文字化けで表示できず
いろいろと試行錯誤した結果わからなかったので
質問しました。
()除いたりといった試行錯誤の名残をそのまま
書いてしまいました。ごめんなさい。
0431nobodyさん
2009/01/18(日) 20:28:36ID:???そんな俺に、一冊買うならコレ!っていうPHPの参考書を教えてください。
0432nobodyさん
2009/01/18(日) 20:32:39ID:???http://www.php.net/manual/ja/
0434nobodyさん
2009/01/18(日) 22:30:36ID:???0435nobodyさん
2009/01/18(日) 23:59:27ID:542zz2rdsubmitボタンが押されたときに調べて、それが通ればsessionに入力項目を追加して次のページへ
ってことをやりたいんですが、
全部の項目が入力されているかを調べるのはonclickにJavascriptでチェック出来ますが、
そのあと動的に選んだ値をphpのsession変数に追加するのってどうしたら良いのでしょうか?
0436nobodyさん
2009/01/19(月) 00:03:08ID:???0437nobodyさん
2009/01/19(月) 00:11:48ID:jnDZLn2zすいません、えっとどう言ったら良いのか;
質問のニュアンスを伝えるためにわざと無茶苦茶に書くと、
<input type="submit" onclicke="check()" />
<script type="text/javascript">
function check(){
//checkコード
if(allchecked){
$SESSION['age']=document.getElementsById("age");
}
}
</script>
こんな風な意味合いのことをする方法を聞きたかったのです。
0438nobodyさん
2009/01/19(月) 00:16:55ID:???0439nobodyさん
2009/01/19(月) 00:21:05ID:jnDZLn2zあくまでニュアンスを伝えるために上記のような書き方をしているだけで、
サーバサイドphpとユーザサイドJavascriptの違いは分かってます。
ただphpではこういうチェックが出来ないのでどうしたものかと迷ったので。
0440nobodyさん
2009/01/19(月) 00:21:42ID:???■ このスレッドは過去ログ倉庫に格納されています