【PHP】気軽にPHP質問スレ
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2012/07/23(月) 12:46:29.25ID:???テンプレとかルールは必要ありません。
回答する人はエスパー力を試しましょう。
0449nobodyさん
2012/09/18(火) 15:12:01.96ID:???0451nobodyさん
2012/09/18(火) 17:52:32.12ID:???0452nobodyさん
2012/09/18(火) 17:55:59.59ID:???phpの出力をブラウザのソース表示とかで抜き出して
htmlにしてみればいい。
phpの質問じゃなくてhtmlの質問だということが分かるはずだ。
0453nobodyさん
2012/09/18(火) 18:01:45.28ID:???0456nobodyさん
2012/09/18(火) 19:11:44.66ID:???0457nobodyさん
2012/09/18(火) 21:05:44.56ID:???0458nobodyさん
2012/09/18(火) 21:14:55.46ID:???0459nobodyさん
2012/09/18(火) 21:23:43.43ID:???PHPとjsとHTMLしか触ったことのない中高生だなこりゃ
0460nobodyさん
2012/09/19(水) 10:48:32.11ID:???0461nobodyさん
2012/09/19(水) 11:36:38.52ID:???それは本当に思う
0462nobodyさん
2012/09/19(水) 13:41:35.07ID:???0463nobodyさん
2012/09/19(水) 13:44:47.13ID:???0464nobodyさん
2012/09/19(水) 13:48:25.31ID:???0465nobodyさん
2012/09/19(水) 14:11:56.35ID:???0466nobodyさん
2012/09/19(水) 15:50:12.03ID:???特に可読性に気を付けないとな
それができない未熟者と小学生にはパイソンをどうぞ
0467nobodyさん
2012/09/19(水) 15:53:10.73ID:???0468nobodyさん
2012/09/19(水) 16:35:22.73ID:???0469nobodyさん
2012/09/19(水) 23:15:48.18ID:???0470nobodyさん
2012/09/20(木) 08:42:26.93ID:???0471nobodyさん
2012/09/20(木) 10:43:23.48ID:???インデントが滅茶苦茶なのは改行多いって書き込めなかったからだわ。
変数名とかは練習ってことで見逃しておくれ。
でも、助かりました。精進続けます。
0472nobodyさん
2012/09/20(木) 12:50:51.79ID:???0473nobodyさん
2012/09/20(木) 12:55:30.54ID:???0474nobodyさん
2012/09/20(木) 13:04:14.32ID:???0475nobodyさん
2012/09/20(木) 13:09:19.45ID:???0476nobodyさん
2012/09/20(木) 13:10:52.16ID:???0477nobodyさん
2012/09/20(木) 16:50:10.81ID:???0478nobodyさん
2012/09/20(木) 19:17:37.07ID:???>>471
まだ来てくれているかな?
単刀直入にいうと「読みにくい」の。
フォームデータの受信やDBからのデータ取得などのロジック部分とHTML部分は分けて組んでみて。HTML部分にいれる phpは変数とループと if文程度で。DBのデータは配列で取得すればいいの。
HTML内は<?= $hoge ?>で記述すると echo と書くことなくすっきりすると思うけど環境によって書けない場合もあるらしいので、ケースバイケースで。
あと、http://www.ipa.go.jp/security/vuln/documents/website_security.pdf を熟読することも強くオススメ。
ここまでやれば、少しは見やすくなると思う。
0479nobodyさん
2012/09/20(木) 20:02:21.19ID:???if($row[ans_type] == 1){
$template["anser1"] = $r_ans[$r++];
$template["anser2"] = $row[anser];
}
else{
$template["anser1"]="";
$temp = explode("|",$c_ans[$n]);
while($c == (int)$temp[0] && $c_num > 0){
$temp = explode("|",$c_ans[$n++]);
$template["anser1"] .= $temp[1] ." ";
$c_num--;
}
$template["anser2"] = str_replace(';',' ',$row[anser]);
$c++;
}
echo "<tr align=center>\n";
echo "<td>" .$row[no] ."</td>\n";
echo "<td>" .$template["anser1"] ."</td>\n";
echo "<td>" .$template["anser2"] ."</td>\n";
echo "</tr>\n";
}
0481nobodyさん
2012/09/20(木) 20:14:23.88ID:???アレは、分かってる人に、コレ忘れんなよ的な資料でしょう。
どうやるのかわかんないんじゃ?
0482nobodyさん
2012/09/20(木) 20:14:45.76ID:KC51Ezzd自分ではしっかり読みやすく書いたつもりでも
他人にはきちゃないと感じることもあるし
0484nobodyさん
2012/09/20(木) 20:19:47.46ID:???0485nobodyさん
2012/09/20(木) 22:42:58.96ID:???他の人が読みやすいように書いた方がいいな アドバイスもらうなら
0486nobodyさん
2012/09/20(木) 23:50:35.79ID:???0487nobodyさん
2012/09/21(金) 05:12:55.60ID:???0488nobodyさん
2012/09/21(金) 05:40:37.51ID:???0490nobodyさん
2012/09/21(金) 12:28:24.77ID:???0491nobodyさん
2012/09/21(金) 12:55:18.20ID:???0492nobodyさん
2012/09/21(金) 23:00:25.71ID:ZXvZfN3d今、掲示板の管理人をしてるのですが
スレッドを開くと 見た人の数をカウントしたいのですが
方法を教えてくださいお願いします。
0493nobodyさん
2012/09/21(金) 23:07:31.23ID:???0495492です
2012/09/22(土) 00:42:20.51ID:XjEiY7Kpすみません 説明不足でした
アのスレッドを見た人は48人
イのスレッドを見た人は30人
個別にカウントしたいのですが宜しくお願いします。
0496nobodyさん
2012/09/22(土) 00:46:28.65ID:???個別にカウンター部品を取得するんですよ。
利用申請すると、ID発行して、
そのID毎の集計してくれるから、掲示板毎に取ればいい。
PHPでプログラム組んでやりたいんだったら、
ある程度調べて わかんないところを聞いてください。
丸ごと作るのは面倒です。
0497nobodyさん
2012/09/22(土) 01:22:40.19ID:???0498nobodyさん
2012/09/22(土) 09:35:06.94ID:???├ abcフォルダ
│ └ def.php
│
└ include フォルダ
├ ghi.inc.php
└ jkl.class.php
の場合、
■def.php
include_once('../include/jkl.class.php');
■jkl.class.php
include_once(dirname ( __FILE__ ).'/ghi.inc.php');
でできますが、
├ abcフォルダ
│ └ def.php
│
└ include フォルダ
├ inc フォルダ
│ └ ghi.inc.php
└ class フォルダ
└ jkl.class.php
の場合、jkl.class.php での ghi.inc.php のインクルードはどのように記述すればよいのでしょうか?
0499nobodyさん
2012/09/22(土) 09:53:28.58ID:???0500nobodyさん
2012/09/22(土) 11:41:18.50ID:???絶対参照を使うか、dirname ( __FILE__ )が、自分のフォルダなんで、そこからの相対で書くだけ。
include_once(dirname ( __FILE__ ).'/../inc/ghi.inc.php');
0502nobodyさん
2012/09/22(土) 14:06:14.68ID:???0504nobodyさん
2012/09/22(土) 14:30:27.50ID:???0505nobodyさん
2012/09/30(日) 04:34:20.17ID:???static::func()とself::func()という2つの書き方ができますが
どちらがいいのでしょうか?
0506nobodyさん
2012/09/30(日) 12:08:05.45ID:???以下のような連想配列があります。
$_SESSION["login"]=array(
"name" => $row["name"],
"ID" => $row["ID"]
);
これの$row["ID"]1つだけを取り出したいとき、
どのように指定したらいいですか?
$user_ID に代入するとして教えてください。
0507nobodyさん
2012/09/30(日) 12:29:21.81ID:???0508nobodyさん
2012/09/30(日) 12:29:47.03ID:???0509nobodyさん
2012/09/30(日) 12:34:49.38ID:Pb8UGolbforeach( ++++++++ ){
$i++;
$Name[i] = ***;
$Number[i] = ***;
}
foreach( .------- ){
$i++;
$Name[i] = ***;
$Number[i] = ***;
}
ここで得られた、$Name[i]と$Number[i] を
$Number[i]が小さい順に並び替えたいのですが、どう書いたら良いのでしょうか?
具体的には、
print <<< page
$Number[1] $Name[1] <br>
$Number[2] $Name[2] <br>
$Number[3] $Name[3] <br>
$Number[4] $Name[4] <br>
page;
こう並び替えて表示したいです。。。
初心者ですが、ご教授ください
0510nobodyさん
2012/09/30(日) 12:36:48.43ID:???0511nobodyさん
2012/09/30(日) 12:47:47.60ID:???$User[] = array('name'=> 'a', 'number'=> 4 );
$User[] = array('name'=> 'b', 'number'=> 2 );
$User[] = array('name'=> 'c', 'number'=> 3 );
$User[] = array('name'=> 'd', 'number'=> 1 );
usort( $User ,function ($a,$b) { return $a['number']>$b['number']; } );
foreach($User as $var){
print "{$var['number']} {$var['name']} <br />\n";
}
0513nobodyさん
2012/09/30(日) 12:59:50.10ID:Pb8UGolb0514nobodyさん
2012/09/30(日) 13:05:02.77ID:???0515nobodyさん
2012/09/30(日) 13:12:39.17ID:Pb8UGolb0516nobodyさん
2012/09/30(日) 13:25:42.23ID:???分かんないことは聞いてください
$Name[i]
$Number[i]
のまんまでやるとめんどくさいし、分かりにくいんです。
番号が絶対ダブらないなら
$Name[ 番号 ] = 名前 にして ksort
foreach($Name as $var => $val){
print "$var $val <br />\n";
}
0517nobodyさん
2012/09/30(日) 13:35:27.53ID:???0518nobodyさん
2012/09/30(日) 13:45:28.63ID:???0519nobodyさん
2012/09/30(日) 13:47:52.77ID:???0520nobodyさん
2012/09/30(日) 15:36:20.45ID:Pb8UGolbasort($X,SORT_STRING);
foreach($X as $key =>$value){
echo "\$X[\"$key\"}=$value<BR>\n";
}
出来ました。。。
アドバイス貰ったやり方と違いますけど、理解出来なかったので、ググってやりたい事は表示出来ました。。
良くない、書き方かもしれないですけど、これでやってみます。
レスくれた方、ありがとうございました
0521nobodyさん
2012/09/30(日) 15:51:39.84ID:???0522nobodyさん
2012/09/30(日) 16:37:06.06ID:???sage進行もできないカスどもは消えろ
0523nobodyさん
2012/09/30(日) 22:45:10.20ID:uQKsNt1P0524nobodyさん
2012/09/30(日) 22:50:14.31ID:???0525nobodyさん
2012/09/30(日) 22:53:03.07ID:uQKsNt1PiNSERT文とかUPDATE文とかでbindかけてるプログラム見た
0526nobodyさん
2012/09/30(日) 22:57:23.37ID:???なにをかけてるんだ?
0527nobodyさん
2012/09/30(日) 23:02:04.16ID:uQKsNt1Pそっから実はよくわかってないんだけど。。。
テーブルにある一つのデータにかけるんだよね?
0528nobodyさん
2012/10/01(月) 10:41:41.02ID:???prepareの時の変数のとこで使うのか、バインドって
0529nobodyさん
2012/10/01(月) 11:28:59.77ID:???0530nobodyさん
2012/10/01(月) 11:37:03.04ID:???http://www4.atwiki.jp/agesage/pages/6.html
0531nobodyさん
2012/10/01(月) 11:41:23.28ID:???0532nobodyさん
2012/10/01(月) 13:20:00.69ID:???bindParamとかのことでしょ
『prepare SQLインジェクション プレースホルダ』あたりでググれ
0533nobodyさん
2012/10/01(月) 23:40:39.20ID:???0534nobodyさん
2012/10/02(火) 07:14:45.55ID:???0535nobodyさん
2012/10/02(火) 11:21:42.95ID:TX+LblvDロリポップのロリポプラン(PHP可)に移行したのですが、
同じファイルをUPして実行しても、
エラーが出てしまいます。
具体的には
Warning: Invalid argument supplied for foreach() in /home/users/0/○○○.jp-○○○/web/***.php on line 273
です。
サーバーによって、こういう事って起こり得るんでしょうか?
また、対処の仕方があったら、教えてください
よろしくお願いします
0536nobodyさん
2012/10/02(火) 11:57:16.80ID:TX+LblvD0537nobodyさん
2012/10/02(火) 12:05:07.43ID:???0538nobodyさん
2012/10/02(火) 13:17:48.14ID:MKy43BCWページには
Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0
Warning: Unknown: Failed opening '/tmp/.tmp.err' for inclusion (include_path='.:') in Unknown on line 0
と表示されています。
Pleskの入ったVPSなのですが、
何をどうすれば元に戻るでしょうか?
よろしくお願いします。
0539nobodyさん
2012/10/02(火) 13:22:12.37ID:???0540nobodyさん
2012/10/02(火) 13:33:02.52ID:???httpd.confの
php_value auto_prepend_file "/tmp/.tmp.err"
を
php_value auto_prepend_file none
でapatch再起動
Pleskのアップデートでなんかあったんだろう
0541nobodyさん
2012/10/02(火) 14:06:10.86ID:???のような配列があるとして、keyかvalueどちらかを与えたら対応するものに変換する、
key←→valueのような関数を作りたいです。
どちら向きかは呼び出し時に決定・valueは重複なしという前提で考えて
function searchValue($arg){
return $hogeList[$arg];
}
function searchKey($arg){
$result = array_keys($hogeList,$arg);
return $result[0];
}
前者はわざわざ関数にするまでもないですが、後者はこのような考え方でいいのでしょうか。
それとも、こういった相互変換にもっと都合の良い関数や手法があるのでしょうか。
0542nobodyさん
2012/10/02(火) 14:10:21.66ID:???0543nobodyさん
2012/10/02(火) 14:11:54.88ID:???0544nobodyさん
2012/10/03(水) 05:41:29.91ID:???finfo_open()やfinfo_file()のメソッドが使えないのは
サーバ側がそういう機能に対応させてないってことですか?
またこれについてはクライアント側では何の対応のしようもないんですか?
よろしくお願いします。
0545544
2012/10/03(水) 06:17:17.92ID:???虫してください。
0546nobodyさん
2012/10/04(木) 13:17:03.14ID:yL8HTCOy上記の部分で
「failed to open stream: Connection timed out 」
というエラーが出てしまいます。
タイムアウトなのは、分かるのですが、
エラー発生の回避方法と、エラー時にサイト上にエラーコードが現れない様にする方法教えて貰えないでしょうか?
0547nobodyさん
2012/10/04(木) 14:11:04.73ID:???Notes 上から3とか8とか
0548nobodyさん
2012/10/04(木) 14:11:15.29ID:UJsxuF9k【現状】
a.php:MySQLからデータを呼び出して件数をカウントするプログラムが書いてある。
これをb.phpで require("./a.php"); と何度も呼び出して使っている。
【やりたいこと】
これをスマートに一つのファイルb.phpにまとめたい。
これはどういった関数を使うと出来ますでしょうか?
関数だけ教えて頂ければ、あとは自分で検索して勉強します。
■ このスレッドは過去ログ倉庫に格納されています