【PHP】下らねぇ質問はここに書き込みやがれ 45
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/04/27(金) 10:02:42ID:H9gF1SfBPHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 44
http://pc11.2ch.net/test/read.cgi/php/1176364487/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0263nobodyさん
2007/05/02(水) 04:35:15ID:???0264nobodyさん
2007/05/02(水) 04:36:18ID:???0265nobodyさん
2007/05/02(水) 05:54:44ID:???(?!hoge)は前方参照否定じゃなかたけ、否定とはちょい違う
>>262
(?!<\/TAG>)(.*?)
て書きたかったんじゃね
>>264
どうしてそこにドットが出るのかがわからない、と聞いているんだろ
常識的に考えて
0266nobodyさん
2007/05/02(水) 06:23:43ID:???そんなことも分からないってことは修飾子と構文を正しく理解してないってこと。
その2つは最低限理解してから実例に入るべき。
人に教えてもらってコピーするとか改良するとかはその後。
0268208
2007/05/02(水) 07:44:06ID:e82GvhiD0269nobodyさん
2007/05/02(水) 08:08:14ID:???0270nobodyさん
2007/05/02(水) 08:46:10ID:UK9OmFrQGETmethodで情報をphpに受け渡した時、受け側のphpでは以下の通りになりました
storeCart.php?num1=45&code1=1&num2=0&code2=2&num3=0&code3=3&num4=0&code4=4
で、このstoreCart.phpに
if($_get['code1']=""){
echo "karadayo";
}else{
echo "「".$_get['code1']."」";
}
と書いたんですが、何も表示されません なぜでしょう?
0271nobodyさん
2007/05/02(水) 08:47:05ID:???0272nobodyさん
2007/05/02(水) 08:51:03ID:UK9OmFrQすみません、書き間違いがありました
「」 と表示されました(270の時点で)
271さんの言うとおりにしても、「」のまま変わりません
なぜ??
0273nobodyさん
2007/05/02(水) 08:55:03ID:jXkSXyAxだからじゃね
0274nobodyさん
2007/05/02(水) 08:56:00ID:???0275nobodyさん
2007/05/02(水) 09:02:39ID:UK9OmFrQそれでした! ハズカシイ。。
$_GET['code1']=="" にしたら解決しました
しかし $_GET['code1']="" が変なのと echo "「".$_get['code1']."」"; が
まともに動作しないのって別問題と思うんですけどね。。
ともかくありがとうございました
0276nobodyさん
2007/05/02(水) 09:19:39ID:jXkSXyAx空っぽの文字列を代入してるからif式はfalse
だから「」が表示される
ちゃんと動作してるんじゃね?
0277nobodyさん
2007/05/02(水) 09:49:23ID:???勉強します…
0278nobodyさん
2007/05/02(水) 13:45:41ID:s9SsVluQ$hoge[0]['value'] = 100;
$hoge[1]['name'] = "BBB";
$hoge[1]['value'] = 10;
$hoge[2]['name'] = "CCC";
$hoge[2]['value'] = 50;
上記のような配列を ['value']値の順に並び替えたい、
つまり
$hoge[0]['name'] = "AAA";
$hoge[0]['value'] = 100;
$hoge[1]['name'] = "CCC";
$hoge[1]['value'] = 50;
$hoge[2]['name'] = "BBB";
$hoge[2]['value'] = 10;
に変更したいのですが、どのようにすればいいでしょうか。
ご教授お願いします
0279nobodyさん
2007/05/02(水) 14:15:26ID:???$hoge = array(
array('name' => 'AAA', 'value' => 100),
array('name' => 'BBB', 'value' => 10),
array('name' => 'CCC', 'value' => 50)
);
$values = array();
foreach ($hoge as $i => $val) {
$values[$i] = $val['value'];
}
array_multisort($values, SORT_DESC, SORT_NUMERIC, $hoge);
var_dump($hoge);
0280nobodyさん
2007/05/02(水) 17:45:01ID:QSxF3+cOソースには頭にframesetタグが書かれてて大丈夫だと思うんだけどうまくいかなかったんで
require無くしたらいけたりしたんですけどいまいちよくわからないので詳しくわかる人があれば教えていただきたい
0281nobodyさん
2007/05/02(水) 17:49:41ID:???0282nobodyさん
2007/05/02(水) 17:58:46ID:???おかしくなってるんだろ
0283山本山
2007/05/02(水) 18:08:43ID:???0284nobodyさん
2007/05/02(水) 18:37:16ID:QbFzO5vtフレームワークやらSmartyやらよく聞くがどんなものかわかんなす
0285nobodyさん
2007/05/02(水) 18:44:51ID:???フレームワークはフレームワーク。
Smartyはテンプレートエンジン。
まず公式サイトでドキュメントを読め。そしてぐぐれ。
0287nobodyさん
2007/05/02(水) 20:00:38ID:???デザイナー上がりって使えない奴多いよね
0288nobodyさん
2007/05/02(水) 20:21:22ID:???簡単なログイン機能つけるのって初心者には簡単じゃないなw
同じファイルの中でやろうとしたら混乱してきた
0290nobodyさん
2007/05/02(水) 20:30:59ID:ZxrVMRS9id<>pass
aaa.php
$fp = fopen('./data/log.txt','r');
while(!feof($fp)) {
$user = explode('<>',fgets($fp));
}
fclose($fp);
0291nobodyさん
2007/05/02(水) 21:18:47ID:???初心者が簡単にできたらそれ初心者っていうのか?
つか個人的には簡単なログインくらいなら初心者にも作れて当然だと思うけどさ。
思うに今の君に必要なのは初心者がどうのとか難しいとか愚痴ることることではなく
「マニュアルとちゃんと読む」ことと「参考になる書籍/解説Webサイト」を見て学ぶことだと思うぞ。
0293nobodyさん
2007/05/02(水) 23:30:25ID:???0294nobodyさん
2007/05/02(水) 23:56:44ID:???cookieにセッションにcryptに認証状態の維持に有効期限に
初めてのことばっかで情報量多くて…すまん
0295nobodyさん
2007/05/03(木) 00:15:12ID:4b9rb2KaZendPHPの問題集買ったが洋書でわけわかんねwwwwww
0296nobodyさん
2007/05/03(木) 00:22:50ID:B994S/bSPHP5以降を使って
Zend Framework http://framework.zend.com/manual/ja/index.html
と
Smarty http://sunset.freespace.jp/smarty/SmartyManual_2-6-7J_html/
をおすすめする。
てかその質問内容からしてフレームワークとか無理じゃない?
まずはPHPの基礎とSmartyでデザイン部分を分離するところから勉強してみたら?
0297nobodyさん
2007/05/03(木) 00:26:11ID:???http://smarty.m-takagi.org/
翻訳者のみなさんマジGJ!
0298nobodyさん
2007/05/03(木) 00:31:23ID:x91D8BN0誰か作ってください。
javaはいりません。
0300nobodyさん
2007/05/03(木) 00:33:34ID:B+f7twkm簡単過ぎる
で、いくら?
0302nobodyさん
2007/05/03(木) 01:48:24ID:???google adsenceのパクリシステムを作ったはいいが、
GoogleBotとチョソBotしか栗ってくれないプログラムだけどいいか?w
0303nobodyさん
2007/05/03(木) 01:50:23ID:???ほれ。
<html>
<head></head>
<body>
<?php
$i = mt_rand(1,3);
if($i < 2 ){
?>
<img src="img1.jpg">
<?php
}else{
?>
<img src="img2.jpg">
<?php
}
?>
</body>
</html>
0304nobodyさん
2007/05/03(木) 01:53:51ID:ffjkYhTEエラーを独自関数で一元に管理する場合に独自関数をエラーハンドラとして設定しますが
その後の処理についてtryで囲む部分っていうのは全て囲って問題ないものでしょうか?
例を記述すると。
<?php
require_once('function.php');
set_error_handler('myErrorHandler');
try{
$str = file_get_contents('hogehoge.txt', "r");
$conn = mysql_connect("localhost", "user", "password");
mysql_select_db("hoge", $conn);
mysql_query("insert into hoge values ('".addslashes($str)."')");
} catch (Exception $e){
echo $e->getMessage();
}
?>
こんな感じです。
0305nobodyさん
2007/05/03(木) 01:55:34ID:ffjkYhTEfile_get_contentsの部分で例外が発生します。
0306nobodyさん
2007/05/03(木) 01:57:57ID:B994S/bS数が多いので各リンクの後ろに$_GETはしたくない。しかも、外に飛んだのもカウントしたい。
JS使えばclickイベントでPHP呼び出していけそうだけど。
0307nobodyさん
2007/05/03(木) 01:58:23ID:???0310nobodyさん
2007/05/03(木) 02:04:16ID:???ってか外に飛ぶのも含めるとjs使わない限り不可能だよ
0311nobodyさん
2007/05/03(木) 02:06:46ID:B994S/bSset_error_handlerはエラーが発生したときで
例外はset_exception_handlerだと思う
でhandlerは例外が発生してcatchをしなかった場合に呼び出されるので
catchしたら呼び出されない。
例外は、基本的にはある条件で自分で発生させて処理を続行したいときに使うんじゃないかな。
条件分岐みたいな物・・・っておもってたけどちがう?
set_error_handlerの使いどころは何だろ?使ったことないから解らん。
0312nobodyさん
2007/05/03(木) 02:15:37ID:B994S/bSああ、そうか。あるページから、ある同じページに複数のリンクを張る場合を除けば
リンク元のページに張ってるある全てのリンクのリンク先のページのアクセスログのリファラーが
リンク元のページの「どのリンクがどれだけクリックされたか?」になるのか。
↑解りづらいけど、たぶんあってますよね。
考えてみたらそうですね。サンクス。
外に行くリンクはやっぱりJSじゃないと無理ですか?
基本的にはリファラーを含めたアクセスログを保存して、外に行くのだけJSで別にログを保存するかんじかな〜
ありがとでした。
0313nobodyさん
2007/05/03(木) 02:38:25ID:ffjkYhTEなるほど、参考になります。
色々試してましたが、エラーを管理するだけなら
try catch等使わずに、ただエラーハンドラを設定するだけで
いけるぽいですね。
try catchの用途がいまいち理解出来ません。
0315nobodyさん
2007/05/03(木) 02:54:31ID:???何を面倒がってるのか知らんが普通にスクリプトかませばいいじゃん
>>311
>>307はスルーかよ
結局勘違いだったってことでいいわけ?
0316nobodyさん
2007/05/03(木) 04:00:11ID:0TC0EZ5+<?phpだと有効なのに<?=だと無効になってしまいます
php.iniの設定だと思うのですがどのあたりなのかよくわかりません
よろしくお願いします
0317316
2007/05/03(木) 04:09:20ID:???0319nobodyさん
2007/05/03(木) 04:11:40ID:???結城センセのリファクタリング入門でも読んでみ
例外処理の仕組があると何故便利なのかわかると思うよ
>>316
ttp://jp.php.net/manual/ja/ini.core.php
0320315
2007/05/03(木) 04:24:24ID:???間違えた>>311宛ではなく>>313宛だった。
つまりset_error_handlerしたらtry〜catchしないといけないと思ってたのね。
例外処理は俺も前は訳分からなかったけどちょっと理解したら確かに便利だってことが分かったよ。
0321nobodyさん
2007/05/03(木) 06:36:17ID:mwEz31pqphpでjavascriptがoffかどうかを判定するのは無理があるでしょうか?
0322nobodyさん
2007/05/03(木) 07:10:04ID:???JavaScriptで自動的にPHPやCookieなどにアクセスさせるようにして
そのアクセスがあればON、無ければOFFと判定はできるかも。
自動アクセスは単純な手だと画像としてsrc呼び出しなど。
ただ、画像だとブラウザ設定によってJavaScriptがONでも動作しなくなる可能性はある。
その辺はCookieを使う場合も同様。
Ajaxみたいなデータ通信であればそういった不都合は無いかもしれないが
使えるブラウザ自体が限られるかもしれない。
ただ、どんな手法を使うにせよ、判定結果が出るのは最初のPHPの処理が
全て終わって、次のアクセス以降のことになるけどね。
0323nobodyさん
2007/05/03(木) 07:39:13ID:???24歳。おとこ
0324nobodyさん
2007/05/03(木) 09:25:36ID:???0325nobodyさん
2007/05/03(木) 10:53:35ID:???0326nobodyさん
2007/05/03(木) 11:05:22ID:+5Kuly7DAの中にある変数に、globalを使わないでBからアクセスする方法はありますか?
class Test {
function A() {
$a = "a";
}
function B() {
//A()の$aを呼びたい
}
}
0327nobodyさん
2007/05/03(木) 11:13:20ID:???0328nobodyさん
2007/05/03(木) 11:27:39ID:???0330nobodyさん
2007/05/03(木) 11:32:29ID:+5Kuly7D同じ内容の変数を別のメソッドでも使いたいだけなのですが、
その場合は、メソッド別に変数を定義するべきでしょうか?
ていうかそういう場面ってありませんか?
0331nobodyさん
2007/05/03(木) 11:32:33ID:???まとめる為にクラス使ったら
newするのめんどくさくね?
class使わないほうがそのままfunction呼び出せるから便利
0332nobodyさん
2007/05/03(木) 11:33:54ID:+5Kuly7Dどうもありがとうございます。
プロパティの概念はよくわかっていないので、調べてきます。
0333nobodyさん
2007/05/03(木) 11:35:23ID:???いやそんな基本的なことも分からないってことはオブジェクト設計とかもどこ吹く風っしょ?
まぁ別にいいけど。
プロパティ変数使えばいいともうよ。
0334nobodyさん
2007/05/03(木) 12:07:27ID:869V7SM7globalにfunction作りまくるよりはclass使ったほうが良いと思う
newマンドクセならstaticにするべ
0336331
2007/05/03(木) 12:34:04ID:???ごめ、今までクラス使ったことないからわかんない
クラスって何だろう?って思うと、皆はまとめるだけとかいうが、
俺は別に必要性を感じないから使っていない
0338nobodyさん
2007/05/03(木) 12:40:48ID:???functionあるし、やっぱり必要性を感じない俺は末期wwwwww
0340nobodyさん
2007/05/03(木) 12:44:51ID:???まだ20歳だし、勉強していこうと思えばなんとかなるかな?
しかし、2年も独学で勉強していてここまで成長がないのは俺だけでいい
0342nobodyさん
2007/05/03(木) 12:55:15ID:???趣味でやる場合は特に。
会社に入れば使えるようになるし、
覚えようと思って覚える必要はない。
0343nobodyさん
2007/05/03(木) 13:00:11ID:???それそれデザインパターン
まえから気になってたんだけど良い本がなかったorz
「PHPのデザインパターン」って本はないのかな・・・?
>>342
今までは趣味でしていたけど、
知り合いのWebデザイン関係の人のコネでPHPを使った簡単な仕事が入るようになった
この場合はもう趣味では済まされなくなるよな・・・
0344nobodyさん
2007/05/03(木) 13:30:24ID:???言う奴はどうかしてると思う
0345nobodyさん
2007/05/03(木) 13:30:59ID:???お前本当に探したのか?
http://www.amazon.co.jp/dp/4798015164/
0346nobodyさん
2007/05/03(木) 13:37:19ID:???よってまずはOOP入門が先。デザパタはその次。
0347nobodyさん
2007/05/03(木) 13:41:45ID:???最初はstatic,singletonだけで、クラスに関数まとめるだけでも利便性があるし。
0348nobodyさん
2007/05/03(木) 13:44:23ID:???0349nobodyさん
2007/05/03(木) 13:47:50ID:???理解したいなら真剣に読んでみたら?
手続き指向とはプログラムの設計の考え方が根本的に違うわけで、
便利になるとか不便になるとかいう次元の話ではない。
0350nobodyさん
2007/05/03(木) 13:49:05ID:???プログラム作りが楽になるとか面倒になるとかいう話ではないってこと
0351nobodyさん
2007/05/03(木) 14:10:43ID:???リモートサーバが「404」を返して失敗したとか
「200」を返して成功したとか
の判定をしたいと思ってます。
0353nobodyさん
2007/05/03(木) 14:32:53ID:???以前はcURL結構使ってたけど使いづらい面が多いので、
PEAR辺りのHTTP接続ライブラリ使ったほうが良いよ。
http://jp2.php.net/manual/ja/function.curl-getinfo.php
CURLINFO_HTTP_CODE
0354nobodyさん
2007/05/03(木) 14:43:28ID:???md5は日本語何文字程度までなら暗号化→複合が可能なんでしょうか?
0357354
2007/05/03(木) 14:48:49ID:eLSTvBdpありがとうございました。
0358nobodyさん
2007/05/03(木) 14:52:21ID:???まあ、じっくりよんでくれや
ttp://ja.wikipedia.org/wiki/MD5
たんに圧縮したいならbz2関数でも使えば
0359nobodyさん
2007/05/03(木) 16:54:25ID:grlGgfbD具具って見るとSQLでのマルチバイト文字抽出はPHPが対応していない
ような記事を見かけたのですが、これを補う方法ありませんでしょうか?
0360nobodyさん
2007/05/03(木) 17:14:31ID:???どういうSQL文かけばいいでしょうかね?
DBはMySqlです。
0362359
2007/05/03(木) 18:28:20ID:grlGgfbDたとえば、下記のようにすると「つて」を含まないレコードも
抽出されてしまいます。
どうすればよいでしょうか?
おねがいします。
$str="つて";
$sql="SELECT * FORM main WHERE fld='$str';";
■ このスレッドは過去ログ倉庫に格納されています