【PHP】下らねぇ質問はここに書き込みやがれ 37
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/01/24(水) 22:10:29ID:???まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 36
http://pc10.2ch.net/test/read.cgi/php/1168395610/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ http://pc10.2ch.net/php/subback.html
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで http://pc10.2ch.net/db/subback.html
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
しかし初心者が目的も定めずに速度を気にしたところでほとんど意味は無いぞ
0153nobodyさん
2007/01/26(金) 16:17:20ID:cz0hND8g「PHPでは変数宣言が必要ない」ということがよく書いてありますが、
逆に変数宣言を必須にするようなモードなどはありますでしょうか。
0156nobodyさん
2007/01/26(金) 17:03:54ID:???0157153
2007/01/26(金) 17:12:23ID:cz0hND8gレスありがとうございます。
しかし具体的にどこにどのように書けばいいのかわからず、
「ALL ERROR」のキーワードを手がかりに
マニュアル見たりぐぐったりして見ましたがわかりませんでした。
具体的にどこにどのように書けばいいのか、
または解説しているサイトなどありましたらお教えくださいますと幸いです。
0158nobodyさん
2007/01/26(金) 17:19:15ID:???0159nobodyさん
2007/01/26(金) 17:40:04ID:???if ($a != "aa") {
$a = "xaa";
} elseif ($a != "bb") {
$a = "xbb";
} elseif ($a != "cc") {
$a = "xcc";
} else {
$a = "xxx";
}
if($a == "xaa"){
print "aaじゃない";
}
if($a == "xbb"){
print "bbじゃない";
}
if($a == "xcc"){
print "ccじゃない";
}
このように記述した場合、「bbじゃない」としか表示されないのですが、
「ccじゃない」も表示させたいです。どうしたら良いのでしょうか?
0161nobodyさん
2007/01/26(金) 17:44:46ID:3bBneFQbif($a == "xbb"){
print "bbじゃない";
print "ccじゃない";
}
0163159
2007/01/26(金) 18:09:17ID:???レスありがとうございます。
できれば $a = "xbb"; と } elseif ($a != "cc") { の間で
$aを"aa"に戻し、「bbじゃない」と「ccじゃない」を表示させたいんです。
これって可能でしょうか?
0164nobodyさん
2007/01/26(金) 18:12:34ID:???$a = "aa";
if($a != "aa") print "aaじゃない";
if($a != "bb") print "bbじゃない";
if($a != "cc") print "ccじゃない";
0165nobodyさん
2007/01/26(金) 20:02:07ID:Ratl1Nqjみなさんのご意見をお聞かせ下さい。
0166nobodyさん
2007/01/26(金) 20:12:50ID:???0167nobodyさん
2007/01/26(金) 20:16:24ID:???0168nobodyさん
2007/01/26(金) 20:24:46ID:???0169nobodyさん
2007/01/26(金) 20:52:30ID:???0170nobodyさん
2007/01/26(金) 21:12:48ID:???完全無料のPHPスクール行った奴いる?
0171軟式PHP
2007/01/26(金) 21:40:00ID:???見てみた。
>短期間で即戦力となれるようなスキルを実につけることが出来ます。
(´・∀・`)ヘー
>Webの申込フォームやメール送信、管理画面(DB連携、検索、リスト抽出、編集、削除)を作成可能なレベルを目指します。
( ゚д゚)
(つд⊂)ゴシゴシ
(;゚д゚)
(つд⊂)ゴシゴシ
_, ._
(;゚ Д゚)
0172165
2007/01/26(金) 22:27:06ID:Ratl1Nqj<form method="POST" action="./○○○.php?mode=kakusei">
<fieldset>
<legend></legend>
<dl>
<dt>覚醒レベル</dt>
<dd><input type="text" name="level" /></dd>
</dl>
<p>
<input type="submit" />
<input type="reset" />
</p>
</fieldset>
</form>
このように、POSTもGETもスクリプトに送りたいのですが、両方を受け取ることは可能でしょうか?
また、どの様な処理で受け取ることができるでしょうか?
0173nobodyさん
2007/01/26(金) 22:33:58ID:fmcX9VXGあるPHPファイルで
ereg("^[ ]+$" , $name) ←半角スペースと全角スペース
で、入力された値が空白かチェックしております。
ここではきちんと動作しているのですが、
最初のファイルはpublic_html/bbs/test.php にあります。
public_html/test.php で全く同じものを実行すると全角スペースがチェックにひっかかりません。
これはなんでなのでしょう?
eregのオーバーロードはされているみたいです
0175nobodyさん
2007/01/26(金) 23:09:13ID:???どっかが違ってるとしか思えん
コードは同じでも $name に渡しているのが違うとか
それから空白文字のチェックなら ctype_space 使った方が楽だよ
0177165
2007/01/26(金) 23:33:49ID:???私は1つの配列にGETもPOSTも入れられないか、と悩んでいました。
解決策として、($_GET + $_POST)を返す関数を作成しました。
あと、$_REQUESTはできるだけ使用するな、と言われましたがどうなんでしょう。。。
さらに質問ですが、みなさんはZendやPearコーティング規約に則していますか?
宜しければお答えくださいm(_ _)m
0178nobodyさん
2007/01/26(金) 23:34:30ID:sVVIcX6W想像どおり2次元目の配列は無視してカウントされますか?
今、PHP触れない環境で紙とペンでプログラム作ってます。
誰か教えてください(>_<)
0179nobodyさん
2007/01/26(金) 23:34:30ID:???$_REQUEST ってデフォルトで"EGPCS"と全部入るから無用な混乱を避けるためにも
あらかじめ分かっている部分には $_GET, $_POST を使い分けた方がいいかなぁと
まぁ俺のポリシーなんだけどね
0180nobodyさん
2007/01/26(金) 23:41:17ID:???$a = array(range(0, 10), range(0,10), range(0,10)) ;
echo count($a) ;
これの出力結果が知りたいということ?
0181nobodyさん
2007/01/26(金) 23:43:31ID:sVVIcX6WPOSTから受け取りたい変数がGETで渡された場合にも代入されちゃうから
あんまりよくないけど、わかってれば大丈夫。
大抵、表示部分はGETでやって、サーバー側に記録するような受け渡しは
POSTでやる。
俺は、タブが空白4文字だっけ?あれ以外はZENDのコーディング規約と同じで
phpのみの場合<?php 〜 exit;で行の文字数も広げすぎないようにしてる。
空白4文字だと、タブと違って作る時や消す時にメンドイ。
あの理由は、あらゆる人のエディターで
同じインデント幅って意味だと思うから一人で作る時は関係ない。
あとの規約は
if(){
}
と
function
{
}
って書き方くらいだったはず。
0182nobodyさん
2007/01/26(金) 23:44:19ID:sVVIcX6Wそうですよろしくお願いしますm(__)m
0184nobodyさん
2007/01/27(土) 00:02:00ID:???http://jp.php.net/count
0185nobodyさん
2007/01/27(土) 00:23:23ID:???0186nobodyさん
2007/01/27(土) 00:52:46ID:???POSTとGETのところで気をつかっても仕方ないぞw
0187nobodyさん
2007/01/27(土) 01:05:43ID:???他人の自動登録リンク集にクエリ付きでURL登録するだけでイタズラし放題。
0189nobodyさん
2007/01/27(土) 01:13:33ID:???0190nobodyさん
2007/01/27(土) 01:56:12ID:???初心者はエディタを即起動して、ちょろっとプログラム書いて、即実行できるような環境作りができていないことが多いからだと思われ。
0191nobodyさん
2007/01/27(土) 02:41:39ID:G9yQMd4Bこの 書き込む ボタン や 特定のリンクなど を"キーボードからの操作"で
即選択させられるようにするか、押す 方法はありませんかね?
0192nobodyさん
2007/01/27(土) 02:44:28ID:???大抵の入門向けの書籍って環境作りから書いてあったりするのに…
テスト環境を作るのが初心者の最初の課題だろう
ローカルなテスト環境作らない奴っていきなりレン鯖でテストするのか?
0193nobodyさん
2007/01/27(土) 02:45:18ID:???0194nobodyさん
2007/01/27(土) 02:50:20ID:???PHPいらない。
Webサイト制作初心者用質問スレ Part 178
http://pc10.2ch.net/test/read.cgi/hp/1169219011/
>>192
そういうの多いみたい。ApacheもPHPもMySQLも自分で準備するもんじゃないと。
入門書もマニュアルもなしで適当なサイト見てるだけだったりするし。
0196173
2007/01/27(土) 09:18:48ID:???やっぱりそこまでの過程は全く同じでした。
なぜだか原因がわかりません。
だけど教えていただいたctype_spaceつかったらうまく行きました。
原因はわからないけど、とりあえず希望する結果が得られたので、ありがとうございました。
0197nobodyさん
2007/01/27(土) 12:09:05ID:P0eOVa/K$array['comment']
$smarty->assign('age', $age);
など"と'が使える場所で、変数を展開することがない場合は'を使ったほうがいいのでしょうか?
0198nobodyさん
2007/01/27(土) 13:20:57ID:pVD/5wi/>大抵の入門向けの書籍って環境作りから書いてあったりするのに…
おいらは、あれでページ稼ぎしているのかと思ってたw
0200nobodyさん
2007/01/27(土) 13:32:29ID:???0201nobodyさん
2007/01/27(土) 13:55:51ID:???0203nobodyさん
2007/01/27(土) 18:21:46ID:???0204203
2007/01/27(土) 18:37:52ID:???0205nobodyさん
2007/01/27(土) 19:05:35ID:???0206203
2007/01/27(土) 20:19:21ID:???これくらいすぐ教えてくれたらいいのに
0207nobodyさん
2007/01/27(土) 20:31:14ID:???0208nobodyさん
2007/01/27(土) 20:32:45ID:???0209nobodyさん
2007/01/27(土) 20:33:50ID:???0210nobodyさん
2007/01/27(土) 21:08:09ID:8H08hEUC以下のスクリプトがうまくいきません。どこが悪いんでしょうか。
<?php
$artist = array(
"ピカソ" => array(
"出身地" => "スペイン",
"性別" => "男",
"タイプ" => "キュビズム",
"代表作" => "自画像"),
"ゴッホ" => array(
"出身地" => "オランダ",
"性別" => "男",
"タイプ" => "印象派",
"代表作" => "ひまわり"),
"モロー" => array(
"出身地" => "フランス?",
"性別" => "男",
"タイプ" => "神秘派",
"代表作" => "出現")
);
echo $artist["ピカソ"]["出身地"]."<br>";
echo $artist["ゴッホ"]["代表作"]."<br>";
echo $artist["モロー"]["出身地"]."<br>";
?>
項目をどれか一つ(一人)に絞れば大丈夫みたいなんですが、、
どこか間違ってるでしょうか。こんなので4時間くらいはまっています…
0214nobodyさん
2007/01/27(土) 21:25:44ID:8H08hEUCスイマセン エラーの内容は、全く何も画面に表示されないんです
ググッて調べたりもしたんですが、上手くいかないんですよねー
phpは5だけど、バージョンが関係するような大した物じゃないし。。
0216nobodyさん
2007/01/27(土) 21:34:14ID:???PHP5の自鯖環境で、>>210のコードをコピペしたら、
普通に↓のように出力されましたが・・・
スペイン
ひまわり
フランス
0218nobodyさん
2007/01/27(土) 21:36:37ID:8H08hEUCアドバイスありがとうございます。
しかし文字コードは関係ないような。。単純に配列の要素を減らしたら表示されるんです。
↓みたいのならOKです
<?php
$artist = array(
"ゴッホ" => array(
"出身地" => "オランダ",
"性別" => "男",
"タイプ" => "印象派",
"代表作" => "ひまわり")
);
echo $artist["ゴッホ"]["代表作"];
?>
0220nobodyさん
2007/01/27(土) 21:44:10ID:???じゃあいいです
0223nobodyさん
2007/01/27(土) 21:52:18ID:???だからそんなのは関係ない。
文字コードが原因。
>>216の環境では実行できる。
>>210の環境では実行できない。
こんな単純なコードが実行環境によって変わると思うか?
変わるのは表示している環境。
0225nobodyさん
2007/01/27(土) 21:57:32ID:8H08hEUC?とっても結果同じでした。
すみません
>>223
文字コードですか…
phpの保存形式もphpのcharsetもShift-jisです。
自分なりに調べたりしてますが、文字コード良くわからないんです まいったな
0226nobodyさん
2007/01/27(土) 22:00:00ID:M7VqTPnR具体的に文字コードの何?
SJISで2次元配列使うとダメなんですか?
パッとみエスケープするべき文字は
入ってない気がするんだけど。
ひょっとしてEUCでもKEYに'〜'とか使ったらおかしくなります??
0227nobodyさん
2007/01/27(土) 22:04:38ID:51nHlwTUmb_send_mail関数から送ったメールのタイトルの最初に ”ご"という文字が入っていると文字化けするのですが
なにか対処法があるますでしょうか?
mb_language(ja)やっても同じですしmb_internal_encodingはEUCです。
ちなみに"ご"という前に空白とか入れると問題ないですし逆に最初に "ご"を入れると次の文字も化けています。
0228nobodyさん
2007/01/27(土) 22:06:12ID:???internalでEUCです。
0229nobodyさん
2007/01/27(土) 22:08:32ID:???ttp://homepage1.nifty.com/nomenclator/perl/shiftjis.htm
0230nobodyさん
2007/01/27(土) 22:09:43ID:???すまん俺の恥ずかしい勘違いでした
>>225
うちの環境ではSJISでは空白、EUCで保存するとうまくいったよ
0231nobodyさん
2007/01/27(土) 22:12:31ID:M7VqTPnR2次元配列って"を使ったときの挙動おかしい??
echo "$arr["hoge"]["hage"]";だと展開されずにエラーになる。
echo $arr["hoge"]["hage"];だと上手く行く。
一番良いのは
echo $arr['hoge']['hage'];っぽい。
これだとおっぱい括弧要らない。
0234nobodyさん
2007/01/27(土) 22:19:43ID:8H08hEUCピカソ がトラブルの原因ですか。。 そんなの想像も出来ないですね
アドバイスにしたがってEUCで対応しようと思いますが、
<meta http-equiv="content-type" content="text/html; charset=EUC">
で、
保存形式もEUCにしたのに、ローカルテストで化けています。
トクトクのレンタルスペースならちゃんと表示するのに…
そろそろウザイですね、、文字コード勉強しなおしてみます
皆さんありがとうございました。<(_ _)>
0235nobodyさん
2007/01/27(土) 22:21:13ID:???0239nobodyさん
2007/01/27(土) 22:33:10ID:???print_r(藁
正直知らん。
二次元配列でも、配列の中の値はただの配列だから
普通にやればいいんじゃないかな。
辞典買ったけど、二次元配列用に便利な関数とかは特に無かったと思う。
0241nobodyさん
2007/01/27(土) 22:37:15ID:???最初は皆そんなもんだろ。
英語圏だったら良かったのにって何度思ったことか…
ところでユニコードでセキュリティの
大問題が発見されたみたいだけどPHPは大丈夫なのかな?
後で試してみるけど。
0242nobodyさん
2007/01/27(土) 22:56:37ID:???あんまりオススメできない気がするが
0244nobodyさん
2007/01/27(土) 23:02:29ID:u45Vq17Aこの文字列をsplitにより,で分割(ただしカッコ内は除外)するにはどういう正規表現にすれば良いですか
0245nobodyさん
2007/01/27(土) 23:12:12ID:???普通は戻るボタンをクリックすると先ほどの文字が記入したままになっているのですが
フォームのphpファイルでセッションを使っていると記入した文字が消えてしまいます。
記入したままにするにはどうしたらいいでしょうか?
よろしくお願いします。
0246nobodyさん
2007/01/27(土) 23:22:46ID:???クライアントのリクエストに対して
動的に生成するページでは
戻るとフォームは空になる
POST して戻らせるようにすればいい
0247nobodyさん
2007/01/27(土) 23:40:55ID:SMgvGaRS(俺鯖のメールをPHPに渡して処理させるスクリプトで)
ほかに同じ人いますか?
0248nobodyさん
2007/01/27(土) 23:44:18ID:???どゆこと?
0249nobodyさん
2007/01/27(土) 23:45:37ID:???その文字列なら楽勝
split(', ', "name , type, value, primary key(name,type)");
0252247
2007/01/27(土) 23:56:48ID:SMgvGaRSええっ
そうなんですか?
$_SERVERに同じのがセットされてるようなのでそれで間に合わせましたよ
getenv関数は思いつかなかった
サンクスです
#もしかしてqmailの設定いじることになるのかと思って頭が真っ白になった
#しかしなんでこう覚えておくのが多いのか
#昔やった設定なんか綺麗サッパリ忘れとるがな
■ このスレッドは過去ログ倉庫に格納されています