【PHP】ID出さなくても質問OKなスレ【初心者歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/02/03(火) 01:09:36ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
0577572
2009/06/07(日) 15:11:25ID:???すいません。ソース長くてどこを見せればいいかわからない状態です。
ソース削りながら色々試してみます。
ありがとうございました。
0578nobodyさん
2009/06/10(水) 11:22:45ID:???それに便利な関数はないでしょうか
PHP4
0579nobodyさん
2009/06/10(水) 11:30:01ID:???0580nobodyさん
2009/06/10(水) 11:31:18ID:???0581578
2009/06/10(水) 11:56:17ID:???30秒で終わりますた
15分ぐぐって損しますた
0583nobodyさん
2009/06/11(木) 10:23:35ID:???0584nobodyさん
2009/06/11(木) 13:32:40ID:???あ、0のときはしらん。
0585nobodyさん
2009/06/11(木) 14:09:33ID:???0586nobodyさん
2009/06/11(木) 14:10:28ID:???0587nobodyさん
2009/06/13(土) 16:08:22ID:???入力画面←→確認画面→送信
と行ったり戻ったりするフォーム作るって変?
遷移するたびに文字のエスケープやらなんやらで埋もれるんで明らかにいけてないなと
0588nobodyさん
2009/06/13(土) 16:18:56ID:???0589nobodyさん
2009/06/13(土) 18:08:42ID:???0591587
2009/06/14(日) 21:34:45ID:???フォームに入力→POST→確認画面→戻るリクエスト→hidden大量で入力画面にバックして反映
この間globalでユーザー関数またぎまくり
>>589
戻ると次へと送信でhiddenとそのエスケープ処理が100コくらいある
>>590
クッキー使えないのと、心理的にURLに埋め込みたくないのと、
ブラウザのバックボタンで期限切れだしたくない(じいちゃん連中向けなんでヤツらはパニクる)のでどうしていいやら
最後のはセッション関係なかったっけ
機能的にはできあがってきちんと動いてるんだが超気持ち悪い
やり方あったら教えてプリーズ
0592nobodyさん
2009/06/14(日) 21:54:41ID:???>ブラウザのバックボタンで期限切れだしたくない
youメニュー隠しチャイナyo
っていうか心理面を克服してでもセッション使ったほうが楽だと思うんだがなぁ。
0593nobodyさん
2009/06/14(日) 21:56:49ID:???0595nobodyさん
2009/06/14(日) 22:11:51ID:???0596nobodyさん
2009/06/15(月) 20:18:19ID:???あるフォームに入力された全角文字を半角文字にして他のフォームに代入するといった事をやっていますが、
全角→半角にするのはmb_convert_kanaでやるとして問題は半角に出来ない文字(例えば漢字など)を取り除いて
代入したいのです。要は半角に変換した後の文字列から全角文字だけを取り除いて半角文字列だけにしたいのです。
例:HOGE安弘MOGE → HOGEMOGE
こういう事は正規表現で可能でしょうか?
0597nobodyさん
2009/06/15(月) 20:32:09ID:???preg_match_allで欲しい部分を抜いてきて、implodeでくっつけるってのは?
preg_match_all('/([A-Z])/', $str, $match);
$newStr = implode('', $match);
パターンは自分の条件に読み替えてくれ
0598nobodyさん
2009/06/15(月) 21:11:06ID:???0599nobodyさん
2009/06/16(火) 13:07:05ID:???0600nobodyさん
2009/06/16(火) 13:22:26ID:???0601nobodyさん
2009/06/16(火) 17:27:04ID:???でっこれはこのスレとマッチすると思うんですけど
海外からのフリースクリプトダウンロードしてもPDOをほとんど使って無いんですよ
なぜですか?
0602nobodyさん
2009/06/16(火) 18:15:13ID:???さておき、質問の答えは「今のところわざわざPDOを使う理由が無いから」じゃないかなぁ。
0604nobodyさん
2009/06/16(火) 23:00:21ID:???ほとんどhotscriptからです
0605nobodyさん
2009/06/17(水) 01:01:12ID:???合計では約いくつ?
0606nobodyさん
2009/06/17(水) 10:46:14ID:???0607nobodyさん
2009/06/18(木) 23:33:25ID:???今日の最終回泣くかもしんね俺www
0608nobodyさん
2009/06/18(木) 23:34:17ID:???誤爆したああああああああああああああああああああああああああ
俺死ぬマジ死ぬw
0609nobodyさん
2009/06/18(木) 23:39:01ID:???0610nobodyさん
2009/06/18(木) 23:43:23ID:???0611nobodyさん
2009/06/19(金) 01:47:29ID:???保存すますたw
0612nobodyさん
2009/06/19(金) 01:48:10ID:???0613nobodyさん
2009/07/01(水) 11:28:04ID:???arras theme というテーマを使っているのですが
そのテーマにはトップページに記事のサムネイルを表示する
javascript のスライドショーがあります。
それを他のページ(たとえば普通のページなど)にも
設置することはできるでしょうか。
home.php のそれっぽい場所をコピーして single.php に貼り付ければ
出来なくもなさそうなんですが、複雑でわかりにくいのと
そもそもそういう設定ができるかもしれないので質問しました。
環境はwordpress のバージョンは2.8 arras theme は最新のものを使っていて
自分は php と javascript であれば編集できます。よろしくお願いします。
0614nobodyさん
2009/07/02(木) 11:12:33ID:???foo($array, 'a', 'b') なら $array['a']['b'] を返すには
function foo() {
// ???
}
をどうしたらいいでしょうか。
func_num_args() を使って再帰で、
なんて思ったのだけど、考えがまとまらなくて。
0615nobodyさん
2009/07/02(木) 14:46:54ID:???$var = foo($array, 'a');
なら
$var = $array['a'];
でいいじゃん
0616nobodyさん
2009/07/02(木) 15:38:49ID:???foo($array, array('a', 'b')) を $array['a']['b'] にするんだったら
foo($array, $arr_keys) みたいに渡したいのかなとも思うんだけど。
0617614
2009/07/02(木) 15:41:46ID:???E_ALL 環境で isset() が面倒なんので、
foo 内で isset して値を返したり、
値があるか判定するのを作ろうと思って。
0618nobodyさん
2009/07/02(木) 16:47:20ID:???foo:セットされてないときfalse,セットされているときはその配列の内容が返る
$arr["a"]["b"]["c"] = "hoge-c";
$arr["a"]["b"]["d"] = "hoge-d";
$arr["a"]["b"]["e"] = "hoge-e";
var_dump(foo($arr,"a", "b")); // result array
var_dump(foo($arr,"a", "b","c")); // resurt string
var_dump(foo($arr,"a", "c")); // resutl false
var_dump(foo($arr,"b")); // result false
function foo() {
$cnt = func_num_args();
$var = func_get_args();
$arr = $var[0];
for ($i=1; $i<$cnt; $i++) {
if (!isset($arr[$var[$i]])) return false;
$arr = $arr[$var[$i]];
}
return $arr;
}
0620nobodyさん
2009/07/02(木) 21:49:43ID:???0621nobodyさん
2009/07/03(金) 06:14:31ID:???のような、出力するHTMLタグ内の※の部分に変数を置きたいのですが、
今までname=".$aaa.">のように". ."の間に変数名を入れて繋いでいたところ、
たまたま違う人がname={$aaa}>と{ }で囲っているのを見つけました。
変数の中身を{ }で参照できるのは納得できたのですが、
". ."で囲う場合、変数ではなくname=".session_name()."のようにできるところを
{ }で囲う場合はどうすればよいでしょうか。
PHP5
0622nobodyさん
2009/07/03(金) 06:15:55ID:???0623nobodyさん
2009/07/03(金) 06:21:26ID:???". ."は超自己流なんで定番が知りたく。
0624nobodyさん
2009/07/03(金) 06:23:18ID:???0625nobodyさん
2009/07/03(金) 06:31:04ID:???0626nobodyさん
2009/07/03(金) 06:36:58ID:???0627nobodyさん
2009/07/03(金) 06:39:26ID:???もうちょい詳しい人に聞いてみます
0628nobodyさん
2009/07/03(金) 06:40:56ID:???0629nobodyさん
2009/07/03(金) 06:45:36ID:???0631nobodyさん
2009/07/03(金) 10:55:19ID:???0632nobodyさん
2009/07/03(金) 11:43:51ID:???0633nobodyさん
2009/07/03(金) 11:50:14ID:???埋め込めてるのはダブルクオーテーションの機能だろ
{}は区切り文字なだけ
0634nobodyさん
2009/07/03(金) 12:48:46ID:???" や ' 以外の括り文字でもあればいいのかもね。
それとは別に Perl や Ruby の q| | とかもほしいなぁ。
0635nobodyさん
2009/07/03(金) 23:23:32ID:???プラグインで smoothview というのがあったので
そのインターフェースを改造しました。
0636nobodyさん
2009/07/04(土) 07:55:20ID:???smartyって{}を多用するよね。
0637nobodyさん
2009/07/05(日) 21:23:19ID:???と表示しなくてもいいCMSはありませんか?
0638nobodyさん
2009/07/08(水) 11:36:42ID:???レンタルサーバの設定では、PHPを「FastCGI アプリケーションモード」で動かしているらしいのですが
結構頻繁に「The FastCGI process exceeded configured activity timeout」ってエラーが出ます。
サーバ会社に聞くと、「FastCGIに対応したコードを記述してないからです」と言われたのですが、
当方、参考書を見ながら作成しているのですが、どこにもFastCGIについて書かれておらず
どこかにその対応コードなどが記載されているような参考にできるサイトを知っている方はいらっしゃらないでしょうか?
0639nobodyさん
2009/07/08(水) 11:48:42ID:???_______ __
// ̄~`i ゝ `l |
/ / ,______ ,_____ ________ | | ____ TM
| | ___ // ̄ヽヽ // ̄ヽヽ (( ̄)) | | // ̄_>>
\ヽ、 |l | | | | | | | | ``( (. .| | | | ~~
`、二===-' ` ===' ' ` ===' ' // ̄ヽヽ |__ゝ ヽ二=''
ヽヽ___// 日本
_____ _____ ______ _______
| ウェブ | | イメージ | | グループ | | ディレクトリ |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
._________________
|FastCGI PHP │・検索オプション
└────────────────┘・表示設定
| Google検索 | I'm Feeling Lucky | ・言語ツール
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
○ウェブ全体から検索 ◎日本語のページを検索
0640nobodyさん
2009/07/08(水) 11:52:55ID:???0641nobodyさん
2009/07/08(水) 11:59:11ID:???すいません、すでにいろいろとぐぐってはいるんですが
サーバ側でFastCGIを導入する方法ばかり記載されており、PHPでサイトを作る際の注意点などが記載されているものがなく
困っております。
そこで、そのような記載があるサイトがないかお尋ねしたのですが、やはり難しいのでしょうか。
0642nobodyさん
2009/07/08(水) 12:01:18ID:???0643nobodyさん
2009/07/08(水) 12:11:40ID:???ありがとうございます。
タイムアウトの設定を変える内容のようですが、そちらはPHPファイルのどの当たりに記載すればよろしいのでしょうか?
そのコードがレンタルサーバ会社の言う、こちらが記載すべき「FastCGIに対応したコード」というものなのでしょうか。
なんどもお聞きしてしまって申し訳ありません
0644nobodyさん
2009/07/08(水) 12:37:53ID:???0645nobodyさん
2009/07/08(水) 12:55:07ID:???ありがとうございます。
調べたところ、レンタルサーバの管理上FCGIext.iniの編集はこちらではできないようになっているようです
わからないことばかりなので、もうすこしぐぐったりして基礎知識から勉強をしなおそうと思っています
ご助言をしていただいた方々、ありがとうございました
0646nobodyさん
2009/07/08(水) 14:16:07ID:???考え方といいますか、流れを教えてください。
XHTMLとCSSで縦2分割サイトを考えており、左に配置したドロップダウンリストから選択、
右側に内容表示というよくあるパターンです。内容はMySQLから取り出す予定です。
ここでわからないのが、内容の表示位置の指定です。
MySQLのデータとCSSタグを一緒に出力すればよいのでしょうか?
根本的な勘違いをしているような気がしてならないのですが、どこが勘違いなのかも
よくわからないです。
0647nobodyさん
2009/07/08(水) 14:34:54ID:???CSSでその位置を指定すればいいのでは
0648nobodyさん
2009/07/09(木) 12:14:47ID:???推奨はしないけど。
0649nobodyさん
2009/07/09(木) 13:19:44ID:???ありがとう。
その方法だとうまくいかないのです。
サイト全体が置き換わってしまうので、結局すべてのHTMLにメニューをつけないと
ダメっぽいです。
>>648
ありがとう。
いまググってみました。
たしかにやりたいことと合致します。
ただ、これから言語をマスターするので、より簡単といわれているPHPを覚えたい
という気持ちがあります。JSと両方覚えれば済む話ではあるのですが、オレには
キャパがないです。たぶん。
0651nobodyさん
2009/07/09(木) 17:26:11ID:???連携しないと実現出来ない事も多々あるし。
0653nobodyさん
2009/07/09(木) 18:48:35ID:???>>650
ありがとう。
iframeは考えたんですけど、XHTML1.1で非サポートになり、策定中のHTML5.0でも
廃止になるということで、使わない方向を考えてました。
>>651
ありがとう。
JavaScriptも必須ですか。
まったくの初心者なので、PHPの公式マニュアルを読むだけで苦労してます。
0654nobodyさん
2009/07/09(木) 21:36:35ID:???0655age
2009/07/09(木) 22:48:26ID:DwSsHHgt強制的にサーバとPCとのコネクションを切断する事は可能ですか?
0657nobodyさん
2009/07/10(金) 12:50:37ID:???iframeは、XHTML1.1ではすでに無いです。
W3Cの勧告でもHTML5.0で無くす方向で進めているようです。
0658ユキ
2009/07/12(日) 04:36:26ID:au+P+rHJPHPど素人です。
インターネットで調べながらPHPの問題に取り組んでいますが、
2週間以上掛けても全く分かりません。
どのように書くのか教えていただけないでしょうか。
『EmEditor Free Version 6.00.4』とザンプを使っています。
問題は以下のとおりです。
『数値1〜9があります。全て4桁です。
9つの数字の中の最大値と最小値を出力しなさい。
負の数と5桁以上の数値が入力された場合エラーと出力する。
さらに数値1〜9のどの数値が最大値、最小値か出力しなさい。』
ループとfunctionを使うそうなんですが、どう使えばいいのか分からず、
ゼロの状態です。
皆様、お忙しいと思いますが、助けていただきたいです。
お願い致します。
0659nobodyさん
2009/07/12(日) 05:09:19ID:???0660nobodyさん
2009/07/12(日) 08:09:56ID:???数値1を入力する
数値2を入力する
数値3を入力する
数値4を入力する
数値5を入力する
数値6を入力する
数値7を入力する
数値8を入力する
数値9を入力する
↓
数値1に入れられた数値を、$aに入れる
、、、、
数値9に入れられた数値を、$iに入れる
0661nobodyさん
2009/07/12(日) 08:11:34ID:???もし5桁以上なら、エラーを吐いて死ぬ。
4桁なら、こんどは、$aが負の数かどうかを調べる。
0以上なら、おk。
もし負の数なら、エラーを吐いて死ぬ。
$aのチェックが終わったら、$b、そして
、、、、$i。
0662nobodyさん
2009/07/12(日) 08:14:51ID:???そんで、その中の最大値を調べる(専用関数あり)
そして、こんどはその配列の、最小値を調べる(専用関数あり)
そんで、最大値のvalueに一致するkeyを調べて、
「この数値○が最大でした」って表示
次に、最小値がでたところのvalueのkeyを調べて、
「この数値のときに最小でした」って表示。
以上。あとは上記の仕様書をプログラマーに食わせれば
ソースコードを吐く。
0663nobodyさん
2009/07/12(日) 08:24:10ID:???それだと「さらに数値1〜9のどの数値が最大値、最小値か出力しなさい」
の設問には答えられないので、もう一工夫が必要。
0664nobodyさん
2009/07/12(日) 08:51:58ID:???0665ユキ
2009/07/12(日) 14:48:56ID:tG558Uf0ご親切にありがとうございます!!!!!
おかげさまで$aの桁を調べるまで出来ました!
書いていただいた内容をヒントにもう少し自分で頑張ってみます!
0666ユキ
2009/07/12(日) 22:27:20ID:tG558Uf0これからどのようにfunctionとループを使えばいいのかどうしても分かりません。
解答、あるいはヒントを頂けないでしょうか?
度々すみません。
if($a > 9999 or $a < 0){
echo "<div>エラー</div>";
} else { echo "<div>$a</div>";
}
if($b > 9999 or $b < 0){
echo "<div>エラー</div>";
} else { echo "<div>$b</div>";
}
if($c > 9999 or $c < 0){
echo "<div>エラー</div>";
} else { echo "<div>$c</div>";
}
if($d > 9999 or $d < 0){
echo "<div>エラー</div>";
} else { echo "<div>$d</div>";
}
if($e > 9999 or $e < 0){
echo "<div>エラー</div>";
} else { echo "<div>$e</div>";
}
0667ユキ
2009/07/12(日) 22:28:07ID:tG558Uf0if($f > 9999 or $f < 0){
echo "<div>エラー</div>";
} else { echo "<div>$f</div>";
}
if($g > 9999 or $g < 0){
echo "<div>エラー</div>";
} else { echo "<div>$g</div>";
}
if($h > 9999 or $h < 0){
echo "<div>エラー</div>";
} else { echo "<div>$h</div>";
}
if($i > 9999 or $i < 0){
echo "<div>エラー</div>";
} else { echo "<div>$i</div>";
}
$x = array( $a , $b , $c , $d , $e , $f , $g , $h ,$i );
echo " 最大値: " .max($x). "<br />\n";
echo " 最小値: " .min($x). "<br />\n";
0668nobodyさん
2009/07/12(日) 23:06:46ID:???0669nobodyさん
2009/07/13(月) 02:32:15ID:???受けてたとしたらこの段階でこんな問題出した教師が悪い
0670nobodyさん
2009/07/13(月) 11:10:34ID:???function は 一部の値だけを変えて同じ処理が続く場合に使います。
>>666-667を良く見てみると、同じ記述が見つかりますね。
まずは、共通化できる処理をfunction化してみましょう。
ループ(for while fareach)は、
一部の値を変化させながら同じ処理を繰り返すときに使います。
同じような命令が繰り返している箇所をループ化してみましょう。
0671nobodyさん
2009/07/13(月) 18:25:41ID:???実際のフルパスを書き換えないでテストできる
フリーの開発ツールを前に何かで見つけたのですが
ご存じないでしょうか?
0672nobodyさん
2009/07/13(月) 18:29:50ID:???どうすればいいの?
0673nobodyさん
2009/07/13(月) 19:15:29ID:???パスは設定ファイルに入れておけばいいじゃない。
完全一致を期待してるとカスタマイズとかのときにも
パスの全チェックをしなきゃいけなくなるから面倒だよ。
または、Windows/OSXにもそれぞれ仮想環境ツール
が出ているから、仮想環境ツールに、お目当てのOS
を入れて、Explorer/Finderからコードを更新できるよう、
Sambaあたりを入れて動かしておけばいいかと。
0675nobodyさん
2009/07/13(月) 21:11:07ID:???php.iniで簡単に出来ました。
ただすべてのページにbase hrefを入れているので階層めぐりは無理でしたorz
どこかにコールバック関数と連携させてうまく開発出来る海外のツールがあったと思うんだけどなぁ。。
もう一度探してみます。ありがとうございました。
0676nobodyさん
2009/07/15(水) 03:07:14ID:???[質問] メンバ関数をメンバ変数の連想配列にぶち込みたい。
※2が通るような使い方をしたいのですが、やりかたをご教授いただけませんでしょうか、、、。
----------------------------
※1 OK
function HogeFunc {
echo "Called HogeFunc1";
}
class HogeClass1{
public function Action() {
foreaech( $m_Array as $key => $value ) {
$value();
}
}
$m_Array = array( "HOGE_TAG", "HogeFunc1" ); //! 呼び出しOK
};
----------------------------
※2 こいつはNG
class HogeClass2 {
public function Action() {
foreaech( $m_Array as $key => $value ) {
$value();
}
}
public static function HogeFunc2 {
echo "Called HogeFunc2";
}
$m_Array = array( "HOGE_TAG", "HogeClass2::HogeFunc2" ); //! 呼び出すとエラー
}
※※エラー内容※※
Fatal error: Call to undefined function HogeClass2::HogeFunc2() in ....省略
----------------------------
■ このスレッドは過去ログ倉庫に格納されています