【PHP】下らねぇ質問はID出して書き込みやがれ 98
質問者はまず
>>1 を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは
>>2-10 辺り
次スレは
>>980 が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 97
http://hibari.2ch.net/test/read.cgi/php/1279833891/ ◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
【簡易FAQ】
1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
→
http://example.com/が例文などのために予約されている 。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
→ Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
→ 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
→ {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
→ cronかタスクスケジューラを使え。
7.extractって危険なの?
→変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
→ URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
→ .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
10. そもそもインストールの時点でうまくいかない
→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
→ ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
→ 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40 15. クッキーの情報をユーザから隠したい
→ セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
→ まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
→ C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(
http:// 〜とか)を扱う際の限界
→ fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
→19.を参照
21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
6 :
nobodyさん :2010/09/18(土) 19:50:58 ID:qF/0CouG
前スレ埋まってしまったので新スレ早々失礼します。
【OS名】CentOS 5.5 (32bit)
【PHPのバージョン】5.3.3
【連携ソフトウェア】Qdmail 1.2.6b
【質問内容】
問題点:メールのタイトルが特定の文字列のときに文字化けしてしまいます。
タイトルが「メール」のときは文字化けするんですが「テスト」なら文字化けしません。
タイトルが文字化けするときの文字列を本文に書くと同じく文字化けします。
どこを見直せば良いでしょうか?
ちなみに$mail->charset('UTF-8', 'base64');にしてもiso-2022-jpからutf-8になるだけで改善されませんでした。
mb_language("ja"); と mb_internal_encoding('UTF-8');も先頭に書いてみましたが同じ結果でした。
メール→文字化け / テスト→正常
あかさたなはまやらわ→正常 / アカサタナハマヤラワ→文字化け
ちなみに「あかさたなはまやらわ」のときのメールヘッダは
Subject: =?iso-2022-jp?B?GyRCJCIkKyQ1JD8kSiRPJF4kZCRpJG8bKEI=?=
ですが、
「アカサタナハマヤラワ」のときは
Subject: =?iso-2022-jp?B?GyRCZWIbKEI/GyRCZWIbKEI/GyRCZWIbKEI/GyRCZWIbKEI/GyRCZWMbKEI=?=
=?iso-2022-jp?B?GyRCNGUlb2VjXGUmJmVjGyhCPxskQmVjGyhCPw==?=
となっています。二行になって頭にTabが入っているようです。
↓のファイル自体はUTF-8で作られています。
require_once 'qdmail.php';
$mail = new Qdmail();
$mail->to('
[email protected] '); // 実際はGmail宛 Yahoo宛で確かめています
$mail->subject('メール');
$mail->text('ここに本文');
$mail->from('
[email protected] ', '管理者');
$mail->send();
7 :
nobodyさん :2010/09/19(日) 01:14:28 ID:o0omnz79
php5.3です。 new するときのcall_user_func_array的なものってないですかね?
>>6 俺もQdメール使ってたけど、作者さんに聞いたほうが早いよ。
とりあえず俺の場合の文字化け無しのソース抜粋
// メールクラス読み込み
include('../class/qd_simple_mail.php');
$from_address = "送信元アドレス";
$from_name = ”送信者”;
$subject = 'タイトル';
$to_address = '宛先';
$content = ”本文”;
$additional = array();
$option = array(
'CHARSET_CONTENT'=>'utf-8',
// 'CHARSET_CONTENT'=>'iso-2022-jp',
// 'ENC_CONTENT'=>'base64',
);
qd_simple_mail( $to_address , null , $subject , $content , $from_address , $from_name ,$additional , $option );
こんな感じ。
俺の場合はシンプルメールのほうにしたけど、そちらの方法のやつは
ちょっと不明かも、良かったらシンプルメールにて試してみて欲しい。
#ちなみにサーバー依存しないソケット通信がしたくてそちらを選んだならごめん。
未だにフォームの値が取得できません… 何度もやり直してはいますが まったくできませんでした サーバの文字コードはUTF-8 エンコード時の文字コードもUTF-8 index.htmlの文字コードもUTF-8 です これで全くできないのです…自分の環境がおかしいのでしょうか
11 :
nobodyさん :2010/09/19(日) 11:07:50 ID:eIEN7Yyo
【OS名】Land.to
【PHPのバージョン】5.3
【連携ソフトウェア】なし
【質問内容】
>>9
何の話
>未だにフォームの値が取得できません… >何度もやり直してはいますが まったくできませんでした 質問内容を省略しすぎてて意味がわかりません
>>11 そのくらい推察しろよカスどもめが…とか思ってるかもしれんが、
面倒なのは仕方ないと割り切った上で落ち着いて丁寧に質問してくれ。
もしこれ以上の情報が必要ないと考えているようだと、
それはそれで大問題だ。いろんな意味で。
16 :
nobodyさん :2010/09/19(日) 12:39:44 ID:NWy7q6Wm
前スレの
>>968 です
index.html (文字コード UTF-8)
<html>
<head><title>New Document</title></head>
<body>
<div>
<form action="" method="post" id="test">
<input type="hidden" name="a" value="あ">
<input type="hidden" name="b" value="い">
<input type="hidden" name="c" value="う">
<input type="hidden" name="d" value="え">
<input type="hidden" name="e" value="おあ">
<input type="submit" value="send">
</form>
</div>
</body>
</html>
17 :
nobodyさん :2010/09/19(日) 12:40:32 ID:e0G02OVN
初歩的な質問で申し訳ありません。 同じURL上で、カテゴリをプルダウンメニューで選択すると表示が変わる、 動的なページを作成しています。 POSTでデータを受け渡した時は、選んだカテゴリが次のページにも反映されるのですが、 GETで受け渡した時は、初期カテゴリに自動的に戻ってしまいます。 選んだカテゴリをURLに反映させたいのでGETを使いたいのですが、 なにかヒントをもらえないでしょうか?
<?php $url = "index.html"; $file = file_get_contents($url); $doc = new DOMDocument(); $doc->encoding = "UTF-8"; $res = $doc->loadHTML($file); $items = $doc->getElementsByTagName('input'); $cnt = $items->length; $str = $items->item(0)->getAttribute('value')."\n"; $str = mb_convert_encoding($str, "UTF-8", "auto"); echo $str; ?> サーバ側もindex.htmlもencodingもUTF-8にしたのに文字化けしてしまいます
$str = mb_convert_encoding($str, "UTF-8", "auto"); これいらんのじゃ
$doc->encoding = "UTF-8"; これも
>>16 postで送信した値を取得したいんだったら$_POST使え
>>18 phpinfoの内容をうpローダにうpすれば
>>18 ひょっとしてコマンドラインから実行してるのかね?
>>18 <?phpの次の行に
header("Content-Type: text/html; charset=UTF-8");
26 :
nobodyさん :2010/09/19(日) 13:44:14 ID:DdIFZWUf
>>19 >>20 削除してみましたが結果は同じでした
>>21 postで送信するのではなく index.htmlというページにあるvalueの値を取得したいのです
>>22 encodingはUTF-8でした
>>23 サーバからです
>>24 それを読んでみましたが まったくダメでした
>>25 それもダメでした…
$cntって何に使ってるの?
28 :
nobodyさん :2010/09/19(日) 14:18:30 ID:d8+XLEjx
こんな記事みたんだけど
ーーーーーーーーーーーー
クロスサイトスクリプティングの解説記事でよく説明される「入力データチェックを厳密に」という表現から,
フォーム受付時のタイミングでサニタイジングを行うのかと思いがちである。
サニタイジングは(2)HTML生成時のタイミングで行うべきである。
次章「クロスサイトスクリプティング対策の詳細」で説明するが,
データを埋め込むHTML中の文脈に合わせて適切なサニタイジング手法を選択する必要があるからである。
また掲示板の例では,将来的にデータベースへの記事の書き込み手段として,メールによる投稿が導入された場合でも,
HTML生成時のタイミングでサニタイジングしていれば,
なんら手を加えることなく,いろんな入力源から入り込んでくるデータを漏れなくサニタイジングできる。
また,同じデータに誤って2回以上サニタイジングしてデータの意味が変わってしまうという設計上のトラブルも防げる。
ソース
http://www.asahi-net.or.jp/~wv7y-kmr/memo/php_security.html#PHP_Session_about 今はデータベースに入れる前に、こんな感じで、
function delete_tag_changing_line($str){
$str=strip_tags($str);
$str=htmlspecialchars($str,ENT_QUOTES,"SJIS");
return str_replace(array("\r\n","\r","\n","\"","\'"),'',$str);
}
$hoge=delete_tag_changing_line($_GET['hogehoge']){
って感じでエスケープしてるんだけど,
上の記事見ると、print関数とかのhtml出力時にエスケープすべきみたいなんだよね。
でも、正直今の設計上で出力時に全部エスケープすると、かなりソースに変更が必要になってしまうです。
だから、今まで通り
$hoge=delete_tag_changing_line($_GET['hogehoge']){
このやり方で、リクエストのフォームデータを扱う時にエスケープかける方向でいきたいんだけど、
>同じデータに誤って2回以上サニタイジングしてデータの意味が変わってしまうという設計上のトラブルも防げる。
>メールによる投稿が導入された場合でも,
ここら辺が問題なければ、現状通りのやり方でも大丈夫かな。
お手間かけてすみませんが、見解聞かせてください。
>>28 修正に稼動かけてられないなら、問題点をちゃんと把握してれば構わないと思うよ
>>27 今は使いませんが 文字化けが解決した後に cntの回数だけループしてItemの値を取得しようと思っています
31 :
6 :2010/09/19(日) 14:35:36 ID:???
>>8 qd_simple_mailは知らなかったのですがそっちの方も使ってみたところ同じでした。
mbstring.detect_orderが原因でした、ASCII,JIS,UTF-8,EUC-JP,SJISにしたら文字化けしなくなりました。
Qdmail側がそこら辺はうまい具合にやってくれてると思ってたんですが違ったようです。
>>30 index.htmlの頭に
<?xml version="1.0" encoding="utf-8" ?>
付けたら出たよ
あとID出してね
>>32 あ すみません。。。janeなので自動でsageてしまいました
それをつけないでできませんか?
>>33 $doc = new DomDocument('1.0', 'utf-8');
>>33 コマンドラインに出力してるのかブラウザに出力してるのかはっきり書け
37 :
nobodyさん :2010/09/19(日) 15:43:06 ID:RW6Zh2z2
$str = "あ いうえお かきくけ こ"; $str = trim($str); 文字列から半角スペースだけ削除したいのですが消えません どなたかご教示おねがいします
str_replace
40 :
nobodyさん :2010/09/19(日) 15:57:35 ID:+3xl6Ak5
テキストエディタでPHPを書いてます eclipseに移行した場合、どのようなメリットがありますか? テキストエディタからeclipseに移行することで開発スピードは上がりますか?
でもファイル数が多いと一々エクスプローラウインドウで選択するのがめんどくさいかもって思った。
>>16 ><form action="" method="post" id="test">
actionはマジで空っぽ?
※自分自身のファイルに送信するときはaction属性の値は省略できる
45 :
nobodyさん :2010/09/19(日) 17:00:41 ID:LNQ8CDVB
$test = "test"; echo $test[0]; これがtを表示するのは何故ですか?
46 :
nobodyさん :2010/09/19(日) 17:08:14 ID:4bBjydvf
データを取得する部分の実装の話なのですが、 データベースと接続する部分は共通化していますが、 各データを扱う部分は、直接各クラス毎に、 $sql = "SELCT COLUMN FROM TABLE_NAME WHERE CONDITION = '123'" という風に書いています。 こういう書き方って、皆さんから見るとどうでしょうか? データ取得部分だけクラス化するという話もききますが、 それだと、SQLの数だけクラスが増えて相当なクラス数になると思います。 どのような方法が一般的なのか、お伺いできればと思います。 宜しくお願いします。
>>45 そこらへんはCと同じような考え方からきてんじゃないのかね
Cは文字列というものは存在しなくて文字の配列を文字列としてるから
>>46 オブジェクト指向、MVC、O/Rマッパー、各種フレームワーク等を学ぼう
49 :
nobodyさん :2010/09/19(日) 19:41:04 ID:4bBjydvf
>>48 ご回答ありがとうございます。
O/Rマッパーについて調べてみたのですが、Java専用でphpのものはないそうです。
phpでそれに該当するようなものはございますか。
度々のご質問で申し訳ございません。宜しくお願いします。
51 :
nobodyさん :2010/09/19(日) 21:05:03 ID:2wvRyPkx
>>34 もう諦めたほうがいいのでしょうか・・・
まったくできません
>>52 もう小出しせずそのまんまのHTML文書とコードを出そうぜ
ソースは真似されると嫌なので出したくありません。
動かないコードを誰が真似するんだよw
小者が書いたコードは既に世界中の誰かが誰かが書いてるんだから気にしすぎ
preg_match("/検索パターンを表す文字列/", 比較文字列) /(スラッシュ)って必要? preg_match("検索パターンを表す文字列", 比較文字列) だと動作にどういう違いが生じる?
>>58 やってみた。自分でやってみるほうが早いと思うけどね。
Warning: preg_match() [function.preg-match]: No ending delimiter '.' found in ......
で false を返したよ。@5.2.13
/がうざいなら##で囲むとかデリミタ変えるといいよ
省略記述について教えてください。 mysql_query("rollback") and $this->db['autocommit']= 1; や mysql_query("begin") or $this->dberr("トランザクション開始エラー"); はどういった意味になるのでしょうか。 ifも書かれていないため、条件分岐でもなさそう ですので、悩んでます。 よろしくお願いいたします。
andの場合は前の結果が真の場合実行 orの場合はその逆で偽なら実行 if文とかでもそうでandとか&&は 先の結果が真の時以外その後は実行されない
>>59-60 本当だ・・・
warning返された・・・
なんてスラッシュなんて要求するんだろう?
ない方が手間も省けるのに
67 :
nobodyさん :2010/09/20(月) 00:44:25 ID:zsEPGaUe
>>62 すみません。
ID出してませんでした。
>>63 >>64 ありがとうございます。
つまり、
if (!$this->db['autocommit']){
mysql_query("commit") and $this->db['autocommit']= 1;
}
は、書き換えると
if (!$this->db['autocommit']){
if(mysql_query("commit")){
$this->db['autocommit']= 1;
}
}
になり、
if (!$this->db['autocommit']){
mysql_query("commit") or $this->db['autocommit']= 1;
}
は
if (!$this->db['autocommit']){
if(!mysql_query("commit")){
$this->db['autocommit']= 1;
}
}
になるという解釈で宜しいでしょうか。
度重なる質問ですみません。
それであってる
69 :
nobodyさん :2010/09/20(月) 01:39:01 ID:zsEPGaUe
>>68 ありがとうございます。
大変助かりました。
realpath()で絶対パスを取得することができるわけだけど 一方htmlの画像表示タグ <img src="(パス)/(ファイル名)"> では(パス)の部分にrealpath()で取得した絶対パスを指定しても正しく画像を表示できないのはなぜ? これができるようになったら便利なんだけどね・・・
realpath()で絶対パスを取得することができるわけだけど 一方htmlの画像表示タグ <img src="(パス)/(ファイル名)"> では(パス)の部分にrealpath()で取得した絶対パスを指定しても正しく画像を表示できないのはなぜ? これができるようになったら便利なんだけどね・・・
73 :
nobodyさん :2010/09/20(月) 08:52:50 ID:ZY/coBt6
【OS名】CentOS
【PHPのバージョン】5.2.13 (cli)
【質問内容】
CLI版のPHPは自動でメモリの開放はしてくれないのでしょうか?
ループしているだけで、メモリ使用量がどんどん増えていって、最終的に
メモリが足りなくなって落ちてしまいます。
原因や、回避策をご存知でしたら、教えてください。
例)
<?php
require_once('./simplehtmldom/simple_html_dom.php');
for ($i = 0; $i < 100; $i++) {
$url = "
http://www.yahoo.co.jp ";
$obj = file_get_html($url);
unset($obj);
var_dump(memory_get_usage(1));
sleep(3);
}
int(5505024)
int(9961472)
int(14942208)
int(19660800)
int(24117248)
int(29360128)
int(33816576)
int(38535168)
$obj = file_get_html($url); ここをfile_get_contentsにしてやってみ ちゃんと開放されてるから 原因はfile_get_html require_once('./simplehtmldom/simple_html_dom.php'); こいつの中身にあるんじゃないかと なんかメモリにキャッシュするようにしてるのかもしれん
>>70 imgタグのsrcはwebサーバではドキュメントルートからのパスになるし
realpathから$_SERVER["DOCUMENT_ROOT"]を引けばOK
>>75 そこらへんHTML5では改善されるといいね
些細なことだけどプログラム上の余計な手間なんだよね>imgタグのsrc指定
それは改善なのか?
サーバのパスをimgタグのsrcに指定して表示されるわけなかろう <img src="/home/takashi/public_html/img/hoge.jpg">とか書くつもりか
| 〜〜〜〜〜〜〜〜|〜〜〜〜〜〜〜〜〜〜 >( c´_ゝ`) | | >( c´_ゝ`) J >( c´_ゝ`) | 〜〜〜〜〜〜〜〜|〜〜〜〜〜〜〜〜〜〜 | >( c´,_ゝ`) | J >( c´,_ゝ`) >( c´,_ゝ`)
80 :
nobodyさん :2010/09/20(月) 11:09:18 ID:ZY/coBt6
>> 74 「メモリにキャッシュする」というのが、 具体的にどういう処理かがよくわからないのですが。 とりあえず、関数の中で static な変数を保持しているとかはありませんでした。 file_get_html の中では、object を new して返してます。 file_get_html が返した object を unset しても、どんどんメモリが増えていきます。。 file_get_contents なら、増えないことは確認できました。
>>78 その方式でもちゃんとURL変換した上で表示してほしくね?
>> 80 マニュアルに書いてありますねぇ file_get_contents()はファイルの内容を文字列に読み込む 方法として好ましいものです。もしOSがサポートしていれば パフォーマンス向上のためにメモリマッピング技術が使用されます。
84 :
nobodyさん :2010/09/20(月) 13:22:28 ID:Z65z5cwS
>>52 です
jcode.phpで文字コードを調べてみると ASCIIコードになっていたようです
だから文字コードをちゃんと変換できてないからだろバカ
73と52は同一人物なような気がしてきた
ちなみに85と86は同一人物
88 :
nobodyさん :2010/09/20(月) 14:28:16 ID:M5nqlNJA
すんません。 @を禁止ワードとしてしたいのですが、 strpos($_POST['aho'],"@"); とすると、何故かフォームahoに全角スペースとか入っていると、 falseが返ってきません。 文字コードがshift-jisだからかなとは思うのですが、 何か対策ありますでしょうか。 ちなみに禁止ワードは@以外にも可能性があり、@だけ削ればいいわけではなく、 しっかり禁止ワードを検出して、入力したユーザーはアクセス規制をかけるという処理です。
@を入力しただけで規制とかシステムの怠惰
91 :
88 :2010/09/20(月) 14:48:41 ID:???
>>90 余計なお世話です。
無職のあなたほど怠惰ではありません。
postて連想配列じゃないの
93 :
88 :2010/09/20(月) 15:01:12 ID:???
postて連想配列だけどなにか?
95 :
88 :2010/09/20(月) 15:06:41 ID:???
>>94 無知乙
print_r($_POST['aho'])で試してみろ
フィーーーーーーーーーッシュ
>>95 説明
HTTP POST メソッドで現在のスクリプトに渡された変数の連想配列です。
98 :
88 :2010/09/20(月) 15:14:07 ID:???
>>92 はpostは連想配列だからstrposの第一引数に指定できないって言いたかったんでしょ?
だからしっかり教えてあげただけです
>>98 暇乙。誰も教えてくれと頼んでないのにご苦労様です
101 :
88 :2010/09/20(月) 15:32:39 ID:???
じゃあ
>>92 は何の為にレスしたのか説明よろしくたのんます
>>82 マッピングとガベージコレクションは別物やで
103 :
92 :2010/09/20(月) 15:40:03 ID:???
バカを釣るためです
postて連想配列じゃないの ↓ バカを釣るためです さすが
PHP初心者ですがご質問致します。 PHPを使ったパスワード認証をお教えください。 HPにyahooのリンクがあったとします。 そのリンクをクリックした際に(ポップアップ等で)パスワード認証を かける方法を探しております。
よくわからんが、パスワード認証を教えてくださいと言われても困ってしまうな
>>107 =109
スレタイと
>>1 を読んで、やりたい事をもっと具体的に書いて。
「yahooのリンク」のリンク先(yahoo)は自分のサイト(PHPを動作させているサーバ)なのかい?
それとも自分のサイトでPHPで認証させて、外部(yahoo)に飛ばすという意味なのかい?
>>111 つ detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1346334528
>>109 色々ありすぎるんだよ。
どの程度のレベルのものを必要としているのかわからないけど、
要するにファイルなりデータベースなりに暗号化したパスワードを保存しておいて、入力してもらったパスワードが正しいか確かめるだけ。
簡単なものなら、少し勉強すればすぐ書けるけれど、この手のものはセキュリティ云々も当然あるだろうから、とてもじゃないが全部は説明しきれない。
それだけで本が書けてしまうよ。
ちなみにポップアップさせるのはPHPではなくてJavascript等の守備範囲。
>>111 お前さっきからどんだけ釣られてんだよ。。。
ああ、釣りなのね…バカス
>>114 ちょwwおまwwww
釣り師相手に長文とかw 必死すぎだろw
119 :
111 :2010/09/20(月) 16:27:22 ID:???
釣りだったのかスマン。
>>115 今日初めての書き込みだよ・・・
釣れすぎ。少しは餅つけ
何この釣堀スレ
お前らちょっと落ち着けって 釣りとかしてたら回答してくれる人がいなくなるぞ それと回答者もテンプレ守らない質問はスルーしろ
こんなんばっかりだからスレが3桁近くまで続くのか
荒しはパーラー Perlの勉強会後の懇親会でPHPスレ荒らしてると公言!
荒らされてるというよりは勝手に釣られてるだけなんだけどね
俺は荒しているつもりなんだけどな PHPがどれだけ嫌われてるかはここにいる連中ならわかってるだろ?
釣り堀嵐コワス
まあ全部俺の自作自演ってやつなんだけどな。 ∧_∧ ∧_∧ (´<_` ;) ・・さ、流石だな、兄者 ( ´_ゝ`) / ⌒i / \ / ィ | | / ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄/ __ _/ Prius // FMV // VAIO // Mebius // LaVie /____ \/_/ ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄/ _ /ThinkPad //WinBook//DynaBook//Libretto // Presario/ \/_/ ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄// ̄ ̄ ̄ ̄/ _ / Inspiron //Endeavor//InterLink // Evo //Let'sNote/ \/____//____//____//____//____/
正直釣られたとしても それで何なのか聞きたい 全くもって悔しくないから困る あ、これで悔しいんですねm9みたいなレスはいらんよ
だーかーらー なんでID出さないスレを無くしたのか考えろよ
田所のソースをただここに張ったぐらいで釣りと言えるのか
無駄にレス消費するだけだからこれ以上やるなカス共
abc\ndef ↑この一行が書かれたテキストファイルをfgetsで文字列に読み込んだ場合、読み込んだ文字列はどうなっていますか?
それくらいやってみろよ
fgetsで$stringに読み込んでechoコマンドでブラウザに出力してみたところ abc\ndef と表示されました。そこでHTMLで改行されて表示されるよう nl2br($string) としてみました。これで\nが<br>\nに置換されるはずなんですがなぜかechoコマンドで ブラウザに表示したところ abc\ndef のままだったんです。 fgetsでテキストファイルから読み込んだ際になにか特殊処理を施されちゃったのかなとおもって その解除方法に思案しているところです(´・ω・`)
だって\nって改行じゃないし
さっそくテンプレ無視ですか
139 :
nobodyさん :2010/09/20(月) 18:23:19 ID:25juxIoU
ああ、すいません^^:) > だって\nって改行じゃないし preg_replaceを使って "\\n" を "<br>" に置換することを試みましたがダメでした。 どういう文字列として読み込まれているんでしょうか・・・ 少なくとも abc\ndef の表記通りでは無い気がします
preg_replaceの部分も書いたらどうだい
単純な置換にpreg_replaceを使うな!!!!!!!!!!!!! str_replaceを使え!!!!!!!!!!!!!!!!!!!!
142 :
nobodyさん :2010/09/20(月) 19:05:30 ID:25juxIoU
>>140 preg_replace("\\n", "\<br\>\\n", $string);
preg_replace("\n", "\<br\>\n", $string);
↑どちらもダメでした(´・ω・`)
>>141 (;^ω^)・・・
145 :
nobodyさん :2010/09/20(月) 19:18:41 ID:25juxIoU
>>143 \nは改行ではないということですね・・・
だとしたら
preg_replace("/\n/", "\<br\>\n", $string);
で \n は <br>\n に置換されてもいいはずなんですが・・・
>>144 すいません、/を忘れてました^^;)
>>142 (;^ω^)・・・じゃええよ素人の分際が!!!!!!!!!
\nを<br>にする程度の置換ならstr_replaceでいいだろ!!!!!!!!!!
まあ、\n『という文字列』が出てきたら、それを置換したいということだったら、 str_replace('\n', '<br>\n', $string); じゃね? 試してないけど。 どーしてもpreg_replace 使いたいなら(この程度では馬鹿げてるけど) preg_replace('/\\n/', '<br>\n', $string); か? 試してないけど。
>(;^ω^)・・・ これは流石にヒドいわ・・・人間として
153 :
nobodyさん :2010/09/20(月) 19:44:17 ID:25juxIoU
ありがとうございます ちょっと試してみます(;^ω^)
厨房お断りってテンプレに書いてね
結果が同じなのとれれば好きにすればいいじゃん パフォーマンス考えるのは二の次 まずは動くもの作ればいい
2009-04-01 08:40:00 ↑の時間の30分後を取得する方法。 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ $date= '2009-04-01 08:40:00'; preg_match("/(\d{4})\D(\d\d?)\D(\d\d?)\s+(\d\d?):(\d\d?):(\d\d?)/s", $date, $d); $d= localtime(60*30+mktime($d[4], $d[5], $d[6], $d[2], $d[3], $d[1])); printf("%d-%02d-%02d %02d:%02d:%02d", $d[5]+1900,$d[4]+1,$d[3],$d[2],$d[1],$d[0]);
わざわざ過去ログ引っ張って嵐にきたんですね?ご苦労様です。
なにその馬鹿な方法びっくりだわ
160 :
nobodyさん :2010/09/20(月) 21:27:29 ID:25juxIoU
>>149 > str_replace('\n', '<br>\n', $string);
>
> じゃね? 試してないけど。
どうもです、その方法で\nを<br>\nに置換できました(^ω^)v
ただ未だに解せないんですがなぜnl2brが効果を発揮しなかったんでしょうか・・・
(;^ω^)・・・
>>160 だからnl2brは改行コードを<br>に変える関数だから。
$stringの'\n'は改行コード\nじゃなくて文字列'\n'だったってこと。
>(;^ω^)・・・ これは流石にヒドいわ・・・人間として
166 :
nobodyさん :2010/09/20(月) 21:51:12 ID:25juxIoU
>>163 > $stringの'\n'は改行コード\nじゃなくて文字列'\n'だったってこと。
φ(^ω^;) メモメモ
そうしますと文字列の'\n'を改行コードの\nに置換するにはどうしたらいいでしょうか?
"\n"
"\n"≠'\n'
169 :
nobodyさん :2010/09/20(月) 22:05:17 ID:25juxIoU
>>168 > "\n"≠'\n'
:(;゙゚'ω゚'):
顔文字野郎うぜえ
172 :
nobodyさん :2010/09/20(月) 22:34:16 ID:M5nqlNJA
>>88 の
@を禁止ワードとしてしたいのですが、
strpos($_POST['aho'],"@");
とすると、何故かフォームahoに全角スペースとか入っていると、
falseが返ってきません。
を質問したものです。
>>89 さん。
mb_strpos() でも同じ結果でした。
>>90 禁止ワードを入力したら規制という仕様です。
サイト管理者が@を禁止ワードとした場合、意図しない動作が起こる状態なのです。
ちなみにサイト管理者は私ではないのです。
何かいい方法ありますでしょうか。
正規表現使うしかないのかな。。
@を入力しただけで規制されるサイト様
176 :
nobodyさん :2010/09/20(月) 23:06:26 ID:M5nqlNJA
>>173 >>174 どうもありがとう。
mb_strpos($_POST['aho'],"@",0,"SJIS")
でできた。
ほんと助かりました。
>175
まあ、そう堅い事言うな。
どうせ厨房サイトだろ
最近の若い人はサイト作ってムーブメントおこさねえのけ?
>どうもありがとう。 >mb_strpos($_POST['aho'],"@",0,"SJIS") >でできた。 解決すると急に馴れ馴れしくなる質問者
昔出会い系のサイトであったな アドレス系いれるとエラーとかポイント消費とか
ブロックワードのテストだろ
182 :
nobodyさん :2010/09/21(火) 00:48:01 ID:zwq2HiIO
どうも顔文字がいやだ。
(;^ω^)・・・
そういや、思うんだけど、 言うなら顔文字じゃなくて文字顔じゃないのか。
へのへのもへじを連想するな
顔様配字
(#@盆@)
>>184 顔文字
絵文字
空白文字
半角文字
全角文字
へたくそな文字
綺麗な文字
189 :
nobodyさん :2010/09/21(火) 16:49:06 ID:DYRmkvRa
お尋ねします。 index.php?test=aa とすろと_GET['test']にaaが入ります。 これを index.php/test/aa としたとき /test/aaの値をどうやってindex.phpから取得すればいいのでしょうか? どうぞよろしくお願いします。
ファイル(index.php)のあとにディレクトリ(/)がくるってのは構造がまずおかしい どこのOSにディレクトリの上位がファイルなんて非常識なことがあろうか 同様にindex.php?test=/test/aa とやって$_GET['test']で/test/aaの値を取得すればいいと思うが mod_rewrite使って強引にやるにしてもindex.php/test/aaはおかしいわ
191 :
nobodyさん :2010/09/21(火) 17:01:55 ID:DYRmkvRa
>>190 それがrestfulなフレームワークのサンプルを見るとその手法で実現しているのです(mod_rewrite未使用で)
なのでどうにかしてとれると思うのですがどなたかおわかりの方いらっしゃいませんか?
>>191 mod_rewrite使った方が楽だと思うが
$_SERVER["PATH_INFO"]から /test/aa を取ってこれる
193 :
nobodyさん :2010/09/21(火) 17:16:56 ID:DYRmkvRa
2chが標準と言いたいんですね
本人乙認定きましたー まぁ反論したら絶対そうなると思ったが荒らすなカス
>どこのOSにディレクトリの上位がファイルなんて非常識なことがあろうか この一文でフレームワークを弄ったことない初心者 苛める価値もないからそのくらいにしといたれ
あの質問を見てPATH_INFOを思いつかないのは異常
無知が異常ならみんな異常だなw
ファイルシステムのディレクトリ構成と HTTPリクエストは 全然別物じゃないかな〜
誰もファイルシステムの話はしてないからもちつけ
無知なやつを叩いて悦に浸ってるのは大抵ニートだろ ストレス溜まってるんだろうがキモイよお前ら
※ここの連中はgithubとかcodepadって言葉も知らなさそうな初心者が偉そうに回答するスレです ※上級者の方は温かい目で見守りましょう
http://www.ietf.org/rfc/rfc1738.txt The HTTP URL scheme is used to designate Internet resources
accessible using HTTP (HyperText Transfer Protocol).
The HTTP protocol is specified elsewhere. This specification only
describes the syntax of HTTP URLs.
An HTTP URL takes the form:
http://<host >:<port>/<path>?<searchpart>
where <host> and <port> are as described in Section 3.1. If :<port>
is omitted, the port defaults to 80. No user name or password is
allowed. <path> is an HTTP selector, and <searchpart> is a query
string. The <path> is optional, as is the <searchpart> and its
preceding "?". If neither <path> nor <searchpart> is present, the "/"
may also be omitted.
Within the <path> and <searchpart> components, "/", ";", "?" are
reserved. The "/" character may be used within HTTP to designate a
hierarchical structure.
http://<host >:<port>/<path>?<searchpart>
これ以外の形式はみとめません(キリッ
言葉を知らなかったら初心者とかすげえ決めつけだな 最近感情的なレスばっかで客観的に見れるやつが少ない 大規模規制が解除されたとたん幼稚園になってしまった
社会経験ないんだから触るんじゃねえよ
PATH_INFO知らなかったからって荒らすな
もういいよ黙ってなよ
素直に分かりませんって謝ればいいのに だからやられるんだよ
間違いを正すだけならいちいち煽るなよ
論破しないと気が済まないわけ?
>>193 で全て終わってるんだからそれ以降の煽り合いはいらん
出る釘は打たれる
打ちつくされそうになったら引っこ抜く
毎日懲りねえな本当w 質問は減る一方なのにくだらねえ話でスレは伸びっぱなし。 俺を含めてROM専でこのスレで勉強してるやつにとっては為にならない不毛な議論ばかり。 議論というかガキの喧嘩っぽいわ。 どうせ毎日荒らしてるやつは同一人物なんだろ? こういうとこではしゃぐやつはだいたい固定されるからな。 まじ迷惑だ。消えろ。
PATH_INFO知らない男の人って・・・
pathinfo知らなくて叩かれたら自分を正当化するために無駄なレスを投下
追い込まれると自分の味方をつける為に
>>217 のようなレスをする
こういう光景を10年間2ちゃんねるで見飽きた
さぁてこれ以上続けると楽しい特定作業が始まるよ
ID出さない議論は無効でいいじゃん これ以上続けるならID出しましょう IPだしたら面白いことになりそうだけどな emobileとOCNが言い合ってたりしてなwwwww
こういう事になるから回答者に指摘しようかどうか迷うんだよね
225 :
nobodyさん :2010/09/21(火) 22:26:18 ID:XfIQm1kH
質問です。 PHPを完全なバックグランドで制御することは可能ですか? HTML内にあれこれPHPを埋め込んだら、ブラウザ表示速度が激増してしまいました。 埋め込んだプログラムはクライアントのブラウザの表示には関係のないコードです。 プログラムが後ろで処理を終えるまで、ブラウザは読み込みを終えませんので、 この無駄な処理をクライアントに影響を与えないようにしたいのです。
>>226 マルチスレッドですか!
早速読んでみます。ありがとうございました。
>>224 問題なのは指摘なんだか煽りたいだけなのかわからないレス
煽りに噛み付くほうも問題だけど煽る必要は全くないわけで
おかしいと思ったらどんどん指摘するべき
ストレス解消論破ごっこは楽しいがそういうのは多人数が見てるところでやるべきでない
2chだから何でもおkではなく場所はわきまえないとただの迷惑な奴になりかねない
ぶっちゃけプログラムのネタに関するツッコミじゃない法が迷惑っすよ
('A`)?
〜 回答者から荒らしに変貌させないための掟 〜 ※初心者が多いので正論は通じません ※回答が間違いに気づいてもスルーするか柔らかく丁寧に指摘してあげましょう ※決して刺激してはいけません
232 :
nobodyさん :2010/09/21(火) 23:19:49 ID:zwq2HiIO
233 :
nobodyさん :2010/09/21(火) 23:26:11 ID:zwq2HiIO
おれだめだな。
プログラマとして失格です。度量が狭いし....
>>201 さん言うとおりかなり勉強不足でした。
みなさん教えてくれてありがとうございました。
235 :
nobodyさん :2010/09/22(水) 01:58:40 ID:AVtnNctm
symfonyだとfrontend_dev.php/job/indexはデフォだが 別にFWが全部こんな作りだというわけでもないしな
SEO対策やセキュリティ対策で拡張子を隠したりディレクトリのように見せたりすることは当たり前
まだやってたのか 飽きないなお前ら
※ここの連中はgithubとかcodepadって言葉さえ知ってれば上級者だと勘違いしてるエセ上級者が偉そうに回答するスレです ※真の上級者の方は温かい目で見守りましょう
下スレとは100%の「嵐と釣りとしったかぶり」と、0%の正論である
>>130 >全くもって悔しくないから困る
>あ、これで悔しいんですねm9みたいなレスはいらんよ
叩かれる前に負け惜しみするなよw
〜 回答者から荒らしに変貌させないための掟 〜 ※初心者が多いので正論は通じません ※回答が間違いに気づいてもスルーするか柔らかく丁寧に指摘してあげましょう ※決して刺激してはいけません
243 :
217 :2010/09/22(水) 08:42:32 ID:???
毎日懲りねえな本当w 質問は減る一方なのにくだらねえ話でスレは伸びっぱなし。 俺を含めてROM専でこのスレで勉強してるニートにとっては為にならない不毛な議論ばかり。 議論というかガキの喧嘩っぽいわ。 どうせ毎日荒らしてるやつは俺一人なんだろ? こういうとこではしゃぐやつはだいたい固定されるからな。 まじ迷惑だ。消える。
>>222 もし特定できるならこんなに荒れないって(T_T)
そこそこまともな質問と回答が繰り返されていた頃が懐かしい... もう5,6年前のことだが
このスレはガキが多いから仕方がない
テンプレ守れない人はスルー これだけで荒らしは減るよ それでもひどいようなら削除依頼すればいい。 みながテンプレ守ってない現状では削除依頼だしても受け入れてもらえない。
ちょっと煽られたぐらいでムキになるのは日常で良い子ちゃんなんだろう 質問受付再開↓
ちょっと煽られたぐらいでムキになるのは日常で無職ちゃんなんだろう な?w↑
250 :
nobodyさん :2010/09/22(水) 13:17:00 ID:3VMc5XHq
教えてください GIF画像からJPEG画像を作成してます。 作成されたJPEG画像に、『黒い外枠』が付いてしまいます。 何がいけないのでしょうか?? if($image_size["mime"] == "image/gif"){ //Gif画像だったら $new_img = @imagecreatefromgif($fullpath);//$fullpath:GIF画像の場所 @imagejpeg($new_img, $fullpath_jpg); //$fullpath_jpg:JPG画像の保存場所 } 【OS名】CentOS 【PHPのバージョン】5.16
つうかgifからjpegに変換ってあまりやらないよね 理由を教えてもらえれば最善の方法を考えるが
252 :
250 :2010/09/22(水) 13:22:25 ID:???
即レスありがとうございます。<(_ _)> 携帯での画像表示と、 1画面に大量に並べるので、容量が少ないほうが良いと思いまして..
性能上jpegのほうが容量でかくなるはずだが
254 :
250 :2010/09/22(水) 13:26:41 ID:???
例えば 2895.gif 11471バイト ↓ 2895.jpg 3850バイト となりました。 <(_ _)>
性能上(笑)
容量なんて圧縮率による
>>255 そういう煽り入れるなっていってんのがわからんのかカス
毎日毎日うぜえんだよ消えろカス
いい加減荒らしで通報するぞボケ
画像サイズはあってるの?
>>250 そのソースで同じPHP 5.1.6で試したけど黒枠付かないな
どんな画像で試してる?
あと@はずしてエラーにならないかも確認してみて。
>>253 元にする画像による。色数が少なければGIFの方が良いかもしれない
GIFの可逆圧縮とJPEGの不可逆圧縮を単純に比べたらJPEGの方が小さくなる場合が多いはず
携帯向けだと圧縮率高めにして容量下げる事もよくあること
262 :
255 :2010/09/22(水) 13:44:22 ID:???
つい脊髄反射で、な。ふだんはまじめな住人だぜ? で、おまいら揃いも揃ってGIFとJPEGの特性を知らないの? 特性を知った上でJPEGのほうがふさわしいと判断して、 さらにその上で圧縮率を見定めるのが筋ってもんだろ。 あとささやかな材料だけど、 JPEGで圧縮されたものを展開してるわけだから、 アルゴリズムの簡単なGIFに比べればCPUを食うのはJPEGのほうだと思う。 これは正直憶測だけどたぶんあってる。
単純に1画面に大量に画像並べる場合って (画像1枚1枚に対して特別な処理を行うわけではない場合) 画像くっつけて1枚にしたほうがいいよね? 携帯の場合容量制限があるけど
>>263 CSSスプライトみたいな事が出来るならそれに越したことはないけど携帯でできたっけ?
265 :
261 :2010/09/22(水) 13:56:00 ID:???
266 :
250 :2010/09/22(水) 13:58:22 ID:???
ごめんなさい <(_ _)>png画像->jpeg画像でした。 改めて PNG画像からJPEG画像を作成してます。 作成されたJPEG画像に、『黒い外枠』が付いてしまいます。 何がいけないのでしょうか?? if($image_size["mime"] == "image/png"){ //Png画像だったら $new_img = @imagecreatefrompng($fullpath); );//$fullpath:PNG画像の場所 imagejpeg($new_img, $fullpath_jpg); //$fullpath_jpg:JPG画像の保存場所 }
267 :
255 :2010/09/22(水) 14:13:32 ID:???
>>265 すまん。
>>261 のあとに
>>262 を書き込んでしまったけど、これは書き込み中の時間差。
おまいの認識は間違ってないと思います。
とりあえずここの住人のJPEGとGIFの特性くらいはみんな知ってるという前提の元に、
とりあえずみんなを代表して
>>255 の脊髄反射を書いたけど、
いずれエライ人が(喜び勇んで)解説するだろうと思ってた。
あと正直
>>253 みたいなのもゴミ書き込みだと思う。
それを皮肉ったつもりでもあるがこの気持ちは責められても仕方ないな。
268 :
255 :2010/09/22(水) 14:15:33 ID:???
本筋には影響ないかもしれないけど、圧縮率や特性云々の話は GIFでもPNGでも同等と見なして良いよ、ということだけ伝えとく。 黒い枠の問題は他の諸氏に任せた。
透過pngを変換したから
昨日は無知に正論叩きつけた人が叩かれ 今日は無知な人が叩かれ 本当可笑しなスレ
271 :
250 :2010/09/22(水) 14:50:19 ID:???
>>266 さん <(_ _)> それですね。
せめて黒枠を白にしたいのですが...
>>270 ×昨日は無知に正論叩きつけた人が叩かれ
○面白い反応を期待してわざわざ無知を煽ったから叩かれた
×今日は無知な人が叩かれ
○今日は脊椎反射的なレスを自重している
>>271 imagecreatetruecolor() で作ったキャンバスを白で塗りつぶしてから
α付きPNGを上書きするようにしたらいけるんじゃないかな
276 :
250 :2010/09/22(水) 16:13:27 ID:???
>>274 さん いけました!
透過PNGのヒントや白キャンパスのヒントありがとうございました!
if($image_size["mime"] == "image/png"){
$new_img = @imagecreatefrompng($fullpath);
//同サイズのキャンパスをつくる
$background_img = imagecreatetruecolor($image_size["0"],$image_size["1"]);
//白く塗りつぶす
imagefill($background_img , 0 , 0 , 0xFFFFFF);
//キャンパスに画像を貼り付ける
imagecopy($background_img, $new_img, 0, 0, 0, 0,$image_size["0"], $image_size["1"]);
imagejpeg($background_img, $fullpath_jpg);
imagedestroy($new_img); //削除
imagedestroy($background_img);
}
おまいら本筋と関係ない煽り合いするのやめれ。
もう誰も何も言ってないのにわざわざぶり返すなよ
279 :
nobodyさん :2010/09/22(水) 19:47:48 ID:KE+VAC9I
【PHPのバージョン】5.3 【連携ソフトウェア】PHPMyAdmin PHP&MYSQL初心者です。 変数からデータベースへとデータを登録したいのですが、 『クエリの送信に失敗しました。 SQL:INSERT INTO DB名 VALUES( '各変数の値',)』 と表示され登録できません。 上のエラー文の際に記載した値がきちんと表示されているので変数の受け渡しはきちんと行われていると思うのですが・・・・ ご教示願います。 コードは以下の通りです。 <?php require_once("DB.php"); $*** = $_POST['***']; $*** = $_POST['***']; $*** = $_POST['***']; $sql = "INSERT INTO sf36 VALUES('".$***."', '".$***."', '".$***."',)"; $result = executeQuery($sql); ?>
データベースを操作するときはOSも書きましょう
282 :
281 :2010/09/22(水) 20:05:41 ID:???
文字定数のは何でもなかったから気にしないで
>>279 VALUESの最後の要素のあとにコンマつけたらダメなんじゃね?
phpのarray()はどっちでもいいらしいけど
284 :
nobodyさん :2010/09/22(水) 20:18:52 ID:7dYmP39I
サニタイズは以下のだけで十分でしょうか? 必要な文字の置換ってございますか? 文字列はファイルに記録します $str = 不特定の人物により入力される不特定長文字列 $str = htmlspecialchars($str, ENT_QUOTES);
>>281 別にSQL間違っちゃいねーぞ?
あれだ最後にカンマが無駄に多い
もしくはそこをNULLにするならちゃんと書け
カンマの後に文字列がないのは間違いとは言わんのか
>>284 ファイルに記録するだけなら「不特定の人物により入力される不特定長文字列」をそのまま記録しとけ。
その後、htmlに出力するなら2行目の処理と共に出力すればいいし、sqlに入れるならsql用のエスケープ処理をすればいい。
>>284 mysql_escape_string
【PHPのバージョン】5.3 【質問内容】 サーバからYahooに自動でログインするにはどうしたらいいでしょうか hiddenを全てURLに入れてPOST送信してもできませんでした
>>279 >SQL:INSERT INTO DB名 VALUES( '各変数の値',)
DB名なのか? テーブル名じゃなく。
293 :
nobodyさん :2010/09/22(水) 21:16:55 ID:7dYmP39I
取り出すときに困るので1行1データにしてます そのまま記録した場合は取り出す時はどのようにしたらよろしいでしょうか?
294 :
nobodyさん :2010/09/22(水) 22:27:47 ID:pnBUUkY6
ひとついってもいい?
あんたそのままphp+mysqlの入力、出力、更新、削除をここで聞くつもり?
本かって読めよ。
http://www.phppro.jp/これ見るとか 。
<? while ( $item = mysql_fetch_array( $result2 ) ) { ?>
煽りキタコレwwwwwwwwwwwww バカは直らないなwwwwwwwwwwwww
296 :
nobodyさん :2010/09/22(水) 22:34:25 ID:pnBUUkY6
はあ?
おれ
>>294 の答えだしたつもりだけど、間違っている?
297 :
nobodyさん :2010/09/22(水) 22:36:12 ID:pnBUUkY6
そのまま記録した場合は取り出す時はどのようにしたらよろしいでしょうか? でしょう? 出力間違っている?
おまいら本筋と関係ない煽り合いするのやめれ。
299 :
nobodyさん :2010/09/23(木) 10:14:29 ID:arHUaaQP
strposで最初にhttpが付いてるか付いてないか判断
301 :
nobodyさん :2010/09/23(木) 14:38:18 ID:y1pwafIu
すみません質問します。 Aタグで本の詳細ページなどにリンクするとき、ハイパーリンクに書名を書きたいと思っています。 <a href="/bookdetail/title/ごんぎつね">本を見る</a> このときタイトルの「ごんぎつね」の部分はurlencode()必須なんでしょうか? ブラウザや文字コードによって違うのかどうなのか調べてもよくわからなくて困っています。 (smarty的には /title/{$bookTitle|urlencode} って感じかな? 蛇足ですが…) urlencode必要だとしたらなぜ必要なのか、教えてもらえると嬉しいです。 php5使っています、よろしくお願いします。
303 :
nobodyさん :2010/09/23(木) 17:20:54 ID:Xr2qd2I6
現在、会員登録制のサイトを作ろうと考えているのですが 1.ユーザーがIDとPASSを登録(仮登録) ↓ 2.会員のメアドにメールが届く ↓ 3.メールに記入されているアドレスにアクセス ↓ 4.登録終了(本登録) と、ここまでのシステムは一応、作れました。 しかし、2のメールに載せる本登録用のURLに、ユーザーのメアドかIDをエンコードしてパラメータとして付けて 本登録ページでデコードして$_GETで受け取るようにしているのですが、ここが良くわかりません。 base64_encodeでやるとパラメーターの前後に==という文字列が入ってしまって見栄えが最悪です。 プロの方はこの辺りをどう処理されていらっしゃるのでしょうか?
1. URLにメアドなどの情報を持たせない。md5とかでやる。 2. ==が入ると見栄えが悪いと思うおかしな感性を捨てる。
まさか・・・出会い系サイト
IDとパスしか登録してないのにメアドに届くという不思議
出会い系サイトなら空メ登録だろJK
自分だったら 1.ID(メールアドレス)を登録(仮) ↓ 2.登録したメールアドレス宛に本登録URLを送る ↓ 3.パスワードを設定してもらう(本) こうする
仮登録用データベースを作成してハッシュ関数で作成した固有のIDを発行させて置く 照合があって固有IDと一致した場合本登録用データベースにデータを移行する データは有効期限を設定して時間以内に照合がなかった場合はタスクで削除される
皆さんありがとうございます。 1.メアド・ID・PASSを登録して貰ってDBに仮登録(Flagというカラムに0で登録) ↓ 2.本登録でFlagを1にする。 すみません、正確にはこうでした。 ということは、別にbase64でも良いんですね。 下手にシステム作ってプロの方に「プゲラwwwwww素人乙wwwwwww」 って思われたくなかったので…。 他の方の意見も参考にさせて頂きます。 ありがとうございました。
そのレベルだと、そこの遷移で言われなくても他のところで言われると思うぞ
base64の==はパディングだから無くても問題なかったはず
webプログラミングをはじめようと思う、これからphpを学んで掲示板でも作ろうと思うのですが phpとSQLのデータベースを使ったのしか知らないのですが、他にどんな構成がありますか?
>>314 他の構成を知りたがる理由がわからない。
まずはPHP+MySQLで掲示板を作ってから次を考えても良いのでは?
一度でも何かを作ると他の構成でも容易にこなせる技能を身に付けられるよ。
317 :
nobodyさん :2010/09/23(木) 19:45:08 ID:t81TY9DG
【PHPのバージョン】5.3 【質問内容】 サーバからYahooに自動でログインするにはどうしたらいいでしょうか hiddenを全てURLに入れてPOST送信してもできませんでした
>>314 データ保存場所にファイルとか
ネットワーク上の何かが来ても良い様に作れ
ただし切り替えは保存するクラスのみを変える事
これで出来ればある程度なんでも出来るようになるかもしれない
323 :
314 :2010/09/24(金) 01:10:32 ID:IsRiwJnf
すみません、ID出すの忘れてました 本当に目からウロコなアドバイスありがとうございます。 これからphpとMySQLを学んでとりあえず作成してみることにします
324 :
nobodyさん :2010/09/24(金) 01:52:11 ID:4goExQXi
すみませんでした!
>>324 リンクするライブラリを切り替える。
ただし再コンパイルが必要な場合もある。
327 :
nobodyさん :2010/09/24(金) 06:34:11 ID:iCmL00OP
cronを使わずに、頻繁にアクセスがあるページを表示したら バックエンドでPHPが実行されてログ集計が行えるものを作りたいと思っています。 execやsysytem関数で呼び出す方法じゃなくて 上記のような事が出来る関数があったと思うのですが、忘れてしまいました。 心当たりがある方は教えていただけないでしょうか?pearとかではないです。
アクセスごとに集計すればよい。たいしたロスではない。
>>328 その記事は、サーバーからの接続を並列化するやつだぞ
確か擬似cronを実現するライブラリがあったはず
332 :
331 :2010/09/24(金) 07:30:27 ID:???
って意味がないことを書いてしまった
>>327 Googleリーダーをcron代わりに使う手もある
334 :
327 :2010/09/24(金) 08:32:08 ID:???
マルチスレッドじゃなくて、重い処理とかもバックエンドで動かすような関数を 以前このスレで教えてもらったのですが、忘れてしまって・・・。 とりあえず、これからAjaxで処理する方法を試してみます。
phpって実行が終わるまで読み込み終わらないってマジ? 全部出力した後に処理しても?
HTMLを全部出力し終わっても、 PHPが終わってくれんとHTTPとしての締めが行われないんじゃない?
なるほど!!
339 :
327 :2010/09/24(金) 10:11:41 ID:???
Ajax使って送信先のPHPファイルでsleepしたんですが、
その間、Ajax実行元のページも読み込み中のままになってしまい、
バックエンドで動かすのは無理でした・・。
>>338 それが見あたらなくて・・。コテハンでもないので、自分の投稿も覚えてないです。
>>339 systemやexecで外部プログラムを実行されるんじゃだめなの?
↑実行させる
342 :
327 :2010/09/24(金) 11:29:29 ID:???
>>340 それだと、パスがサーバ毎に変わると思うんです。
それにあまりコマンドを実行するのも不安ですし。
とりあえず、もう少し調べます。
wordpressのcron見てみたらどうだろう というか頻繁に表示されるページに<img src="cron.php" width=1> みたいに埋め込んで やればいいんじゃないか
24時間PC起動してタスクスケジューラで叩けば
345 :
327 :2010/09/24(金) 11:40:00 ID:???
>>343 それも試しましたが、処理に時間がかかる場合は
ずっと読み込み中になります。(cron.phpにsleppを入れてテストしました)
wordpressのcronってそんなのがあるんですね。ちょっと調べてみます。
>>344 それだったら、ぐぐるリーダーでいいじゃん。
347 :
nobodyさん :2010/09/24(金) 12:45:49 ID:NDRyKYW2
object指向のクラスの継承という概念について聞きたいんですが これって、継承先で、オリジナルのクラスに既にあるクラスのメソッドやプロパティを 丸ごと利用できつつ、新しいメソッドを加えたりプロパティの値を変更して使える機能だと 理解してるんですが間違いないでしょうか? そうだとすると、継承先で「メソッドを加えたり値を変更したり」しないのであれば 継承する意味がない(継承先クラスの中身{}の記述がカラになる)から 最初からオリジナルのクラスを利用すれば良いってことですよね?
PHPに限定しない質問ならプログラム板の質問スレで聞いたほうが回答率高いよ 向こうはこの時間でもアクティブユーザー多いから
>>347 その考え方でだいたい合ってるよ。
でも中身に変更のない場合でも継承して定義することもあるよ。
わかりやすくするためとかの目的でね。
例えばJavaにあってPHPにはないFileNotFoundExceptionっていう例外があるんだけど、
名前の通りファイルが見つからなかった時投げる例外と分かるから、
class FileNotFoundException extends Exception {
}
と、これだけ書かれたクラスをPHPで定義してたりそういうこともするよ。
>>347 メソッドを加えるよりも書き換える(オーバーライドする)ためによく使うんじゃないかな
>>350 使う側から見ればあってなくも無いが
設計面からみると全くあってない
>>353 別にそれがダメって言ってる訳じゃないよ
class FileNotFoundException extends Exception {
}
これはちゃんと
ファイルが無いエラーだよ
っていう意味があっての継承で
ただ解りやすくするためというのは若干違う
ただエラーだよと返す事もできるが
それじゃcatchした時に詳細がわからんからな
継承は継承元の一種で振る舞い等が違うから継承するのであって
上書きできるから継承するっていうのは継承としてはどうなの?という事
実際コード書く上では上書きするために継承するとかの方が楽だけどね
継承って難しいね。ファイルがない事を示す為の継承って 俺的には凄い違和感あるんだけど、必要なんだろうね。
356 :
nobodyさん :2010/09/24(金) 18:44:38 ID:5mEmp/FR
$a = 0; という変数があり、if文で if($a == ""){ } という判定をかけると、なぜかこの処理の中に入ってしまって いるようです。 これは正常な動作なのでしょうか? また、正常系の場合、通常この処理はどのように行うべきか ご教示いただけますと幸いです。 よろしくお願いいたします。
$a = '0';
0を文字列として扱いなさいって事だな
359 :
nobodyさん :2010/09/24(金) 18:57:56 ID:5mEmp/FR
>>357-358 即レス感謝です。
やはり "" と 0 は等価だったんですね。
こないだまでPerlをやっていたので、ここで結構つまずきました。。
ありがとうございました。
ちょっとperl使いがVBのvariant使いと重なって怖くなった 一度は型のきつい言語に触れてくれ…
361 :
nobodyさん :2010/09/24(金) 19:01:29 ID:5mEmp/FR
すみません、追記となりますが、判定の方を $a === "" と書くことで、「$aは定義されているけど空文字」という 意味になるのでしょうか。 すみません。
もうやめて Perlも使ってる俺の肩身が狭くなるっ!
363 :
nobodyさん :2010/09/24(金) 19:05:50 ID:5mEmp/FR
>>362 不快な思いにさせてしまいごめんなさい。
これ以上書きませんので許してください。
失礼しました。
364 :
nobodyさん :2010/09/24(金) 19:08:09 ID:BFSvi/T0
366 :
nobodyさん :2010/09/24(金) 22:45:19 ID:39V4jcsO
xmlhttprequestで取得する値ってechoで出力すればいいんですか?
JavaScriptだからdocument.writeだろ ていうかスレ違い
>>347 「多態性(ポリモーフィズム)」というものを学ぶと
継承の真の姿が見えるよ。
>>367 SpiderMonkeyかもしれねーだろw
まぁそんな事するやつがここでは聞かないか・・・
>>339 ブラウザの描画がブロックされるのは
XMLHttpRequest#open() を同期で呼んでしまってるとか組み方に問題がある
分からなかったらJavaScript板で聞いてくれ
>>366 echo でもいいし、HTMLと同じように <?php ?> の外へ書いてもいい
あと Content-Type ヘッダにphp.iniの default_mimetype(デフォルトだと"text/html") が使われるんで
必要なら header('Content-Type: application/xml'); などセットしてやる
>>370 の回答みてようやく
>>366 の意味がわかったわ
取得っていうからてっきり藏側の話かと思ったわ
クライアントに送出するxmlやらjsonやらってことね
373 :
nobodyさん :2010/09/25(土) 07:55:42 ID:5eiUdC6B
$text = 'aaa bbb'; のような複数スペースが空いてるのを 「aaa bbb」というように1つにするにはどうすればいいのでしょうか? str_replaceで置換すると思ったのですが、 同じ文字を複数→1つに出来ないと思い、質問しました。
374 :
nobodyさん :2010/09/25(土) 08:26:08 ID:/+0QJSqI
$res = $mdb2 -> query('SELECT * FROM `foo`'); while ($row = $res -> fetchRow(MDB2_FETCHMODE_ASSOC)){ とやると、DBが並んでるデータ順にでてくるんですが、 $res = $mdb2 -> query('SELECT * FROM `foo` order by key'); while ($row = $res -> fetchRow(MDB2_FETCHMODE_ASSOC)){ とやると(keyは主でINT型です) Fatal error: Call to undefined method MDB2_Error::fetchRow() in (whileのある行) というエラーがでます どういうことで、どうしたら直りますでしょうか
375 :
374 :2010/09/25(土) 08:30:29 ID:/+0QJSqI
追記です orderのところをvarchar型(アルファベットがはいってます)で照合順序utf8_unicode_ciにしているものに変えるとちゃんと五十音順に表示されました INT型だとなにか特殊な指定などがいるんでしょうか?
>>374 if (MDB2::isError($res)) {
var_dump($res->getMessage());
}
とでもして中身みれば?
>>376 回答ありがとうございます
string(24) "MDB2 Error: syntax error"
というエラーが出てます
並べ替えするのに照合できないなにかがあるんでしょうか
keyには数字しかはいってません(auto_incrementで自動で連番になってるだけです)
種別はINTです
378 :
374 :2010/09/25(土) 09:23:29 ID:???
keyという言葉が悪いのかと思いdata_idとしてみたらいけました keyっていうフィールド名は使わないほうがよいんでしょうか
使ってるDBが何かしらんがkeyという文字列が予約語で DB側としては``で括ってないからSQLの構文エラー返してるんだよ
>>373 とりあえず、
$text = preg_replace('/[ ]+/', ' ', $text);
>>379 ありがとうございます。
これが予約語ってやつですね
わかりやすい解説助かりました
>>378 まあなんだ、テーブル名のfooをちゃんとバッククオートで囲んでるのに、
keyの方は剥きだしってのを直したら、keyって名前のままでもいけるかもね。
でも、
>keyっていうフィールド名は使わないほうがよいんでしょうか
その方が習慣としては良いと思う。
>>382 予約語でもバッククオートで括れば予約語ではないフィールド名として扱えるってことですね
危なそうな単語は使わないように習慣づけます
ありがとうございました
>>364 "php" == 0 これtrueになるのか、何で?
385 :
nobodyさん :2010/09/25(土) 12:10:01 ID:Ra4M62eP
2ちゃんって名前欄にtukaeruyoとかfusianasanとか山崎渉とか!omikujiとか!damaとか入力すると変わった文字列が出るじゃないですか? あれはどうやって作ってるんですか?
386 :
nobodyさん :2010/09/25(土) 12:10:45 ID:Ra4M62eP
訂正 ×tukaeruyo ○tasukeruyo
>>385 置換してるだけじゃないの?
出力を置換してるか置換して入力してんのかは知らんが
>>385 ソース見てないからテキトーだけど
if(ereg("fusianasan",$name)){
$name=$ip;
}
みたいな処理をすればよいんじゃね?
要は名前がこうだったらこうするよってだけだし
389 :
nobodyさん :2010/09/25(土) 13:22:17 ID:Ra4M62eP
ereg使ったらえらーが出ました
なんでeregなんか使ってんの
(・ω・)。oO(ケチつけるならかわりの書き方提示すりゃいいのにね
$name = str_replace(array("fusianasan", "山崎渉"), $_SERVER['REMOTE_ADDR'], $name); 2chの仕様通りじゃないけどこんな感じでやればいい
山崎渉って書いたらどうなるんだ?
ふしあなさんと同じか…
>>384 "php" == 0 の件、
文字列と数値の比較の場合は文字列が数値にキャストされるので
"php"は0と評価され、trueとなります。
なので
>>356 の例($a = 0 で $a == "")は、
>>357-359 の解釈は若干誤りで、
""(空文字列)が数値にキャストされて0と評価されるのでtrueとなります。
>>361 のように $a === "" とした場合は、値は同値ですが型が異なるのでfalseとなります。
>>394 tasukeruyoはこの板では有効になってないよ
たしか運営関係の板でしか使えない
eregは将来削除される関数だから使わないが吉 PHP5.3だとエラーになる
エロゲ
400 :
nobodyさん :2010/09/25(土) 17:16:52 ID:W1bFgA20
>>397 〜が含まれる場合、というのはどう書くのが推奨なんでしょうか?
perlだと
if($foo =~ /bar/){
みたいに書きますけど、phpだとエラーになりました
現在は、
>>388 と同じようにeregを使ってるんですが、使わない方がいいのでしたらよい書き方をしたいです
よろしくお願いします
402 :
nobodyさん :2010/09/25(土) 17:31:28 ID:W1bFgA20
>>401 ありがとうございます。
if(preg_match("/bar/",$foo)){
に変更することにします
含まれるなら程度なら strposとかでいいよ・・・
>>403 if(strpos($foo,"bar")){
存在すれば位置を返すからtrueになるって解釈でいいんでしょうか?
ありがとうございます。
0を返す場合もあるからそれじゃダメ
>>405 if("" != strpos($foo,"bar")){
こうでしょうか?
preg_matchよりstrposの方が処理が速いんですかね
407 :
nobodyさん :2010/09/25(土) 18:32:04 ID:lqN4c8Xi
板URLと検索文字列をを登録し,その文字列が題名に入っているスレッド一覧を,テキストに記録したいです
例えば最初"
http://hibari.2ch.net/php/ " "php" と登録したら
serach.txt
--------------------------------
http://hibari.2ch.net/php/,php, 【PHP】下らねぇ質問はID出して書き込みやがれ 98,【PHP】フレームワーク CakePHP 9ホール目【1.3】,...
--------------------------------
つぎに"
http://hibari.2ch.net/php/ " "google" と登録したら
serach.txt
--------------------------------
http://hibari.2ch.net/php/,php, 【PHP】下らねぇ質問はID出して書き込みやがれ 98,【PHP】フレームワーク CakePHP 9ホール目【1.3】,...
http://hibari.2ch.net/php/,google,Google AppEngine 3アプ目,Google App Engine 3アプ目,...
--------------------------------
となるような感じでカンマ区切りで記録していきたいです.
テキストの保存の方法でもっといい方法はありますか?
>>406 if (strpos($foo, "bar") !== false)
GeoIPというIPアドレスから国・都市を割り出すPHP用ツールが配布されています。 これがインストールされていれば .htaccess 内で特定の国からのアクセスは禁止したり 違うページに誘導できたりするようになるのですが、いま使っているレンタルサーバーに このGeoIPがインストールされて使える状態になっているかどうか調べるにはどうしたらいいでしょうか?
>>410 使ってみれば使えるか確認できると思いますよ
>>410 インストールされてなくて入れられなければVPSに乗り換えるのも検討する
今は低価格で良いサーバが借りられるし
スクレイピングってやだよね 相手が嫌がらせでちょっとタグ変えただけでオワル APIがないとこからは取る気おきない
416 :
410 :2010/09/25(土) 19:54:12 ID:???
>>412 レンタルサーバーなので特定のコマンドを打って動作を確認することができないのが痛いところです・・・
>>414 最近じゃ月300円くらいから使えるレンタルサーバーとかありますよね
<?php print($_SERVER['SCRIPT_NAME']); ?> とするべきところを間違えて <?php $_SERVER['SCRIPT_NAME'] ?> と書いてしまったところ,動きました. これはやってはいけないやり方でしょうか?
418 :
417 :2010/09/26(日) 00:30:42 ID:???
すんません. 自己解決というか勘違い. はずかすい
419 :
nobodyさん :2010/09/26(日) 02:08:52 ID:XvkZ4p7S
あの<a>2ちゃんねる</a>がモバイルに 上記の文字列の<a></a>で囲まれた部分に関数(今回はurlencode) を適用したいのですが、何かよい方法はありませんか? preg_replaceを使用し、\\2などの元文字に関数を 適用したいと思ったのですがうまくいきませんでした。 どなたかご教授お願いします。
echo '<a>'.urlencode('2ちゃんねる').'</a>'; じゃダメなんだろうか
>>419 preg_replaceの部分を晒さないと何とも言い難い
422 :
nobodyさん :2010/09/26(日) 04:37:39 ID:XvkZ4p7S
>>420 掲示板のユーザーから受け取った文字列を書き換えたいので、ダメなのです。
すみません。
>>421 $val = "あの<a>2ちゃんねる</a>がモバイルに";
preg_replace(/(<a>)(.+)(<\/a>)/","<a href ='./index.php&word=\\2'>ひろゆき</a>",$val);
($valは変動する文字列と考えてください。)
\\2の部分にurlencodeやセキュリティー対策の関数を適用したいのです。
preg_replaceでなくともいい方法があればお願いします。
preg_matchの第三引数で取得して それをencodeしたものをpreg_replaceで置き換える <?php $val = "あの<a>2ちゃんねる</a>がモバイルに"; $regex = "/<a>(.*)?<\/a>/"; if (preg_match($regex, $val, $matchs)) { $enc = urlencode($matchs[1]); $val = preg_replace($regex, "<a href=\"./index.php&word={$enc}\">ひろゆき</a>", $val); } echo $val;
424 :
nobodyさん :2010/09/26(日) 05:53:28 ID:XvkZ4p7S
>>423 ありがとうございます。
wikipediaっぽく、受け取った文章中のすべての<a>○○</a>を
置き換えたいのです。
提示していただいた方法だと、複数の対象ができた場合、
preg_matchで取得したものを、置き換える場所に個々に一致させる必要があります。
できれば一度の処理で変換できる方法はないでしょうか?
preg_match_all
preg_replace_callback() だけでいい function lnk($matches) { $url = './index.php?' . http_build_query(array('word' => $matches[1]), '', '&'); return sprintf('<a href="%s">ひろゆき</a>', htmlspecialchars($url, ENT_QUOTES)); } $val = "あの<a>2ちゃんねる</a>がモバイルに"; echo preg_replace_callback('#<a>(.+?)</a>#s', 'lnk', $val);
427 :
nobodyさん :2010/09/26(日) 06:45:51 ID:XvkZ4p7S
>>426 うわぁ一見では理解できない・・・。
ありがとうございます。
これでいいのかどうかが、私のレベルではわからないので
>>426 をじっくり解析しながら勉強して出直してきます。
みなさん本当にありがとうございました。
Fatal error: Allowed memory size of 41943040 bytes exhausted (tried to allocate 35 bytes) in /home/○○○/Smarty/common.php on line 145 ってエラーが表示されるのですがどうすればいいでしょうか?
>>428 php.iniのmemory_limitを増やす
調べてみたらphp.iniは権限上弄れないみたいです・・ちなみにKAGOYAサーバです。
432 :
428 :2010/09/26(日) 13:23:56 ID:???
PHP書くようになって1年ぐらい経つが未だに 配列のキー指定時なんかにダブルクォーテーションかシングルクオーテーションかで悩む コードの出所によってバラバラだったりして結局ソース内に混在して 気持ち悪いがわざわざ統一する理由もない お前らどうしてますか?気にしない?
435 :
428 :2010/09/26(日) 13:44:23 ID:???
>>433 追加したのですがFatal error: Allowed memory size of 41943040 bytes exhausted (tried to allocate 512 bytes) in
/home/○○○/Smarty/common.php on line 145
と表示されます。tried to allocate 35 bytesが512と変わっただけみたいです。
記入ミスとかでしょうか?
文字列はだいたいシングルで囲むな・・・・ オレオレ仕様に半分なってるわ
シングルクォーテーションの方が余計な心配をしなくていいし、動作も早くなる という妄信的な理由でそっち使ってる。短いコードだからそんな微妙な早さとか関係ないんだけどね
"と'を混ぜて使うとXSSを突かれるからどちらかに統一したほうがいいよ
俺はJava使いだから String型はダブルchar型はシングルにしてるな
442 :
nobodyさん :2010/09/26(日) 15:23:15 ID:q4FftNdH
PHPMYADMINで、データベースを書き換えたり追加したりしたときに出てくるUPDATEからはじまるソースをコピーして流用したんですが、書き換えができません わかりやすく解説していただけないでしょうか? お願いします
perlのqq{}みたいなのってないのかな? 変数いれたいけど"のたびにescapeまんどくせって思っちゃう
445 :
nobodyさん :2010/09/26(日) 15:26:13 ID:q4FftNdH
>>443 PHP側に記述するソースの話でも板違いなんでしょうか?
446 :
nobodyさん :2010/09/26(日) 15:28:03 ID:q4FftNdH
連投すみません
>>443 回答ありがとうございました。お礼忘れてた・・・
>>445 PHPを使ってデータベースサーバに問い合わせを行ってるわけで
その文自体はPHPとは直接関係ない
>>1 にも書いてあるでしょ
> 【その他諸注意】
> ・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
>>447 なるほどわかりました
ありがとうございました
450 :
nobodyさん :2010/09/26(日) 19:55:12 ID:Jo67o0kR
携帯サイトですが aタグからのアクセスとimgタグからのアクセスを判別することは可能でしょうか? aタグでのアクセスではページを imgタグからのアクセスでは画像を出力したいのです。 宜しくお願いします。
>>450 imgからのアクセスって、画像にリンクが張られているってこと?
452 :
nobodyさん :2010/09/26(日) 20:52:56 ID:Qwm7T4hv
>>451 携帯からなのでID変わります
ランキングサイトに多数登録しているのですが
ほとんどのランキングサイトでINよりOUTを多く見せる為に
OUTのURLを1×1ピクセルのimgタグを使ってカウントを増やしています。そんなランキングを使うなと言われればそうなのですが、どのランキングもやってる状態でして。
で、そのimgタグが読み込まれる度に、こちらのindex.phpが呼び出されるので負荷が高くなります。
そこでimgタグからのアクセスの場合はこちらも1ピクセルの画像なんかを出力したいのですが、
PHPで処理しても負荷は変わりませんかね?
と言うか、可能でしょうか?
>>452 リファラでランキング取得ってことか
クリック必須になるように一ページかましゃよくね?
>>452 ランキングサイトが不正ってことなの?すごいな
456 :
nobodyさん :2010/09/26(日) 22:47:37 ID:Jo67o0kR
>>453 携帯はまだ1/3はリファラ対応してないですし
imgタグでもリファラは吐くと思いますのでリファラの判別は不可能ですね
やっぱ判別する方法は無いですかね・・・
>>454 いや、もうその不正は普通ですよ。
携帯専用サイトはソースが見られないと思ってやりたい放題ですから
逆にINよりOUT少ない方のが信用できますが少ないです。
>>455 晒しはさすがに可哀想かな・・・汗
pcから普通に見てもimgタグの部分は見られません。
mrank.MEGArankを使ってるランキングはほとんどそうです。
OUT率の悪いサイトのOUTURLを表示させる独自タグがありまして
それを使うといい感じにOUTの数字が増やせるんですよ。
> 晒しはさすがに可哀想 その発想がわからん
どこもやってる事なんだからいちいち目くじら立てるなよ SEOなんざ汚れてなんぼ 良い子じゃ結果はついてこない
チョンが1匹このスレにいるなw
この手の手法が不正って言う奴まだいたと言う事にびっくりw
461 :
nobodyさん :2010/09/27(月) 01:00:34 ID:UWQKEOZ6
不正とか不正じゃないとか言う前にそんな質問してきて こっちがびっくりだよ
不正しなきゃout稼げないほどって、ちゃんと見るユーザーはいないんじゃね?
.rsdfをデコードするphp <?php $key = pack('H*', "8C35192D964DC3182C6F84F3252239EB4A320D2500000000"); $iv = pack('H*', 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'); $iv = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $iv, MCRYPT_MODE_ECB); $dh = opendir('./'); while (($file = readdir($dh)) !== FALSE) { if (preg_match('/^(.+)\.rsdf$/', $file, $m)) { $f = $m[1]; $data = file_get_contents($file); $data = pack('H*', $data); $data = base64_decode($data); $data = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $data, MCRYPT_MODE_CFB, $iv); $lines = explode('CCF: ', $data); array_shift($lines); $fh = fopen($f. '.txt', 'wb'); foreach ($lines as $line) { fwrite($fh, $line."\n"); } fclose($fh); } } closedir($dh)
唐突に日記を書き出して使えるコードは共有すべきだとスレチな持論を展開する いつもの人ですか?
ランキングサイトとか厨房の巣窟
普通にアクセスした場合とimgタグ経由でアクセスしたときに、 アクセスされた側に何か違いが分かるのかという質問だろ 分からないからって変なとこに噛み付いてるヤツがいるな 知恵袋かここは
468 :
nobodyさん :2010/09/27(月) 16:31:45 ID:5rzeHvzl
どこで質問すべきか迷ったのですが…ここで。 exec()を使って、コマンドを実行し、実行結果が取得したいのですが 「at」コマンドだけなぜか結果が取得できず困っています。 exec('echo "hoge"',$result); # $result -> hoge exec('at -f at.sh now + 1minute',$result); # $result -> NULL コマンドの実行自体は成功しているのですが、 system()と同じく強制的に標準出力されてしまいます。 いったい、どうすればいいのでしょうか?
>>467 おまえも回答せず住人に噛みついてるだけじゃないか
つか答えてやりたいが何度読んでもなにを言ってるかわからないんだよ
むしろ読めば読むほどわからなくなる
ランキングサイトの運営やってるのか参加者なのか
どうなっててそれをどうしたいのか
>>468 手元に環境なくて試せないが、atコマンドの結果が標準出力では無いのでは?
↓これでどうだろう?
exec('at -f at.sh now + 1minute 2>&1',$result);
imgタグとかiframeでランキング踏ませるのって10年くらい前に流行ったヤツじゃないか そこらのランキングサイトはもうそんなの通用しないようになってるでしょ
クリックジャッキングってやつでしょ そういうことしてるサイトはどんどん晒し者にしてくれ
>>468 atの結果が欲しいのか、atで指定した at.sh の結果なのか?
質問の結果はatの結果ではないかと思うが。
>>467 答えはわからない
リファラ送ってこないブラウザもあるから無理
476 :
nobodyさん :2010/09/28(火) 08:55:29 ID:QwKdPwv2
【OS名】WindowsXP(XAMPP) 【PHPのバージョン】5.26 【連携ソフトウェア】Actionscript3.0(FlashDevelop) echoの仕方についてです。 $fp = fopen("./data.txt", "rb") $contents = stream_get_contents($fp); ↑で読み込んだテキストデータなのですが(動作は確認済み)、 actionscript側に、うまく渡すことができません……。 ○echo "comp="."完了"."0"; ×echo "comp="."完了".$contents; ×echo "comp=".$contents; ↑のような描き方なのですが、 正常に表示されたのは○のついたものだけでした……。 なぜでしょうか? よろしくお願いします。
477 :
477 :2010/09/28(火) 09:10:26 ID:QwKdPwv2
追記です。
○echo "comp="."完了".$num; //$num = 0
また、
>>47 の×のついた2パターンを実行すると
何も表示されませんでした。
更にいうと、actionscript側の話になりますが、
どうやらloaderのCOMPLETEイベントを達成していないみたいなのです……。
478 :
477 :2010/09/28(火) 09:12:39 ID:QwKdPwv2
$contentsの中身は確認した? echo $contents だけだとどうなる? print $contents の場合は?
printとechoで違うとかw
printは使うな!!!!!!!!!!!echo使え!!!!!!!!!
なんでecho? printでも一緒じゃん
483 :
nobodyさん :2010/09/28(火) 13:48:56 ID:p2mX25rg
すみません。
テーブルAからSELECTで受け取ったデータをテーブルBに入れたいと思っているのですが
$result = $dbh->query($sql);
$row = $result->fetchAll(PDO::FETCH_ASSOC);
で受け取った配列が
Array ( [0] => Array ( [id] => 0000 [pass] => 0000 [mail] =>
[email protected] [birth] => 2000/6/15 [sex] => 1 [hash] => 2e910fer4bd1e1caafg61781 )
という感じで、これを
$insql = "insert into `user` value(\"{$row[id]}\",\"{$row[pass]}\",\"{$row[mail]}\",\"{$row[birth]}\",\"{$row[sex]}\")";
$stml = $dbh->query($insql);
としてクエリ発行しているのですが
print_r()でリクエストの中身を表示させると
PDOStatement Object ( [queryString] => insert into `user` value("","","","","") )
となってしまい、INSERTできません。
どうすればデータを入れられるのでしょうか?
printは文字列を評価する echoは文字列を評価しない
>>483 最近のはどれでもSELECT結果をINSERTできるからそっちでやればいい
INSERT INTO `user`
SELECT `id`, `pass`, `mail`, `birth`, `sex` FROM unko;
>>484 すいませんでしたぁああああああああああ!!!!!
488 :
483 :2010/09/28(火) 17:42:09 ID:???
で、できた!! SUGEEEEEEEEEEEEEEE!!!!!! マジパネェっす先輩! かっけぇっス!
>>484 初心者がでたらめ信じるから止めろ
echoは構文、print()は関数なだけで後は同じ
構文ってなんだ 制御構造だろ
>>489 無知乙
$a = print "test";
$a = echo "test";
>>490 構文は構文だ
日本語マニュアルじゃ制御構造とまるで名詞扱いだが言語の構造という意味合い
>>491 言うに事欠いて無知、ねぇ
echoは構文だから右辺に持って来ればシンタックスエラーになって当然
printは関数だから式として評価できる
結論:printは使うな
>>489 ちんぴら荒らすな誰も構文とか関数の話は持ち出してないでしょ
495 :
ちんぴら :2010/09/28(火) 21:27:19 ID:???
>>494 そうっスね。だが文字列を評価については間違い
引数はどちらも評価されるし、
展開の事を言ってるのならそれは文字列リテラルをシングルクォートかダブルクォートで書くかで決まる
496 :
ちんぴら :2010/09/28(火) 21:42:27 ID:???
printの事を関数っつたけど本当は関数のように振舞える文じゃねえか サーセンwww
IP出してないから偽者か
>>5 のリンクってリンクぎれしてる?
どういう内容だったんだろう
499 :
468 :2010/09/28(火) 22:55:57 ID:YVGjdndO
>>470 ありがとうございます!
無事、取得できました。
結局
>>476 本人の回答はないわけね。
>>479 でprint $contents と書いたのは、色々試したのか聞きたかっただけ。
printとechoの違いで盛り上がることになるとは思わなかった。
ちなみに制御構造じゃなくて言語構造な。
501 :
476 :2010/09/29(水) 07:11:26 ID:VYhAt3Fb
echoとprintの件、調べるきっかけになりました。どうもです!
>>479 $contentsの中身はテキストファイルに書き出して正常を確認しました。
改行コードの問題かとも思ったのですが……。
>>500 phpとactionscriptの連携で見たサイトの全てが、
echo "comp=".変数
となっていたのと、一部にprintはやめろと書かれていたので
printは試していませんでした。
一応試してみたら、やっぱり駄目でした。
echoかprintで試せとか明らかに無駄だと思うことと試させるのはバカげている 分からないのに無理に答える必要なんてないのにね
わからない事を答える事で自分も勉強になるじゃん
504 :
nobodyさん :2010/09/29(水) 11:41:05 ID:AW7qXGB4
【PHPのバージョン】5.2.14 【連携ソフトウェア】Apache、MySQL PHPの設定がもともと magic_quotes_gpc=on; となっています。 自分でoffに変えることができますが、 前の担当者がonのままにしてstripslashesを多用しています。 今回offにする必要が出てきたのですが、影響はありますか? onでもoffでも使えるように、よく下のような方法がとられるようですが、 そのような方法は組み込まれていないようです。 offにしてstripslashesを使うと問題が出るのでしょうか? if (get_magic_quotes_gpc()){ $text = stripslashes($text); } どうぞよろしくお願いします。
やってみればいいじゃない テスト環境を作っておかないといろいろ困るぞ
506 :
nobodyさん :2010/09/29(水) 15:30:30 ID:lyrqwiNJ
>>502 あんたはバカげてると思うだろうけど、このレベルのことでつまづく人は
大抵何か些細なケアレスミスが原因だったりする。
バカげてると思うようなことでも一応やってみると原因がわかることもある。
>>504 まぁ、stripslashesを検索して全部削除するのが無難だろうな。
もしくは
>>504 のif文を含んだ関数を作ってstripslashesを置換するとか。
509 :
nobodyさん :2010/09/29(水) 17:37:55 ID:AW7qXGB4
>>505-506 >>508 アドバイスありがとうございます。
stripslashesが使われている箇所の数が多いですが、
地道に消そうと思います。
テスト環境も時間のあるときに作ろうと思います。
ありがとうございました!
510 :
nobodyさん :2010/09/29(水) 18:51:24 ID:ohuXeJ7T
エスパーさん出番ですよ
urlencodeしてみれ
>>510 &はURLの中では変数を切り分ける意味合いがある。
log.php?a=1&b=2
ってするとa=1,b=2を渡せるわけ。
で、URLに&が入ってると、こっちの意味とわけわかんなくなる。
ref =
http://www.google.co.jp/&ua=ie と渡したいんだったら、渡す値をURLエンコードして
渡した先のプログラムでデコードして使うのがセオリー。
514 :
nobodyさん :2010/09/29(水) 19:52:06 ID:ohuXeJ7T
515 :
nobodyさん :2010/09/29(水) 20:17:49 ID:ohuXeJ7T
あら・・perlでやっても同じでした。 もうhttp抜きでやろうと思います。 ありがとうございました。
サーバ側がリンクを出力し クリックしたらサーバ側で処理をするようなものなら エンコードデコードができてhttpが含まれない方法ででやればいいんじゃない? base64_encode() base64_decode()あたり使うとか
517 :
nobodyさん :2010/09/29(水) 20:45:31 ID:ohuXeJ7T
>>516 base64でいけそうな感じです!
Google Analytics携帯版での作業だったのですが
うまくga.phpでデコードされてanalyticsに表示される事を祈ります。
ありがとございました!
518 :
nobodyさん :2010/09/29(水) 21:10:34 ID:NnO/2D7Z
よろしくお願いします。 【OS名】WinXP SP3 【PHPのバージョン】5.3.3 【連携ソフトウェア】Apache2.2 【質問内容】 上記環境に「ふたば(改)動画板」を導入したところ、 画像のアップロードや動画の投稿は問題ないのですが サムネイルが生成されません。特にエラー等も表示されません。 以下の点は確認したのですが、他に解決に向けての ヒントがあれば教えていただきたいです。 ・スクリプト側で、サムネイルを生成する設定になっていること (生成しない設定も試してみたが同じ) ・スクリプト側で、サムネイルを保存するパスが間違っていないこと ・サムネイルを保存するフォルダ名が間違っていないこと ・サムネイルを保存するフォルダが読み取り専用になっていないこと ・php.iniにてphp_gd2.dllのコメントアウトが外されていること ・extension_dirが想定通りであること
ワロタwwwww
521 :
nobodyさん :2010/09/30(木) 05:45:06 ID:I9MDDWo9
MySQLのdateフィールドに 2010-09-01 2010-09-02 2010-09-03 というデータと 2010-07-00 2010-08-00 のようなデータ(年月のみ)が混在している場合、 前者をxxxx年yy月zz日、 後者をxxxx年yy月 というようにフォーマットしたいのですが、 効率の良いやり方はありますでしょうか? よろしくお願いします。
523 :
518 :2010/09/30(木) 07:18:09 ID:YkwDopQP
>>519 すみません、その本家で質問掲示板みたいなのが
見つからなかったのでここに書いたのですが…
特定のソフトウェアの話されてもわかるわけないじゃない それとも君は僕たちにソースを読んで解決方法見つけろとおっしゃるわけ?
まあ言語問わずの考え方では、 '-'で年月日を分けて、日がゼロだったら(以下略 だろうけど、きっと何でもあるPHPならもっと便利な関数があるに違いない。 俺は知らんけど。
>>523 substrとか使って右端2桁が'00'だったら後者とかするしかないんじゃない?
527 :
518 :2010/09/30(木) 12:44:25 ID:Jf2uMKoj
出先なのでID違うけど518です。
>>524 すみません。
スクリプトの名前を出したのは話を分かり易くする為のつもりでした。
勘ですがPHPの導入段階でミスを起こしている気がしていたのでここに書きました。
で、その勘は当たってたみたいでC:\Windowsにphp.iniを入れ忘れていたので
GD他ライブラリが読み込まれておらず、結果サムネイルが生成されてないっぽいです。
しかし、C:\Windowsにphp.iniを放り込むとスクリプトが上手く動作しなくなります。
スクリプトの拡張子をhtmlに変えたような、ソースが見える状態になってしまいます。
php.iniをC:\Windowsに入れなければ一応スクリプトは動きますので、
Apache側の設定は大丈夫だと思うのですがphp.iniの何処をチェックしたら良いでしょうか?
528 :
518 :2010/09/30(木) 12:48:05 ID:Jf2uMKoj
追記です。 使用しているphp.iniは同梱のphp.ini-developmentをベースに ネット上の情報を参考にして書き換えたものですが、 php.ini-developmentをphp.iniにリネームして編集せずに C:\Windowsに放り込んでも同じ現象が起きます。
530 :
nobodyさん :2010/09/30(木) 16:22:13 ID:xlyY++2I
質問の内容が 今日作った料理は美味しくなかった 料理はイタリアンです。おいしくなるヒントを下さいレベル エスパーしか答えられない
531 :
518 :2010/09/30(木) 17:41:42 ID:bBmLZhr9
>>530 すみません。他にどんな情報があれば良いのか分からないんです。
初心者用の質問スレは無いんでしょうか?
>>531 残念ながら、
>>518 の質問は、「下らねぇ質問」じゃないんだよ。
同じ状況を現場で解決する能力のある人はこのスレにいっぱいいるけど、
それを2chのスレでのやりとりで解決するにはたいへんな手間がかかる。
>>530 の例えじゃないけど、絵の描き方を電話で聞いてるようなものだ。
サムネ作成部分のソースを見てみないとやっぱわからんでしょ
>>531 自分でつくったスクリプトじゃないと答える方も難しいかな
まずエラーがでないというのは、本当にエラーが無いからなのか
php.iniでエラーを抑制しているのか、スクリプトで@つけてるせいなのかわからない
gdについては、phpinfo()でGD Support が enabledになっているか確認して。
535 :
529 :2010/09/30(木) 18:11:36 ID:???
GD使った簡単なものを書いてみてそれが動作するかまずは確認すべきだ
537 :
527 :2010/09/30(木) 19:26:25 ID:YkwDopQP
>>532-536 ありがとうございます。質問を変えます。
php.iniを指定するとスクリプトがHTML扱いされて中身が見えます。
ttp://imepita.jp/20100930/694720 スクリーンショットをうpしてみましたがこんな感じになります。
php.iniがないと普通に動作しますが、GDが読み込まれてない(phpinfoで表示されてない)ので
使いたいスクリプトでサムネイルが生成されません。
pathで指定されてるところにphp.iniが無い場合、どこから設定を読んでるんでしょうか?
それをベースに設定を変えていけば動かせそうな気がするんですが…
>>529 さんの貼ってくれたサイトに従ってphp.ini、httpd.confを設定してみましたが状況は同じです。
538 :
527 :2010/09/30(木) 19:27:27 ID:YkwDopQP
age忘れました。すみません。 あと ×スクリプトがHTML扱いされて中身が見えます。 ○スクリプトがHTML扱いされたように中身が見えます。 です。
>>537 本当にやったのか?
httpd.confにaddhandlerでphpを登録したんだろうな?
Hello Worldすら出来ない状態じゃない?
541 :
527 :2010/09/30(木) 20:04:52 ID:YkwDopQP
うあああああああああ何だよこれえええええええええええ 落としてきたスクリプトの一行目が「<?」だけだったので 「<?php」にしたら動きました… ググってみたらPHP5はデフォルトでショートタグがオフなんですね。 ていうかショートタグなんて今初めて知りました(´;ω;`) 散々スレ汚して本当にすみませんでした。 こんなアホに付き合ってくれた方に本当に感謝です。 ありがとうございました。
そんなスクリプト捨ててしまえ
定型分として書いてるから気がつかんな 捨ててしまえ
ショートタグ使ってるコードにまともなものはないから捨てて正解
545 :
nobodyさん :2010/09/30(木) 21:16:21 ID:xlyY++2I
うう デフォでショートタグだわw あぁ おいらのコードは見られると穴だらけだなw
>>541 そのスクリプト一番最後に全部?>はいってるだろ
なんつうオチだ
俺は ?> 書かないな
ダメなコード(自分主観)は… ・ショートタグ ・文字コードがShift-JIS ・extract ・タグを閉じたり開いたり忙しい ・echo "{$var}"; ・ファイルの先頭・要所にコメントがない、 あってもコード見たら分かる事しか書いてない(仕様を書かないと意味がない) ・1行がやたらと長い ・$_GETとか$_POST配列扱う時にisset使わず分岐したりしてる(警告出るちゅーねん!) …書き出したらきりがないのでこのあたりにしておく
>>549 $_GETや$_POSTのチェックって
!emptyよりissetがいいの?
emptyでもis_nullでもなんでもよか
>>550 基本的に、関数(もしくは言語構造)の本来の意味を考えて使い分けてる、
”あるかどうか”を調べたいのならisset
”無いかどうか”を調べたいのならempty
$_GETとかで使うのはほぼ前者
あと、issetを自分がよく使うのは isset($_GET['name'], $_GET['email'], $_GET['body']);のように複数渡せるからというのもある
554 :
nobodyさん :2010/10/01(金) 01:54:18 ID:JW8iU96H
・$_GETとか$_POST配列扱う時にisset使わず分岐したりしてる(警告出るちゅーねん!) これって $hoge = $_GET['hoge']; がだめっていってるんだよね? $hoge = null; if (isset($_GET['hoge'])) { $hoge = $_GET['hoge']; } にしろってことだよね? もしいっぱいあった場合ってすべての$_GET $_POSTに対してこの処理をするの? 10個ぐらいあるとだいぶ間抜けに見えそうなんだけど なんかいい記述方法あるかな?
>>550 判断基準が全然違うので目的にあったものを使う
どちらも未定儀の変数に対する挙動は null の場合と同じ
is_null()
> var が null の場合に TRUE、 それ以外の場合に FALSE を返します。
empty()
> varが空でないか、0でない値であれば FALSE を返します。
>
> 次のような値は空であると考えられます。:
>
> * "" (空文字列)
> * 0 (0 は整数)
> * "0" (0は文字列)
> * NULL
> * FALSE
> * array() (空の配列)
> * var $var;(変数が宣言されているが、クラスの中で値が設定されていない)
>>554 なんとissetは引数の数が可変、一気に処理できる
557 :
nobodyさん :2010/10/01(金) 02:06:44 ID:JW8iU96H
そらー知らなかったわー あとでよくマヌアルみてみる ありがとう
array_key_existsばっか使ってるわ俺
559 :
nobodyさん :2010/10/01(金) 10:06:47 ID:Jbi45SFJ
function foo($bar){ $bar = preg_replace("/あ/","い",$bar); } $a = "あいうえお"; foo($a); echo $a; と書いたんですが、 あいうえお と出力されてしまいます。 いいうえおに変換されるようにするにはどこが間違ってますでしょうか
>>559 それだと$aの中身が変わってないから
echo $a しても「あいうえお」のまま。
>>559 function foo(&bar) {
- function foo($bar){ + function foo(&$bar){
>>560-562 ありがとうございました
&がいるんですね
しっかり見落とさないようにします
$が抜けてた恥ずかしい…
文字コードがUTF-8のときは、 preg_replace("/あ/u","い",$bar); ってしないとうまく動かないかも。
>>559 だからそんな単調な置換にpreg_replaceを使うなと何度(ry
あいうえお を いいうえおにすることに対してそんなに突っ込まなくていいよ
初心者にヘタくそなコード教えるなよ・・・正規表現使うところか?
例題にマジになってる男の人って・・・
function foo($bar){ return 'いいうえお'; } $a = 'あいうえお'; echo foo($a);
$_GETや$_POSTをチェックする意味って何?
postはそうそうないけどgetはパラメータいじれるだろ
>そうそうない その程度の認識だからPHPがゴミ扱いされるんだよ
>>572 そうじゃなくて、
>>549-554 の言うようにisset等でチェックする意味あるの?
$var=$_GET["var"] 等とした後に$varの内容を目的に応じてチェックするんじゃ
だめなの?
そこらへんまとめてクラスとymlでする俺には関係ない話だった
>>575 チェックしないと警告でるじゃん
てか、あらゆる入力(入力なしの場合も含む)を想定して
プログラムしないと、後々バグのすくつになる
自分の場合、 error_reporting(E_ALL | E_STRICT); を設定して、あらゆる操作で一切の警告が出ないことが前提条件
>>577 $_GET["var"]が存在しないとき、
$var=$_GET["var"]
とすると警告出る?記憶にないんだが。
一つ前のレスにあるだろ 設定次第
$_GET['var']が存在しない場合もあるでしょ その場合代入できるわけないでしょ
>>578 バージョン5.3使ってますって書いておけ
E_STRICTはphp5からだし E_ALLはphp4にもある それに$var=$_GET["var"]これでエラーが出る設定は E_NOTICEを出力する場合だからE_ALLだけで十分 5.3とか関係ないな
$var=$_GET["var"]でエラーとなる件 これって、つまり$_GET["var"]が存在しないのに評価しようとしてWarningが出るってこと? 配列だからエラーになるの? $var=$a($aは未定義)の場合もエラーになるの?
Notice: Undefined variable
>>584 先頭に
error_reporting(E_ALL);
つけてやればわかるだろ
まぁ予想通りの結果
>>585 になるが
>>586 PHP5.2じゃでねえよ
ちゃんとPHP5.3の環境で出ますって書け
一人痛い人が居るようですね
バージョン関係ないし
590 :
nobodyさん :2010/10/01(金) 19:04:14 ID:/wsXjKAq
一番厳格にするには error_reportingにE_ALL | E_STRICT | E_NOTICEと設定する事ですか?
>>590 E_ALL: サポートされる全てのエラーと警告。 E_STRICT レベルのエラーは除く。
>>566 単調な場合に最適なのを教えていただけないでしょうか
str_replace
ちょっと前にスレでも同じ質問でpreg_replaceの話題が出てたのにね 釣りとしか思えない
>>593 ありがとうございます
正規置換とで使い分けたらいいのかな?
過去ログを10回見るより
>>593 を一回見た方がよくね?
>>593 は単純なprintもwhileで10回まわして表示するタイプ
単純な置換ならstr_replace、strposがいいって出てますよ
>>599 スレに張り付きすぎ少しゆとりを持て
例文が単純な置き換えだから単純な置き換えの質問にちまいない ってどんだけ単純な頭なんだよ
顧客が説明した要件 : 関数に渡した変数をpreg_replace()っても呼び出し元は変わんない!不思議! プロジェクトリーダーの理解 : Unicode修飾子が怪しくね? アナリストのデザイン : 正規表現使うなカス プログラマのコード : function foo($bar) { return 'いいうえお'; } 得られたサポート : 過去ログ10回読め 顧客が本当に必要だったもの : 参照渡し
全然上手いこと言ってないような気が
>>602 すぐに正しい回答が出てたのを故意に伏せてる辺りがざんねん
あんまおもしろくなかったが スレ相応しいくだらないくだりを必死で考えたことは褒めてやろう
606 :
nobodyさん :2010/10/02(土) 00:20:26 ID:2C+2SXQ6
オープンソースとして公開されているPHPのシステムがあるのですが、 もうしばらくメンテナンスがされておりません。 それを使ってみたのですが、いくつか動かない個所を見つけました。 apacheのエラーログにエラーが残ってないので、スクリプトのエラー はなくバグで動いていないかと思うのですが、こういったものの一般的な デバッグはどのように行うのでしょうか? PHPはほぼ初めてで、でバッギングツールがあるのかどうなのかもわかっていません。
PHPのエラーログってなかったっけ
>>606 設定次第でどこにでもエラーログを作れるので
必ずしもapacheのログにある訳ではない
あとそのオープンソースのって何?有名所のなら
ちゃんとコミュニティとかはあると思うけど・・・
>>608 別にxdebugじゃなくても良いけどな
デバッガなんて開発環境に合わせて選べば良いんじゃない?
>>606 ソース読めるならおかしいと思う辺りにデバッグ用のprint文とかを
入れてみるのが早い。
あぁ、PHP初めてでしたか
デバッグはprintよりvar_dumpのほうが
print_rでやってる人も多くね?
俺はprint_r派だけど状況によってvar_dump使うこともある printはprint_rの書き間違いだと思うけど
オレオレprint_r超便利
値がfalseなのかnullなのか空白なのかを調べるときはvar_dumpだな たいていはprint_rでやってるけど ログに書き込むときに便利だし
function pr($var) { echo '<pre>'; var_dump($var); echo '</pre>'; }
手動デバッグは効率が悪い
デバッガー使いたいが 鯖で動かしていると無理だな
デバッガーの使い方がわからない
デバッガーにバグがあったら使えない
print_rはないな var_dumpかvar_exportで2番目の引数をtrueにする
PHP使ったことないからしらんけど、 某大手家電メーカの情報部はみんなprint_r使ってるぞ。 (みんなっちゅうか教育でそう教えられるのかも知れんが 何かあるごとにprint_rみせて print_rみせて って聞こえるし 「すみません。ココが動かないんですけど」って新人の問いに print_r使えばいい って言ってる。 ちなみに今そこの会社の人間に 「PHPのバグではまった」ってメール送ったら 「print_rで見ればいい 」 っていわれた。
>PHP使ったことないからしらんけど、 >「PHPのバグではまった」ってメール送ったら 矛盾してないか?
他のプラットフォーム上(SNSとか)で動かすもの作ってるとvar_dumpが吸収されちゃって見れないことあるから エラー文字列をDBに保存して見てるわ
>>623 どういう返事が来るか試すためにメール送ってみただけよ
627 :
nobodyさん :2010/10/02(土) 18:35:41 ID:l4wTIWl0
URLをクリックでページ遷移&POSTでデータ渡しって可能ですか? 空白のある文字列をそのまま渡したいんですが、GETだと空白の所で途切れてしまうんです。 どうやればいいんでしょうか?
629 :
627 :2010/10/02(土) 18:55:08 ID:l4wTIWl0
おお。ありがとうございます。
PHPで数百ステップ程度のコードなら何度か書いたことがあるのですが、(非オブジェクト指向) 次は人が書いたコードのデバッグにチャレンジしてみようと思っています。 PHPってCの用に頭から読んでいくのが一般的なのでしょうか?
頭からっていうか動く順じゃねえの
そんな読み方してたら最近のCMSのコード読む場合 何カ月かかるんだよ
632はどうやって読んでんの
PHP ステップ実行でググるといいよ
ってかPHPに頭なんてねえだろ Cはmainから動くことが決まってるけど、PHPなんてどこから呼び出されるかわからん
phpも頭からだろ
あたまってどこかくわしく
リクエストされたスクリプト(例:index.html)の先頭
HTMLwwwwwwwwwww
拡張子で判断するのはただの馬鹿 エントリポイントとなってるスクリプトの<?phpが先頭だろ そこからおってけばどーとでもなる
例えばindex.htmlから読んでいっても、C言語と違って 全コードを網羅しているわけではないっしょ。 マジであほなの? それともマジでわかってない?
拡張子で判断できないけど、今ここで.htmlを出すのはただのバカ。
網羅が何を指してるかはしらないが 一旦includeしてるファイルを読み込んだあとに エントリポイントから順に実行してくだけだろ それ以外での実行順序があるなら知りたいわw ちなみにエントリポイント=mainという事を指してるわけじゃないからな?
環境によっては<?や<%や<?=だったりするから<?phpが先頭とは限らないけどな と揚げ足を取ってみるテスト
search.phpってのがあるとかんがえてみたら?
このスレ読んでたらPHPの評価が悪い理由がよくわかった 扱う人のレベルが低すぎるんだな…
そりゃPHPは憧れプログラマホイホイだからな。 CとかPythonに挫折した連中の巣。
挫折した連中が作った言語がWebの中で一番使われてるとか凄いな PHPの中身がCとC++なのに挫折したのに作れるんだな
挫折した連中の方が多いから人数が多いんでしょ あと一番使われてるってどこの数字? 明らかに数でいえばPerlだろ。
PerlはLinuxの標準スクリプト言語(の一つ)だから多い GNOMEとかPerl無いと動かないし
制作言語が上位言語とどういう関係? 日本語がわかりづらくてどういう意味かわからないけど、 それで言ったらアセンブリは全プログラマができるってこと?
「挫折した連中が作った」じゃなくて「挫折した連中が使ってる」だろ 使ってる、なんて断言できるもんでもないと思うけど まあ、簡単だしPHP。
ああ ごめん。俺も読み違えてた。 C言語が扱える時点で挫折してない連中が作ってるだろ 結局苦労して難しいことやってるのはそのCプログラマであって PHPプログラマはプログラマって呼べるかどうかも怪しい
言語の習得レベルなんてどれも一緒だろ? なんかC言語にコンプレックスがあるやつがいるみたいだけど。
まあ、Cは書きやすくなったアセンブリだし・・・
>>654 それをいってる時点で、他の言語経験がないのまるだし
PHPがいかに楽な機能が揃っているか
>>657 それは他の言語も同じだろ。オープンソースでなんでも揃う。
大抵のプロジェクトでは独自の便利な部品持ってるし。
言語よりも、「層」を理解した方がいいぞ。
オープンソースっっっっっっw
オープンソース嫌ならIISのようなプロプライエタリ使えばいいじゃん
PHPプログラマが低レベル加減がわかるスレだな PHPでつくったらなんでもオープンソースだと思ってるのかこいつ・・ こいつがかいたコード危ないな・・
PHPプログラマは自分がおかれている環境をわかっていないといういい例
アホはスルーしろよスレが荒れるだけだえろアホ共
暇なんだからアホの相手くらいさせてくれてもいいだろ こいつの知識にもなるんだし むだかもしれんけど
PHP(笑)って以前から言われてることじゃん 今さら議論することでもないな
いまだにc言語のcgiに拘ってる会社もあるぞ
667 :
nobodyさん :2010/10/03(日) 08:50:34 ID:xREippUy
mdb2で、全ての特定のカラムを0に書き換えるっていう場合、なにか簡単な書き方ありますでしょうか? 今はwhileで全ての行を書き換えています。
668 :
nobodyさん :2010/10/03(日) 09:03:09 ID:V+S/ga5Q
> 全ての特定のカラム 全てだけど特定なのね。
>>669 MDB2は関係ないように見えるが
UPDATE t SET c = 0
>>670 ありがとうございます。
最初に覚えたのが、where foo = $barみたいに特定の行を指定してのUPDATE方法だったので、
わざわざwhileで$barを++させながら1行ずつやってました
whereで行を特定させなければよかったんですね
672 :
nobodyさん :2010/10/03(日) 11:23:57 ID:xREippUy
重ね重ねすみません 項目に数値を追加したくて、 SET `foo` = foo+1 としたのですが、 フィールドfooが数値があれば+1されるんですが、NULLだとされません NULLの場合に追加する方法教えてください
自己解決しました if($row[foo] == NULL){ でNULLだったら0入れてやればいけました
674 :
nobodyさん :2010/10/03(日) 12:17:47 ID:3FmHKfz0
【OS名】Linux系 【PHPのバージョン】5.2.5 【質問内容】 preg_match_allの最短一致で、下記のデータから <TR>と</TR>タグで囲まれた部分を取り出したいんですが、うまくいきません。 $pagedata <TR><TD>YAMAHA1</TD></TR> <TR><TD>KORG2</TD></TR> <TR><TD>KORG3</TD></TR> preg_match_all("/<TR>.*?KORG.*?<\/TR>/sui", $pagedata, $match); 上記のデータに対しこのコードを実行すると、 $match[0][0]には<TR><TD>YAMAHA1</TD></TR><TR><TD>KORG2</TD></TR>、 $match[0][1]には<TR><TD>KORG3</TD></TR>が格納されるのですが、 ちっとも最短一致ではない気がします。 最初に一致した文字列の後に同じ文字列が出た場合、 .*?の量指定子は最短にならんから開始位置を変更とか 気を利かしてくれるわけではなく、最後の文字列が見つかった時点で 検索をやめる、というだけの機能を持つのでしょうか。 ちなみに$pagedataに格納されるデータには改行がありません。 どなたかご存知の方、お教えください。
>>674 申し訳ないが、質問の意図を理解するために、以下の部分を解説ください。
> ちっとも最短一致ではない気がします。
あなたが考えている最短一致であれば、どの様な結果が得られることを想定されていたのでしょうか?
また、preg_match_all がどの様な動作をすることを想定されてたのでしょうか?
>>674 一番最初に引っかかったものだけとりたいならpreg_match使うと思うけど
preg_match_allは引っかかるもの全部取るから
>>674 ちなみにそのパターンの<TR>.*?KORGで.*?の部分に<TD>YAMAHA1</TD></TR><TR><TD>が入って当たり前です
678 :
674 :2010/10/03(日) 13:31:10 ID:???
>>675-677 なるほど、よく分かりました。
<TR>で始まりKORGを含み</TR>で終わる文字列で最短のものを抜き出そうとしていたのですが、
あのパターンでは抜き出せなくて当たり前なのですね。
改行を加えてもう一回作り直すことにします。ありがとうございました。
679 :
nobodyさん :2010/10/03(日) 18:23:34 ID:xcbjzXzr
<?=$error> ネットでこのようなコードを見かけたのですがこれは変数の中身をそのまんま出力するという意味ですか?
<?php echo $error; ?> と同義 使わないほうがいい
ファイルの先頭に<?php書いて閉じないほうが見やすくて良い
htmlに書いてる場合は閉じるのは必要だろ 全部phpの場合はむしろ閉じたらいけない 理由は忘れた プログラムの終端に改行を入れたらだめとか なんかそういう説明してるHPに書いてあったな
>>682 画像・バイナリファイルを出力するとかの場合 ?>の後に改行があったら一緒に出力されるから壊れちゃうね
pearかzendのコーディング規約に入ってたはず
685 :
nobodyさん :2010/10/03(日) 19:42:45 ID:V+S/ga5Q
>>682 > ファイルの先頭に<?php書いて閉じないほうが見やすくて良い
「閉じる」そんな言葉に憧れる年頃なんです。許してやってください。
687 :
nobodyさん :2010/10/04(月) 00:03:39 ID:2MPeos+U
hoge
688 :
nobodyさん :2010/10/04(月) 00:05:45 ID:0ApRMxGi
PHPで協調フィルタリングの勉強がてらにデータマイングしたい年頃なんですけど・・・ データマイニングのデータがなくて困っている。
テストデータ 生成とかでググるといい
690 :
nobodyさん :2010/10/04(月) 00:37:55 ID:0ApRMxGi
>>689 協調フィルタリングのデータを生成したら意味ねーだろ(笑)
なんていうのかな、はてなブックマークみたいにタグで関連付けられたデータ
みたいなAPIでもcsvでもいいんだけど・・・
Twitterとかどうよ、API揃ってるぞ
2chがあるじゃないか
フォームからPOSTでMySQLに画像を入れようとしているんですが、ローカルでのテストでは Xamppの同フォルダにある場合はINSERTできたのですが、デスクトップ等に置いてあるが画像はINSERTできませんでした。 画像のパスの関係のようですが、どうすれば解決できますか?
フォームをどう書いているか見せたほうがいいよ。
695 :
nobodyさん :2010/10/04(月) 06:59:11 ID:oDHTZ/dy
echo"<table border='0' width='320'><tr><td><br>"; echo" 【画像を選んでください】<br><br><br>"; echo"<form method='post' action='image.php' enctype='multipart/form-date'>"; echo"<input type='file' name='image' />"; echo"<input type='submit' name='submit' />"; echo"</form><br><br>"; echo"</tr></td></table></div>"; このように書いています。 同一フォルダ以外の画像を選ぶと Warning: file_get_contents(003.jpg) [function.file-get-contents]: failed to open stream: No such file or directory in C:\xampp\htdocs\osusume\image_2.php on line 18 Warning: getimagesize(003.jpg) [function.getimagesize]: failed to open stream: No such file or directory in C:\xampp\htdocs\osusume\image_2.php on line 19 このように出ます。
すみません。 色々と駄目なのは分かっているんですが ×action='image.php' ○action='image_2.php' でした。これでも駄目です。
htmlを見るだけでやばそうな気配がプンプンしてくるね echoでフォームを出力しちゃってるところもさらに・・・ がんばれ・・・超頑張れ・・・としかいいようがない・・・ 自信のPHPにPOSTする場合は $_SERVER['SCRIPT_NAME']使うといいよ アップロードされたファイルはサーバのtmpに格納されるので それを自分のホームディレクトリに移動(コピー)しないといけない たぶんその処理ができてないからファイルが見つからないと言われてるんじゃないかな アップロードはされてるが移動(コピー)ができてないってオチだと思う あとマルチはいかんよ
>>693 > フォームからPOSTでMySQLに画像を入れようとしているんですが、
> ローカルでのテストではXamppの同フォルダにある場合はINSERTできたのですが、
> デスクトップ等に置いてあるが画像はINSERTできませんでした。
>>695 何回も読み直したが「MySQLに画像を入れる」をどこでやっていますか?
どこにもMySQLに入れる処理が見当たりません。
INSERTできたといいますが本当にできていますか?
すみません。 入れる方の処理はPOST先でやってます。 $dbh = new PDO($dsn, $user, $password); $dbh->query('SET NAMES utf8'); $sql = "insert into image(member,img,mimetype) values (?,?,?) "; $stmt = $dbh->prepare($sql); $stmt->execute(array($member,$image,$mimetype[mime])); これで一応、入れられています。
>>697 はスルーかね?
データベースのエラーじゃないんだし
そんな名前の画像が見当たらないよ言われてるんでしょ
画像を見当たるようにしないと
>Xamppの同フォルダにある場合はINSERTできたのですが、
これはアップロードされたファイルではなく
xamppの同じフォルダに元から入ってる画像を参照したからうまくいったわけで
アップロードしたファイルを参照したわけではないのでいわばバグ
xamppの同じフォルダにアップロードしたファイルを移動する処理をすればええのよ
$_FILES['image']['name']じゃなくて$_FILES['image']['tmp_name']を使うんだよ file_get_contentsに前者入れてない?
703 :
nobodyさん :2010/10/04(月) 12:46:32 ID:K3yYGIDv
小学校の授業でプログラミングの選択科目をとったんですけど 授業でPHPをやるんですけどxamppのインストール方法を教えてください
>>703 給食の時間ですよ
釣りはやめて席につきましょう
学級閉鎖中なので休みです
706 :
nobodyさん :2010/10/04(月) 15:25:41 ID:K3yYGIDv
あげ 親いないのでドラクエ9やって暇つぶしながら回答待ってみます
708 :
693 :2010/10/04(月) 17:22:34 ID:???
できますた…ありがとうございます。
>>702 Σ(゜Д゜;#)
function hoge( $foo, $bar="baz"){ } みたいなことをやっているソースがあるのですが、 2つ目の引数はなぜそのような処理をしているのでしょうか? $barに値をセットするだけであれば、 関数内で行えばいいと思うのですが。
変数がない場合があるから
第二引数を指定しなかった場合のデフォルト値
712 :
709 :2010/10/04(月) 19:09:48 ID:???
hoeg( 1, 1) と呼び出した場合は、$barに1が入り hoge( 1) ト呼び出した場合は、$barに"baz"が入るということでしょうか? すみませんが、なぜそのようなことになるのでしょうか? =より優先度の高い代入があるとは思えないのですが・・。
>>712 そこは代入文じゃなくてデフォルト値を書く特別な書き方なんだな。
714 :
nobodyさん :2010/10/04(月) 19:34:10 ID:8v2C+34B
定数の値を参照するとき、 すべてconstant()関数を使ったほうがいいんでしょうか。 define('ENABLE_HOGE', true); というようなtrue/falseを設定する定数があるとき、 if (defined('ENABLE_HOGE') && constant('ENABLE_HOGE')) { ...do something } という風に判断するのが良さそうですが、 定数の値をそのまま出力したいときなども、constant()関数を使うほうがよいのでしょうか。 みなさんifでの判断のとき/値を使うとき、それぞれどうやってます?
715 :
709 :2010/10/04(月) 19:38:43 ID:???
>>713 PHPの文法(仕様)として用意されてるんですね。
ありがとうございました。
名前が決まってるのが普通だから定数の値を取り出すのにconstantは 使わないし、必ずtrueかfalseで定義してあるはずのものならいちいち definedでチェックするなんて冗長なこともしない。 if (ENABLE_HOGE) { だけにすると思う。マニュアルにも constant() はある定数の値を取得する必要があるが、 その名前が不明な 場合に有用です。これは、定数名が変数に保存されているか、 関数により 返されるかの場合です。 って書いてあるしな。そしてそんな必要に迫られたことはないので一度も 自分では使ったことないわ。 あとそもそもdefineも使わないなー。大抵クラスにするのでクラス内でconst。
普通に if (ENABLE_HOGE) { } constantはデバッグ用には使うかもしれないが普通使わないと思われ definedはユーザに配布するようなスクリプトで 間違ってコメントアウトされたような時でも正常に動くことを想定して使ったり (通常そこまで世話見なくていいけど) 他のスクリプトのプラグインなどを作成してる場合 他のプラグインと被る可能性を想定して使うことはあるけど そうでない場合は使わないと思われ
718 :
nobodyさん :2010/10/04(月) 20:11:04 ID:8v2C+34B
>>716-717 なるほど。
その定数が必ず定義されている前提でコーディングするんですね。
複数人が編集したり、定数を加えたりするようなシステムの場合はどうでしょうか。
複数人でやる場合は命名規則つけてそれに則ってやればいい というか最初に定数項目の洗い出しぐらいはするべき
constantは引数に定数名を文字列で与えることが出来るので、
>>716 にあるように定数名を文字列として変数に格納している場合などに意味がある。
プログラム中にconstant('ENABLE_HOGE')等と表記するのはナンセンス。
開発者が複数いても定義和すればバグなんだから気にしないな。エラーに なればokでなったら直せばいい。 売り物のソフトで定義忘れの場合に親切なメッセージを出したいとかなら 使うのかもしれないけど、売り物だったらじかにdefine書かせたりは しないかなぁ。よくわからん。
複数人開発ってのは設計もしてて書くべきことは決まってるから 後から好き勝手につけたりなんてことは普通しない むしろ勝手に追加したら問題だし あとで追加していくっていうような事態がまず考えられない 設計にミスがあって追加するって場合はそれは仕様変更というものだ
何日以内という指定をしたいのですがUNIXタイムスタンプから その日の0時0分0秒を計算するにはどうしたらいいでしょうか?
正規表現で出来るだろ
何でも正規表現で解決君キタw
mktime
正規表現でどうやるんだよwwwww どうやって表現でけいさんするんだwww
ありえないレスだがいちいち煽るな 初心者なんだから優しく教えてやれ 正規表現(キリッ<煽り<ID出さない質問者 俺のウザさの順位
729 :
723 :2010/10/04(月) 20:43:28 ID:DrSvP9xK
>>726 ありがとうございます。
UNIXタイムから日時計算して、それをさらに年月日だけ渡してUNIXタイムを計算すればいいんですね。
ココまで考えられたので、なんとかできそうです。頑張ります。
>>728 すみません。
>>1 等は読んでいるのですが
sageてしまってましたね。
遅いかと思いますが、ageときます。
731 :
nobodyさん :2010/10/04(月) 21:18:22 ID:1jHYo0w9
ぐぐってしらべろ
733 :
nobodyさん :2010/10/04(月) 21:55:44 ID:VsipBJJZ
【OS名】不明 【PHPのバージョン】5.1 【連携ソフトウェア】MySQL 【質問内容】 <? echo $subject; ?> $subjectに特定の言葉「tokutei」が入っている場合に、 その言葉だけを「*******」に置換して表示させたい場合はどうしたらいいでしょうか? 初歩的な質問かも知れませんがよろしくお願いします。
734 :
nobodyさん :2010/10/04(月) 21:58:04 ID:xAyUD82v
モバイル用のアンケートサイトを作ろうと思うのですが、一人一回しか投票できないようにするにはどうしたらいいでしょうか? 今考えてるのは型番抜いて管理する方法だけど、他に方法がないか模索中です
>>733 str_replace("tokutei", "*******", $subject)
736 :
nobodyさん :2010/10/04(月) 22:12:05 ID:Dkwhoo6B
738 :
nobodyさん :2010/10/04(月) 22:18:50 ID:Dkwhoo6B
PHPならPEAR::Net_UserAgent_Mobile
739 :
nobodyさん :2010/10/04(月) 22:19:13 ID:xAyUD82v
>>736 ログイン付けてない不特定多数用なんだ。すまない。
>>737 やっぱりそれがベターかね。
それでやってみるよ。トンクス
740 :
733 :2010/10/04(月) 22:55:32 ID:LuSvKQN4
>>735 ID変わってしまいましたがその方法でいけました
ありがとうございました
>>729 その日の0時0分0秒なら strtotime('midnight', タイムスタンプ) で一発
743 :
nobodyさん :2010/10/05(火) 11:16:14 ID:7SJ2JjUO
きのうxamppの質問した人ですけどxamppをダウンロードしたんですけど動きません 明日から学校で金曜の2時間目にプログラミングの選択教科があります
744 :
nobodyさん :2010/10/05(火) 11:40:54 ID:O+r9qIdK
>>明日から学校で金曜の2時間目 明日は水曜だろw
学校が始まるのが明日であって授業は明日あるなんて書いてあるように見えないが?
日本のどこに学校行ってますアピールしつつ 昼間に2ch書き込んでる小学生がいるんだよ
今インフルエンザ到来で学級閉鎖になる学校があるってニュースでやってたよ
そもそも選択教科なんて日本の義務教育課程に存在しない
>>743 まずは学校の名前をはっきりさせなさい。
話はそれからだ。
セキュリティも理解してないような子供に鯖建てさせるのもなぁ… 自宅学習用に自宅のパソで建てて設定下手したらプライバシー大公開 の可能性もあるし
xampp話題なんてチンピラあたりが荒らしてるんだろ スルーしとけ
↑あなたが一番の荒らし
>>743 >>707 のインストール方法は試したの?
ダウンロードしただけで動かないのは当然。
ダウンロードして何をどう設定したのかをはっきりさせてくれないと何も教えられない
以下のサイトのFlickrのカラー検索の方法ですが、
PHPでどういう処理をおこなっているのでしょうか?
Flickrに写真の色で検索するAPIの提供はないので、そのやり方が独自のエンジンを使っているようですが、
内部的にどうやっているのか。判りません。
http://color.slightlyblue.com/
758 :
nobodyさん :2010/10/05(火) 18:52:29 ID:vy8xoNvz
>>755 写真をバイナリで読み込んで一番多い色を検索するタグとしているのでは?
Cでモジュール組んでるんだろ
画像ファイルを1px x 1px に縮小して色取得したら簡単そうだな
ヒストグラムでググレ
762 :
nobodyさん :2010/10/05(火) 22:45:55 ID:QKUq9nFZ
PHPをカスタマイズしたいのですが、何言語で作られてるのですか?
カスタマイズしたいやつが公式も見ないなんて話にならん ソースダウンロードして自分で見極めろや
764 :
nobodyさん :2010/10/05(火) 23:19:05 ID:+k5K8KaF
名前空間について質問です。 名前空間の必要性は、クラス名が衝突したときのため。 ということでよいのでしょうか? クラス名が衝突するなら名前変えればいいのに・・・とも思うのですが、 多人数開発ではそうもいかないと言うことなのでしょうか? では、名前空間かつクラス名が衝突したらどうすれば?とも考えてしまいます。
そうだよ 名前空間がかぶるならかぶらないように修正するしかないんだよ
そのへんの話題はプログラム板のほうがいいな
>>764 いいよ
>では、名前空間かつクラス名が衝突したらどうすれば?とも考えてしまいます。
名前空間は住所を記述するようなものなので普通衝突しえない
引越して先の住所に人が住み着いたら変更になるが
インターネット上で表すとドメイン名がそれに当たる
768 :
nobodyさん :2010/10/06(水) 01:59:54 ID:ch9fVyH1
769 :
nobodyさん :2010/10/06(水) 05:42:32 ID:pLXTowtb
大量のリンク切れチェックを自動で行うときに、 相手への負荷を極力さけるには、どのような方法がよいのでしょうか? ・get_headersを使う ・PEAR:HTTP_RequestでHEADリクエスト ・その他 get_headersって、内部的にはHEADリクエストしているんでしょうか? わかる方がいましたら、よろしくお願いします。
cURLでHEADリクエストしたことあったな もし使えるなら便利だからおすすめ PEAR使うよりはいいと思う >get_headersって、内部的にはHEADリクエストしているんでしょうか? テスト環境で試してみた Apacheのaccess.log見たらGETリクエストが来てるようだ
771 :
769 :2010/10/06(水) 06:37:09 ID:pLXTowtb
そういえばcURLもありましたね。 CURLOPT_NOBODYをtrueにしておけば、HEADリクエストになるみたいですね。 なんといっても、allow_url_fopenがOffでもいけるのがいいですね。 (get_headersはたしかダメだったはず) >>テスト環境で試してみた Apacheのaccess.log見たらGETリクエストが来てるようだ わざわざありがとうございます。 ヘッダ取得用の関数なのに、なんでGETリクエストなんだろう・・・
772 :
nobodyさん :2010/10/06(水) 09:27:40 ID:qEiRZ2w4
GDで生成した画像をbase64エンコードしてmemcacheにぶち込むってできないかな? やろうとしたら型がリソース型なのでエンコードできないエラーが出た リソースから画像バイナリを取り出す方法が調べてもわかりません、どうすれば良いのでしょう?
>>758 756です
写真をバイナリで読み込んでるってことですが、
Flickrの写真を全部読み込んでいるというのは考えにくいので、
まず赤ならタグでredで検索した上で、
その結果の中から赤じゃない写真を排除してるんとかでしょうか
Flickrの公式API以外の検索というのはできないとおもうんですが、
あくまでも、APIを一回経由して取得した画像群にヒストグラムなりでふるいをかけるというやりかただと思うんですがどうでしょうか?
774 :
nobodyさん :2010/10/06(水) 12:00:57 ID:G1zo7uLE
iPhoneの3Gと4Gで表示領域が異なるので作りわけしたいんですが UAだけだとiOS4にした3Gなんかの区別が出来ません。 3Gと4Gを区別する方法はあるんでしょうか?
IPで国名を判別したい。 どうすればいい?
ggrks
777 :
nobodyさん :2010/10/06(水) 16:01:30 ID:XjVBnQmy
>>772 ob_start();
imagejpeg($thumb);
$buffer = ob_get_flush();
$memcache->add('img_'.$_GET["item_no"],$buffer);
こんな感じ?
バイナリそのまま入れても大丈夫なのかは不明
手元ではどうも動いてるっぽいが・・・
778 :
nobodyさん :2010/10/06(水) 20:26:06 ID:3KpUSNpe
オライリの集合知プログラミングの本読んでるんだが pythonで書かれてるのと、文章が読みづらいのと、俺が頭悪いのと・・・ 都内、神奈川の喫茶店で一緒に勉強してくれる方募集したいんですけど python→phpへプログラムの移植作業手伝ってくれる方誰かいない? モチベーション維持が大変^^
いくらで?
780 :
nobodyさん :2010/10/06(水) 20:45:04 ID:3KpUSNpe
>779 お茶代ぐらいは出しますよ^^ メールアカウント用意しました。 プログラマとしてコントローラ→アクション→ヴューの流れに嫌気が刺し なにかもう一つプログラマとして違うレイヤーにチャレンジしたい 数学の知識がプログラマとして足りないと分かっているけど、腰が重い方 メールください →2chreadingbooks@gmail.***
>>774 最悪iPhoneユーザに選択してもらう画面を作る
PHPと全く関係ないで
もしSBのHPに技術情報がのってなかったなら
モバイル関係のスレで聞いてみな
移植作業手伝うのに自分の都合のいいボランティア募集するとかwww しかも募集条件が俺が教えてやるよ的な詐欺条件www どうせ実際はお前の質問攻めになるんだろ? マジレスするとモチベ維持に他人の目が欲しいならニコ生放送がいいぞ
783 :
nobodyさん :2010/10/06(水) 21:03:54 ID:3KpUSNpe
>>773 最初に写真共有サイトから写真の中間色?みたいなのを取得し
写真を特定できるIDを色データと共にデータベースに突っ込でるのかもね
ユーザはUIを元に色を指定
データベースからその色と近いデータを取得
ActionScriptならgetPixcelsで1ピクセルずつ色を取得できる関数みたいなのが
あって写真の左上から右下までのピクセルごとの色をループで取得できるから
flexSDKでもインストールしてみたら面白いかもよ^^
ActionScript getPixcel でググると情報いっぱい出てくるから
>>778 変換作業でお茶代程度かよwwwwwwwwwwwwwwwwwwww
まぁニコ生でいいな もの好きがたまに来ると思う
この分野でお茶しながら作業しませんかはもっと別の意味があるんだけどな
ははーん、さてはトイレに連れ込むんですね?
788 :
山下太郎 :2010/10/06(水) 21:51:51 ID:???
どんな意味?w
SEPG経験したらわかるようになるよw
SEPCですが何か? 社内研究はあるがカンファレンスとかいかないしな 支援にいくことはあるがそういうとこは技術職いないから黙々と作業するだけ 外部の人間との交流なんて自分で足運ばない限りない よってSEPG経験したからといって馴れ合いのルールなんてわからんよ
PGがPCになっとる
とりあえず
>>788 に答えてみれや
792 :
山下太郎 :2010/10/06(水) 22:05:43 ID:???
うぇうぅえぇうぇうぇうえぇうえええええええええええええwwwwwwwwwwwwwwwwwwwwwwww
こんな2chの底辺の屑どもがそんなこと理解できるわけないって
おいおい・・・答えられないからって自演かよみっともないぞ まだ答えすらないのに何が理解できるわけないだよ 笑わすなって
他でやれよ
796 :
nobodyさん :2010/10/06(水) 22:54:34 ID:3JzDp8Ba
そうですか
>>796 端末ID、かんたんログインという単語が出てきた時点でもうだめだろw
800 :
nobodyさん :2010/10/06(水) 23:41:01 ID:L1X+4oQt
>>777 dです
バイナリそのままで大丈夫でした
801 :
nobodyさん :2010/10/06(水) 23:50:08 ID:3JzDp8Ba
ひどいいわれよう
IPアドレス制限+端末IDで穴を全部塞いだ気になってる携帯web屋がほとんど・・・ 正直このスレより質が低いと思うw
ぶちゃっけどうでもいい感じ。 どのサイトも穴だらけでその携帯の部分だけ躍起になってるのが 滑稽に見えて仕方が無い。
ぶちゃっけ
ぶちゅぅ
ぶちゅっけ
このスレキチガイ覆いね
今頃気づいたのかね
覆いね
810 :
nobodyさん :2010/10/07(木) 14:27:39 ID:bfwxS3EJ
質問なのですが php5.3.3をインストールしようとしたところ下記のエラーが出てしまうのですが 解決方法はありますか? Apache2.2はインストールしてあります Error trying access httpd.conf file. You will need to manually configure the web server OS:VISTA Home Premium
812 :
810 :2010/10/07(木) 14:47:07 ID:bfwxS3EJ
>>811 さん
返信ありがとうございます、解決できました。
Apacheの設定ファイルがある場所の指定が間違っていたようです
簡単なミスでした、お手数おかけしました。
PHP(笑)って言われたときどうしてる? 専門C++です^^ っていうの?
スルーする
webサイト作るのにC++が必要なのかと 道具は要所で使うことに意味がある
すみません。 お蔭様でもうほぼ完成したんですが、どうしても解決しない所がありまして質問させてください。 $dbh = new PDO($dsn, $user, $password); $dbh->query('SET NAMES utf8'); $sql = "select * from `user` where `id` = ? AND `pass` = ?"; $query = $dbh->prepare($sql); $result = $query->execute(array($id,$pass)); $res = $result->fetchAll(PDO::FETCH_ASSOC); ログインの部分で上のように記述すると Fatal error: Call to a member function fetchAll() on a non-object in C:\xampp\htdocs\osusume\login_2.php on line 50 と出てしまいます。 $sqlを "select * from `user` where `id` = \"{$id}\" AND `pass` = \"{$pass}\""; のように書くとログイン可能なんですが、これだと脆弱性が残る気がして不安です。 ちなみに$idと$passの箇所は $id = htmlspecialchars($_POST[id],ENT_QUOTES); $pass = htmlspecialchars($_POST[pass],ENT_QUOTES); のように受け取っています。 何が駄目でエラーになってしまうのでしょうか?
817 :
nobodyさん :2010/10/07(木) 22:42:28 ID:cS3lZo05
IDを出し忘れていました。
>>816 何を見て作ったのか知らないがhtmlspecialcharsをエスケープ替わりにするな
htmlspecialcharsで解説しているもので勉強したならそいつを今すぐ捨てろ
>>816 htmlspecialcharsはその名のとおりHTML出力用ね。
SQL用のエスケープはMySQLならmysql_real_escape_string
`id` = ? AND `pass` = ?
だと引用された$id,$passがクオートされていないのでSQLエラーになってるんじゃないかな。
`id` = \"{$id}\" AND `pass` = \"{$pass}\"
で問題ないんじゃね?
間違った。 $id='"'.mysql_real_escape_string ($_POST[id],).'"' とかか。
821 :
nobodyさん :2010/10/07(木) 23:13:46 ID:54RcKHkS
`id`=". mysql_real_escape_string( $id ) ." AND `pass`=". mysql_real_escape_string( $pass ) ."
822 :
nobodyさん :2010/10/07(木) 23:21:25 ID:cS3lZo05
できました…全くお恥ずかしい限り。 ありがとうございます。
>>820 乞食と物乞いの区別が付かないのが、チョウセンヒトモドキ
なんのためにPDO使ってるんだろうな もっとマニュアルちゃんと読めば正しいエスケープ方法も書いてるでしょうに ましてやプリペアードステートメントまで使ってるのに
PDO使ってるのにmysql_real_escape_stringを使う人初めて見た
826 :
nobodyさん :2010/10/08(金) 11:31:27 ID:gdsV0D6r
PDO使うときってエスケープはどうやるのですか?
prepare使えば勝手にエスケープされるだろ
>>827 その教え方だと危険。プレースホルダ使えというべき。
プレースホルダ使わないでデータ埋め込みでSQL文作って
prepareする奴いるから!!(笑)
考え方というか、単に言い方だな さすがにプレースホルダ使わずprepare使うアホがいるとは想像してなかったんだろう
したり顔で教えながらPDOでmysql_real_escape_stringって・・・
832 :
nobodyさん :2010/10/08(金) 13:01:04 ID:gdsV0D6r
prepareってなんですか?
>>816 >$query = $dbh->prepare($sql);
>$result = $query->execute(array($id,$pass));
>$res = $result->fetchAll(PDO::FETCH_ASSOC);
ここおかしくね?
$resultにfetchAllなんてあるわけない
$query->fetchAllだろ
>>832 816に書いてあるようなやり方
834 :
nobodyさん :2010/10/08(金) 15:00:00 ID:puBZJtRM
RSSリーダーを自力で作ってるんだけど
ブログ名を取得する方法教えてください
タイトルとかurlとか時間は取得できるみたいなんだけどブログ名は無理なのかな?
↓ソースの一部
foreach ($rss->item as $item) {
$dc = $item->children('
http://purl.org/dc/elements/1.1/ ');
$link = $item->link;
$title = $item->title;
$date = $dc->date;
$desc =$item->description;
サイトの宣伝ご苦労様です
>>829 考え方っていってないのになんで考え方というかっていったの???
837 :
nobodyさん :2010/10/08(金) 15:54:18 ID:puBZJtRM
838 :
nobodyさん :2010/10/08(金) 16:00:48 ID:rSpcfsYf
イチゴケーキを作ってるんですが、 バナナケーキは出来ないですかね。 ↓イチゴケーキのおいしさ ほのかに香るいちごのあまずっぱさ プチプチとイチゴの小さな種の食感も最高 ------------------------------------------------- 何いってるかわかんねwww
839 :
nobodyさん :2010/10/08(金) 16:05:04 ID:puBZJtRM
分かりやすく書き直します。 phpでrssからブログタイトルを取得する方法を教えてください
840 :
nobodyさん :2010/10/08(金) 17:01:55 ID:rSpcfsYf
rssってのには必ずブログタイトルが入ってるのが仕様なのか?
>>834 その形だと$rss->channel->titleとかでしょ。
XMLの構造見てお目当てのを探せばいいだけ。
RSSのバージョンによって構造が違うので幸運を。
842 :
nobodyさん :2010/10/08(金) 17:26:49 ID:puBZJtRM
PDOでmysql_real_escape_string使っていけませんか。
使っていけないということはないが普通使わない 使う必要性もないしむしろ使ったらPDO使ってる意味がない 特定のドライバにこだわらずどのRDBでも使えることを想定してるのに わざわざドライバ固有の関数使うってどうなのよって話
ではどうすればいいのですか。
>>845 >>1 ていうか前の方にさんざん書いてるだろ・・・
プリペアードステートメント使えって
せっかく本家でマニュアルが整備されているのにそれを読まない人が居るんだね
$pdo = new PDO(略); $res = $pdo->prepare("INSERT INTO hoge(foo, bar) VALUES (:foo, :bar)"); $res->bindValue(":foo", $_POST['foo']); $res->bindValue(":bar", $_POST['bar']); $res->execute(); ↓のようなことはする必要がないの $res->bindValue(":foo", mysql_real_escape_string($_POST['foo']);
ふーん。ところでPDOって日本語を正しく扱えないってホント?
ゆとり量産スレときいて
多次元配列でキーが同じものだけをソートする方法を教えてください、 以下の例で、「[num] => 3」 が3つあり、それを逆順にソートしたいです。 ソート関数の使い方はわかります。多次元配列の扱い方がわかりません。 Array ( [0] => Array ( [num] => 1 [body] => aaa ) [1] => Array ( [num] => 2 [body] => bbb ) [2] => Array ( [num] => 3 [body] => eee ) [3] => Array ( [num] => 3 [body] => ddd ) [4] => Array ( [num] => 3 [body] => ccc ) )
ヒント array[0][num]=1 array[1][num]=2 array[2][num]=3
854 :
nobodyさん :2010/10/09(土) 10:29:04 ID:Cr7uTEHe
windowsです PHP5.3.3使ってます MysqldeでPDOを使いたいんですけど php_pdo.dllが入ってないんですけど どこでphp_pdl.dllをダウンロードするのですか?
856 :
nobodyさん :2010/10/09(土) 11:22:45 ID:Cr7uTEHe
PHP5.3にはphp_dlo.dllがはいらなくたったけぢ php.iniでextension=php_pdo.dllは書いたほうがいいですか?
このステップは不要って書いてるんだからいらないってことだろ いちいち聞かんとわからんのか?
858 :
nobodyさん :2010/10/09(土) 12:12:44 ID:Cr7uTEHe
PDOって便利だね
mysql_real_escape_stringでググレ
小っちゃいって事は便利だね
861 :
nobodyさん :2010/10/10(日) 00:05:53 ID:ouOWFWUJ
Googleで特定サイトの(画面上から入力されたURL)ページランクを 調べるにはどうすれば良いでしょうか?
Googleに聞いてください
mysql_real_escape_stringでググレ
昨日からPDOの使い方がわからなくて発狂してるのがいるなw
Google板ができてたね。
867 :
nobodyさん :2010/10/10(日) 12:52:11 ID:3r76ILk1
現在時刻から一ヵ月後の時刻を取得するのはどうやるのでしょうか?
1ヶ月後の基準がわからん
来月の同じ日ってことでどうや?
1/30の1ヶ月後は2/30ですねわかります
871 :
nobodyさん :2010/10/10(日) 13:14:38 ID:sl1VHVin
現在時刻の一ヶ月後の時刻って、現在時刻と一緒だろ
この世界の時刻ってのはunixタイムとかのことだろ
>>867 strtotime("next month") でどぞ。
875 :
nobodyさん :2010/10/10(日) 17:06:50 ID:vFML8UIU
フォームに他サイトのアドレスを入力する
↓
そのページの特定の文字列を正規表現で取得(+できれば画像も)
↓
取得したデータを整形して表示
こんか感じの動作をPHPで実現できませんか?
イメージとしてはにこサウンド(
http://nicosound.anyap.info/ )
のように、フォームからアドレスだけ入力→整形データ表示
とできるようにしたいのです。
ですが他のページからデータを抽出する方法が
(あるのかどうかすら)わかりません。
もし似たようなシステムを組んだことがある方、
どうかご教授をお願いします。
>>875 file_get_contentsで読め
877 :
nobodyさん :2010/10/10(日) 19:44:33 ID:R6wxDE8S
公共のサイトに定期的にPHPでアクセスして文字列を取得するのはダメですか?
mysql_real_escape_stringでググレ
困ったらとにかくpreg_matchかpreg_replaceを使っとけば解決する
881 :
nobodyさん :2010/10/10(日) 20:54:27 ID:lA2cYk+u
TwitterAPIの仕様について知りたいんだけど、どこで聞けばいいかわからずここにします。 SearchAPIでURL検索するとき、短縮URLの書き込みも展開後のものを対象に検索してくれるんでしょうか? ググったらbacktweet?backtype?そういうの使うって記事がいっぱいあるけど、 でもSearchAPIでurl検索かけるとbit.lyとかow.lyとか展開後のURLが検索対象になってる気がする この辺詳しく書いてあるところないですか? TwitterAPIの仕様書にも目を通してるんですが短縮URLに関する言及が一切なくて困ってます。 わかる方助けてください。 最適なスレがあれば誘導してもらえると嬉しかったりします。
>>881 圧縮されたURLもヒットする、内部の処理の仕方なので仕様には乗らないとおもう
883 :
nobodyさん :2010/10/10(日) 21:09:06 ID:lA2cYk+u
ありがとうございます。 全URLを一旦チェックし、リダイレクトされるものはリダイレクト後のURLを保存してある という仕様が考えられますが、それだとUAによって違ったURLに飛ばされるようなURLだった時に厄介な気がします 従いまして、短縮URLサービスのリストを持っていて、該当するURLの場合は展開しているのではないかと思うのですが、 だとしたら仕様に乗らないのはおかしいなと思っておりました。 なにはともあれ私以外の方から、明確に「圧縮されたURLもヒットする」というお言葉をいただけたので backtypeといった外部サービスを利用せず、公式検索APIを使って開発したいと思います。 どうもありがとうございました。
>>883 bit.lyとかAmazonのamzn.toとか、Pixivのp.tlとかはtwitterで展開されるのを確認してるけど
個人で作ったものまではやってみたことが無いので気を付けて
それでもほとんどの短縮URLは検索できるから問題ないが
885 :
nobodyさん :2010/10/11(月) 00:58:16 ID:BmMGNfcc
PHPにはC++のような関数の多重定義は実装されていません。 そこでデフォルト引数の機能を使って擬似的に関数の多重定義を実現してみました ↓ function hoge ($a, $b = 0) { if ($b === 0) { // hoge($a) が指定されたことにする } ・・・ } このような実装にすれば hoge("ahya"); hoge("ahya", "hoge"); のように擬似的に関数の多重定義を実現できると思うのですがこのやり方はありでしょうか? もっとスマートな方法があるようでしたら教えてください。
オーバーライドのことかね?
>>885 $b = null
の方がいいと思う.
可変引数とかあったろ
>>885 引数によって処理を変えてるだけだから多重定義と呼べるかどうか。
目的によってはオーバーライドのほうがスマートかも知れん。
890 :
nobodyさん :2010/10/11(月) 07:24:03 ID:C9wk+ULb
PHPで、arrayにある値があったら取り出して元のarrayから消すという操作を 1文でできる関数ないでしょうか 例 $list1 = array('aaa', 'bbb', 'ccc'); $list2 = some_func('bbb', $list1); 結果 list1 = ('aaa','ccc') list2 = ('bbb')
ないから作ってください
892 :
nobodyさん :2010/10/11(月) 08:00:33 ID:VsEhTdxo
適切なスレを見つけることができなかったので、こちらで相談させてください
pixivチャット(
http://chat.pixiv.net/ )と言うphpで構成されたサイトがあるのですが、
そこでamfファイルというものが扱われています
このamfファイルというものがよくわかりません
phpとamfファイルはどのような関係なのでしょうか?
また、質問に対して他に適切なスレをご存知でしたら
誘導していただければとても助かります
よろしくお願いします
894 :
623 :2010/10/11(月) 10:10:47 ID:???
ifの使い方って基本的にはこうだと思うんですが if (true) { echo $a; } else { echo $b; } オープンソースなどのコードを読んでると、 同じ動作をこんなふうに書いていることがあります if (true) { echo $a; break; } echo $b; この書き方をすると、どんないいことがあるのでしょうか。 前者と後者でどう使い分ければいいのか、教えてください。
良い事も悪いこともねえよ 自分のコーディングスタイルでやればいい
んなあほな 構文からしておかしいじゃん if-else文にbreakなんて使えない
ヒント:ループの中
>>897 バカはもう一度基本文法からやり直して来い
ループでもないんじゃないの
だって上の場合ループ毎に必ず$aか$bのどちらかが出力されて
下は一致して$aが出力されたあとに$bが出力されじゃん
だいたいcontinueならともかくbreak使ってたら上と違って全て回りきらないよ
ようするに
>>895 の2通りの書き方はどうみても違う結果が出る
901 :
900 :2010/10/11(月) 11:46:33 ID:???
あぁすまない >下は一致して$aが出力されたあとに$bが出力されじゃん これ嘘 $bは出力されないね
言いたい事をちゃんとまとめて
>>902 ループ中で
if (true) {
echo $a;
} else {
echo $b;
}
if (true) {
echo $a;
continue;
}
echo $b;
じゃないと同じ動作にならない
変に深読みしすぎでは?
上と下が同じ動作とか誰も書いてないわけだし
>>895 さんは、単にこういう書き方どうなのって聞きたいだけでしょ
$i = 1; $j = 1; while (1 == $i){ if (1 == $j) { echo $a; break; } echo $b; $i++; }
>オープンソースなどのコードを読んでると、 >同じ動作をこんなふうに書いていることがあります
まぁ細かいこと抜きにして答えは
>>896 で出てるんだけどね
909 :
nobodyさん :2010/10/11(月) 13:08:47 ID:STo2MEV2
O/RとかORMって言葉をフレームワークとかで見かけますがこれは何ですか?
きみ の ぱそこん に ぐーぐる は ついていないのかい?
説明できない奴に限ってこういうレス
>>903 条件が見つかった段階でループをやめたい時などはbreak使ったりするよ
>>911 「○○」って何ですか?て質問は最も無駄な質問のうちの一つ
if文の式にtrueとか書いてるから問題になってるのでは?
if (condition) と同じ意味で書いたことぐらいは察してやれよ
916 :
山下太郎 :2010/10/11(月) 15:10:51 ID:???
野球やろうぜ!
918 :
nobodyさん :2010/10/11(月) 15:13:05 ID:OkdHn3lD
PHPフレームワークでの開発業務経験半年以上、仕様定義・DB設計スキル これって具体的にどんなことするんでうsか
921 :
nobodyさん :2010/10/11(月) 15:16:41 ID:OkdHn3lD
業界未経験なので仕様定義とかDB設計っという用語は使ったことないのですが 会社に入るまで気にしなくていいですかね?
SEの募集要件じゃん プログラムの設計をするお仕事です
924 :
nobodyさん :2010/10/11(月) 15:22:18 ID:OkdHn3lD
seですか apache+php+mysql+linuxを覚えれば30歳でも就職できますかね?
>>921 >PHPフレームワークでの開発業務経験半年以上
って所に未経験で行くの?
未経験でSEは無理だろ 設計できないのにできますっていっちゃあかん プログラマーの募集要件に設計求めるのはブラック会社だから注意
事前知識も0みたいだしやめといたほうが
>>924 プログラマーなら未経験でも平気だよ
でも最近は不況で社内育成とかしてる余裕ないから即戦力が欲しい
だからプログラマー募集といいつつ要件きつくしてるとこもある
嘘偽りのない自分にあった要件のとこさがすといいよ
プログラマーは30歳定年というけどそれはプログラマーのままだと
給料が割に合わなくなるからで(プログラマーは楽で給料が安い)
後進に枠譲ってSEになっていく運命
SEはプログラマー5年もやってればそういう知識が身につくでしょう
安いの我慢して若い子たちの中でプライド捨ててやる勇気があれば
30からプログラマーでも全然OK
DBは経験がものを言う 経験浅いやつが設計したDBにまともなものはない
建築未経験のヤツが大工になるのはヨシ、でもいきなり図面書き始めるのはナシ
関数の引数の省略を許可しないことはできますか?
省略しないようにプログラマに念を押すことで可能
933 :
nobodyさん :2010/10/11(月) 16:18:40 ID:OkdHn3lD
先生方のお力でぼくを一人前に鍛え上げてくれませんか?
まずは廊下を雑巾がけしてくれ
935 :
931 :2010/10/11(月) 16:59:17 ID:???
>>932 ありがとうございます。
無理なんですか。
どの場面で誰が引数の省略をするとかしないって話なんだ
function test($a = false){ if (false == $a) die("error"); echo $a,"\n"; } $t = "test"; test($t); echo "-----\n"; $v = ""; test($v);
いえ、そういうのじゃなくて、print関数の引数なんですが。
>>938 可変引数ならfunc_num_argsとfunc_get_argsで出来る
例えばの話です。
じゃあ最初から言えよ後だし野郎
じゃあ最初から言います。 関数の引数の省略を許可しないことはできますか?例えばprint関数
944 :
nobodyさん :2010/10/12(火) 00:13:56 ID:NImtwDmY
function func( $arg0, $arg1 ){ // do something ... } $ar = array( 1, 2 ); とあるときに、 func( $ar[0], $ar[1] ); とせずに、 func( hoge($ar) ); とできる hoge( ) のような関数はありませんか?
func($ar); で動くようにすればいいのでは?
>>944 call_user_func_array()
モジュールに汎用性もたせようとしたけど引数書くのめんどくさくなったクチだなw $arg0が配列の時に展開する処理を書き加えるくらいしかないかね
じゃあ最初から言えよ後だし野郎
例えばの話です。
ID無しはスルーでいいという好例だな
じゃあ最初から言えよ後だし野郎
あんま荒らすなよチンピラ 語彙が少ないからバレバレだ mysql_real_escape_stringでググレって粘着してたのもお前だろ?
チンピラのせいにしてる人が荒らしてるんだろうな
なぜかチンピラ叩くといつも同じような擁護がマッハで沸くよね 自分のことじゃないならスルーすればいいのに
ここ誰かを標的にして叩くスレじゃないよ他行ってね
ならくだらん荒らししないでね チンピラじゃないって言い張るなら チンピラのせいにされたくないのなら チンピラのためにも黙ってるのが一番ですよ
ツマンネ
そういやもう年末か、、日が経つのはやいなあ
確かに第三四半期だが、「年末」とはまだ言い難いだろw
じゃあ最初から言えよ後だし野郎
たとえばの話です
てすと
レス番飛びまくり
スレ番飛びまくり
自覚のない嵐パネェっす
phpでクライアントPCの識別をしたいと考えています MACアドレスでできるかな?と考えていましたが取得が難しいようでした 各PCを識別する一般的な方法などあるのでしょうか?
968 :
967 :2010/10/12(火) 22:58:16 ID:???
スレ間違えました
969 :
EM114-48-18-102.pool.e-mobile.ne.jp :2010/10/12(火) 23:23:41 ID:yhWOtHC1
毎日ここに書き込みしてると思うなバカこっちは納期で忙しいんだ
970 :
967 :2010/10/12(火) 23:41:44 ID:5BhqBxZb
すいませんスレチだったでしょうか
んな出来るわけないだろ・・・ 出来たら問題だろうが・・・
>>970 MACアドレスはPHPでは取得できないが、javascript等を使えば可能と聞いたことがある。
でもLANカードなどのアダプタを変えると変わっちゃうし、ユーザーが任意に変更できる物もあるので
クライアントPCの識別には使えないと思う。
JavascriptとJScriptと勘違いしてるだろ生半端な知識で可能とか言うなよ
975 :
967 :2010/10/13(水) 02:54:04 ID:jAC530j0
>>971-974 ありがとうございます。
できなそうですね
みなさんは同じ人がアクセスしてきたのをどうやって調べているんでしょうか?
cookieなどでしょうか?
976 :
nobodyさん :2010/10/13(水) 03:21:18 ID:iLtV/Ten
まずはどの人からアクセスしてきたかを調べる のは基本logとか見ればわかるけど、詳細なことまでは わからない。 ただ限定の人だけにみてほしい場合はパスワードを つけたりすることはできるし、ここからの人から はみてほしくないとかはIPアドレスなどではじくことは できる。 と自分は認識している。
大抵IPとクッキーだろ・・・ 会員制にしてクレカ登録されるって手もある
「同じ人」ってことは他のPCや外出先からのアクセスも含むわけだから IPやcookieじゃ無理だろ。
どっちみち何しても完全な識別は無理でしょう 会員制にして名乗ってもらうしかない
識別単位を「人」にするのは無理、アクセスするのはあくまでもブラウザ
UAなんて簡単に偽装できるが
「ブラウザ」に意思は無いのでアクセスするのはあくまで「人」
無料でPHPが利用できるサーバを探しているのですが、 アットページズってどうだと思いますか? それかほかにいいサーバがあれば教えて下さい。
田舎にあるレンタルサーバがいいよ!
>>973 の書き込みを見て思った事は回答者のレベルが低すぎる
だからPHPは(笑)って見下されるんだね
F5連打してるからレスしろって事か
他の言語より入り口が広いから質が悪いのは仕方ないのさ
たかが1レスで質とかマジで言ってるのかね? ここはPHPが大嫌いな俺がこのスレだけで20回以上 過去スレ含めれば100回以上も恣意的なレスしてるスレなんだぜ?
PHPは出来の悪い言語だからレベル高い人は使いたがらないんだよねww 残るのは出来の悪さにも気がつかないレベルの人と、いやいや使ってる レベル高い人だからまともな回答が期待できるはずがない
じゃレベル高い人は何を使うのですか?
python
そんな廃れた言語レベルが高くてもやりません
python触れるならLinuxも自分でコマンド書いたりできるんだろう
とりあえず知ってる単語並べて意味不明な作文するのはやめて下さい
perlだろ
995 無知は黙って他方がいいよ
めんどいがスレ立ててくるから誘導用に残しといてくれ
1000 :
nobodyさん :2010/10/13(水) 12:06:33 ID:iLtV/Ten
1000
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。