【PHP】下らねぇ質問はID出して書き込みやがれ 118
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2012/04/24(火) 01:29:22.24ID:yStuoiA/過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 117
http://kohada.2ch.net/test/read.cgi/php/1332346244/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 他言語について言及しないこと(特にJavaは禁句)。PHPオンリーの回答者が不快になります。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0449nobodyさん
2012/05/06(日) 00:17:36.79ID:???0451nobodyさん
2012/05/06(日) 01:14:38.88ID:???0453nobodyさん
2012/05/06(日) 02:19:34.45ID:???0455nobodyさん
2012/05/06(日) 04:10:16.83ID:VxW1PHuo【PHPのバージョン】5.3
【質問内容】
下記のように、
�@の画面で「診断する」を押すと�Aの画面に移り、�Aの画面で診断結果と「この結果を書きこむ」ボタンが現れます。
「この結果を書きこむ」を押すと、結果がテキストファイルに書きこまれる仕組みになっております。
�@
<form action="index.php" method="post" id="abcd" name="abcd">
<input type='hidden' name='ketueki' value='B'>
<input type='hidden' name='seiza' value='tenbin'>
<input type="submit" value="診断する">
</form>
�A
血液型B 天秤座の人は、大吉です。
<form action="post.php" method="post" id="abcd" name="abcd">
<input type='hidden' name='kekka' value='daikichi'>
<input type="submit" value="この結果を書きこむ">
</form>
これを�@の画面で「診断する」を押したら、�Aの「この結果を書きこむ」を押さずに自動で行われるようにするにはどのようにしたらよいでしょうか?
0457nobodyさん
2012/05/06(日) 10:30:37.34ID:???$a = $b || $c || $d;
だったかな、うる覚えなんだけど
$bがnullだったら$cを、$cがnullだったら$dを代入する
みたいな書き方があったとおもうんだけど
phpの場合はそれができないみたいなので
変わりの関数作るしかないですか?
0458nobodyさん
2012/05/06(日) 10:35:56.29ID:???0460nobodyさん
2012/05/06(日) 10:53:27.17ID:OMLj8porPOSTで何かを同時に送信するということでしょうか?
やってみます
0461nobodyさん
2012/05/06(日) 11:16:24.13ID:???0462nobodyさん
2012/05/06(日) 11:30:19.75ID:???$a = array( 1, 2 );
hoge(???); // ← hoge(1,2)のように渡したい
それと、>>457の質問についてもよろしくおねがいします
0463nobodyさん
2012/05/06(日) 11:41:29.08ID:???でいけました(゚∀゚)
>>457についてもよろしくおねがいします
0464nobodyさん
2012/05/06(日) 11:42:02.44ID:???0466nobodyさん
2012/05/06(日) 12:04:09.81ID:3sR+y7HR0468nobodyさん
2012/05/06(日) 12:21:07.20ID:???elseifを三項演算子で書くとスパゲティになるから好ましくないけどな。
0470nobodyさん
2012/05/06(日) 12:31:55.16ID:???0471nobodyさん
2012/05/06(日) 12:33:10.03ID:???0473nobodyさん
2012/05/06(日) 14:36:11.63ID:???CやJavaすらphpで書かれている。
0474nobodyさん
2012/05/06(日) 14:41:10.41ID:???0475nobodyさん
2012/05/06(日) 14:41:34.21ID:???0477nobodyさん
2012/05/06(日) 15:06:36.90ID:???0478nobodyさん
2012/05/06(日) 15:08:11.42ID:???C/C++はphpで実装されている。
ということは君がいうHSPもJavaScriptもBASICもphpだと言える。
0479nobodyさん
2012/05/06(日) 15:09:53.93ID:???0480nobodyさん
2012/05/06(日) 15:10:39.86ID:???0481nobodyさん
2012/05/06(日) 15:19:42.20ID:???納得
0484nobodyさん
2012/05/06(日) 16:38:01.97ID:???0486nobodyさん
2012/05/06(日) 16:51:40.56ID:???0488nobodyさん
2012/05/06(日) 20:50:59.16ID:???0489nobodyさん
2012/05/06(日) 20:55:41.95ID:???0490nobodyさん
2012/05/06(日) 20:56:19.81ID:???0491nobodyさん
2012/05/06(日) 21:13:22.75ID:???0492nobodyさん
2012/05/06(日) 21:24:25.30ID:???そんなに好きか?
0494nobodyさん
2012/05/06(日) 21:42:32.19ID:???167 名前:login:Penguin [sage]: 2012/05/06(日) 18:47:45.35 ID:Rggfwwak
PHP 5.3.12とPHP 5.4.2、脆弱性が完全には修正されていないことが判明 | スラッシュドット・ジャパン デベロッパー
http://developers.slashdot.jp/story/12/05/06/0738246/
0495nobodyさん
2012/05/06(日) 21:59:46.47ID:1YjnP+mz【PHPのバージョン】5.3
【質問内容】
質問です。readdirを使ってローカルのディレクトリ内を調べたいのですが、
そのディレクトリがDigest認証が必要な場合はどのように認証を通過させればいいのでしょうか。
stream_context_create辺りを使って出来るかと思ったのですが、全然わかりませんでした。
認証を通過する方法を教えてください。
0498nobodyさん
2012/05/06(日) 22:20:05.30ID:1YjnP+mzそう言われれば、確かに。他の所で間違っていたのかもしれません。
きちんと動きました、ありがとうございます。
0499nobodyさん
2012/05/06(日) 23:34:06.84ID:???無意味に荒らしてるやつは俺に対する営業妨害だから猛省してチンコ切って下さい。
0501nobodyさん
2012/05/06(日) 23:56:16.98ID:???0502nobodyさん
2012/05/07(月) 00:04:26.72ID:???0503nobodyさん
2012/05/07(月) 00:35:22.00ID:S0FSS5pr$time_start = '00:00';
$time_end = '01:00';
$totime = date('H:i');
if ($time_start <= $totime && $time_end >= $totime) {
echo "OK";
}
みたいな事をしているのですが、これは正しいのでしょうか?
: が付いている状態でも一応比較されているのですが、
正しく比較されない場合があるのかな?と思い、質問しました。
0504nobodyさん
2012/05/07(月) 00:44:43.18ID:???strtotimeかDateTime使ったほうがいい
twitterのbot程度ならそれでもいいけど
0505nobodyさん
2012/05/07(月) 00:52:54.94ID:S0FSS5pr「アクセスした時間によって表示させるメッセージを変える」ってのを作ってまして、
DBに保存した値(time型)に対して比較させようとしているのですが、
>>503でも比較できるので、strtotimeとか使わなくても
特に問題ないのでは?と思っています。
503のやり方だと、特定の時間(あるいはPHPのバージョン違い)の場合、
正しく比較できないよって情報が知りたいのですが、そう言う事はあるのでしょうか?
0506nobodyさん
2012/05/07(月) 01:25:36.66ID:???あとは1時0分15秒がOKになるのを想定してるかどうかぐらい
0507nobodyさん
2012/05/07(月) 01:28:31.36ID:S0FSS5pr秒数までは考慮してないので大丈夫です。
特に問題無さそうで安心しました。ありがとうございました。
0508nobodyさん
2012/05/07(月) 03:04:58.53ID:???( �� 皿 ��) しゃきーん
( )
/│ 肉 │\ しゃきーん
< \___/ >
┃ ┃
= =
素数ゲットロボだよ
自動で素数ゲットしてくれるすごいやつだよ
0509nobodyさん
2012/05/07(月) 07:10:43.00ID:???phpでサイトのソースをとって来て表示するのとかあります
そういうphpの機能を使ってromれば足跡機能を回避できたりしますでしょか?
0512nobodyさん
2012/05/07(月) 11:55:49.63ID:OhIqO9TR下記コードでうまくいきません おかしな点があれば教えて頂けますでしょうか。
$hoge = "hoge000-000-0000";
$out = preg_split('/^0[0-9]{1,4}-[0-9]{1,4}-[0-9]{4}$/',$hoge);
var_dump($out);
出力結果
array(1) { [0]=> string(16) "hoge000-000-0000" }
0513nobodyさん
2012/05/07(月) 11:56:50.60ID:???1行目:特定のIDの書き込み状況をみる、必死ちぇっかーみたいなものを指しているの?
2行目:DATファイルから取得していると思います。プログラムのソースでは
ないと思います。
3行目:ロムってればIDも書き込まれないし、回避とやらがされるのではないでしょうか?
0514nobodyさん
2012/05/07(月) 12:55:20.63ID:???preg_match("/(0[0-9]{1,4}-[0-9]{1,4}-[0-9]{1,4})/",$hoge,$matched);
^と$の意味も勉強しなおすニダ
あと下四桁って固定的に3桁と4桁じゃなかったっけ?
0515nobodyさん
2012/05/07(月) 12:57:17.37ID:???0517nobodyさん
2012/05/07(月) 12:58:16.07ID:???も正しい電話番号
0518nobodyさん
2012/05/07(月) 14:43:36.98ID:???でも、ゴロがいいところで勝手に切っちゃってる場合もあるからなー
フリーダイヤルとかはフリーダムだし
0519nobodyさん
2012/05/07(月) 15:07:46.92ID:???とりあえず、>>514はかなり適当だが
それには合致しない。
もうちょい厳密にやるなら、最低でも10桁or11桁保証あたりかな??
0520nobodyさん
2012/05/07(月) 15:37:34.58ID:???参考までに
市外局番の一覧
ttp://www.soumu.go.jp/main_sosiki/joho_tsusin/top/tel_number/shigai_list.html
0521nobodyさん
2012/05/07(月) 15:45:39.82ID:???0523nobodyさん
2012/05/07(月) 19:30:09.82ID:???ノイズはないが電話番号がいくつか漏れる
の2択になると思うよ。
0524nobodyさん
2012/05/07(月) 19:33:22.90ID:???楽勝だ
0525nobodyさん
2012/05/07(月) 21:36:57.24ID:???()とか、区切り文字がないとかいろいろあったりしないの?
0526nobodyさん
2012/05/07(月) 22:00:09.08ID:???0527nobodyさん
2012/05/07(月) 22:06:00.69ID:???が多い。それで回答者が逆質問をしたり
悪口を言ったりする。それを前もって思
い描く力が絶望的に欠如してるに違いない。
スーパーハッカーだけが意図を理解できる。
レアなそういう神が颯爽と登場する予感。
0528nobodyさん
2012/05/07(月) 22:34:04.72ID:???0529nobodyさん
2012/05/07(月) 22:39:01.71ID:GqTs7bM6たぶん、[$j][$i]って連続しているところがだめな気がするんですが。。
<?php
for($j=0; $j<3; $j++){
?>
<?php
for($i=0; $i<4; $i++){
?>
<?echo $individual_details [$j][$i]["name"]; ?>
<?php
}
?>
<?php
}
?>
0530nobodyさん
2012/05/07(月) 22:52:49.40ID:???0531nobodyさん
2012/05/07(月) 22:58:50.79ID:???別にそのコード自体に問題はない
0532nobodyさん
2012/05/07(月) 23:03:26.25ID:GqTs7bM6二種類の番号で、DBからユニークな"name"が選び出されるんですけど、
上記のコードだと、
Notice: Undefined offset: 0 in C:\xampp\htdocs\opencourt\index.php on line 323
って出るんです。
[$j]を削除すると[$j]に入るべき数字は0と扱うようで、何らかの"name"は表示されます。
どうしたらよいでしょうか。
0533nobodyさん
2012/05/07(月) 23:12:20.95ID:???0534nobodyさん
2012/05/07(月) 23:21:04.10ID:GqTs7bM6id_01 id_02 name
が存在します。
DBの情報は下記コードで引っ張ってきています。
$sql = "SELECT * FROM DB";
$result = mysql_query($sql, $link) or die("クエリの送信に失敗しました。<br />SQL:".$sql);
$individual_details = array();
while($row = mysql_fetch_assoc($result)){
$individual_details[]=$row;
その状態で、[$j][$i]を用いて、特定の"name"を表示させたいのです。
よろしくお願いします。
0535nobodyさん
2012/05/07(月) 23:22:44.29ID:GqTs7bM6[$i]→id_02
としたいということです。
0536nobodyさん
2012/05/08(火) 00:32:32.26ID:???$individual_details [$j][$i]["name"]
ようするに
$individual_details [0][0]["name"]から$individual_details [2][3]["name"]があると想定して
ループ回してるわけだがそんな値ないですよってことだろ
エラーを出なくするだけならissetでチェックしてからechoすればいいが
根本的な解決したいならちゃんとどういう値が入ってるかデバッグして把握するべき
0538nobodyさん
2012/05/08(火) 00:57:23.06ID:kCiRkLDGDB見直して、不足している情報が確かにあったので埋めてみました。
が、だめでした。
思うに下記の、[$j][$i]のところを、例えば
[id_01=$j][id_02=$i]
のように、具体的に指定しなければいけない気がするのですが、
その方法がわかりません。。
<?echo $individual_details [$j][$i]["name"]; ?>
もし30分以内に解が出なければ、さすがにうざがられそうなので消えます。。
0541nobodyさん
2012/05/08(火) 01:50:45.44ID:???0542nobodyさん
2012/05/08(火) 02:56:35.58ID:???ループの前に
var_dump($individual_details);
exit();
してみれや
0543nobodyさん
2012/05/08(火) 03:07:44.73ID:???0544nobodyさん
2012/05/08(火) 06:27:12.46ID:???while($row = mysql_fetch_assoc($result)){
if (!is_set($individual_details[$row['id_01']]) $individual_details[$row['id_01']] = array();
$individual_details[$row['id_01']][$row['id_02]]=$row['name'];
ってする。
0545512
2012/05/08(火) 08:42:20.63ID:xzOVLEVdやりたいこととしては、POSTされたメッセージをhtmlspecilcharを通した文字列から
電話番号を切り出して、そこに携帯電話で発信用のリンクをはるタグを追記して元のメッセージに
戻したいのです。
なので、単純に抜き出すpreg_matchではなくspiltが良いのかなと思ったのですが。
>>514
勉強して、不要だとわかり削りました。
>>518
桁数については、メッセージを打ち込む人間が決まっており、住んでいる地域の番号および
携帯電話のみなので、シビアなチェックというよりは、多少ノイズが入ってもよいかと思っています。
preg_match_all('/0[0-9]{1,4}-[0-9]{1,4}-[0-9]{4}/s', $text, $out);
とりあえず上記で、$text内(改行あり文字列)から電話番号の文字列のみ配列に格納できましたが、
その前後の文字列も切り出して格納することができず悩んでいます
切り分けにはexplodeかと思ったのですが、正規表現は使えないようですし・・・
$out = preg_split('/0[0-9]{1,4}-[0-9]{1,4}-[0-9]{4}/s', $text);
これだと、電話番号が抜かれた文字列だけ配列に入ってしまいます
preg_splitとpreg_match_allの合わせ技でできそうな気もするのですが、もっとスマートな方法があれば・・・
0546nobodyさん
2012/05/08(火) 09:40:28.24ID:???やりたい事を一番始めに書くべきだったな
<?php
$link = function ($m) { return sprintf('<a href="tel:%s">%s</a>', preg_replace('/[^0-9]/', '', $m[0]), $m[0]); };
echo preg_replace_callback('/090-[0-9]{4}-[0-9]{4}/', $link, '電話番号は090-0000-0000です。');
0547nobodyさん
2012/05/08(火) 10:22:00.23ID:???0548nobodyさん
2012/05/08(火) 10:33:50.30ID:yJ0tU0lo【PHPのバージョン】5.3以上
【質問内容】
こちらでも聞いたのですが5日以上解決しないのでこちらで聞かせてください。
http://toro.2ch.net/test/read.cgi/tech/1224449899/
http://kage.monazilla.org/system_DOLIB100.html
ここ見て書いてみたんですがなぜか動かないです。
どこを直せばいいか教えて欲しいです。
やりたいことは2chに●でログインしてdatを取得したいと思っています。
ログイン
<?php
header("Status: X-2ch-UA: kage/1.00");
ini_set('user_agent', 'User-Agent: DOLIB/1.00');
$url = 'https://2chv.tora3.net/futen.cgi';
$data = array(
'ID' => '[email protected]',
'PW' => 'romiromi',
);
$options = array('http' => array(
'method' => 'POST',
'content' => http_build_query($data),
));
$contents = file_get_contents($url, false, stream_context_create($options));
echo $contents;
?>
続きます
■ このスレッドは過去ログ倉庫に格納されています