トップページ⇒php
1001コメント231KB

【PHP】気軽にPHP質問スレ

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2012/07/23(月) 12:46:29.25ID:???
気軽に質問しましょう。
テンプレとかルールは必要ありません。
回答する人はエスパー力を試しましょう。
0449nobodyさん2012/09/18(火) 15:12:01.96ID:???
tbタグとかあったんだ初めて見た
0450nobodyさん2012/09/18(火) 15:29:56.88ID:???
>>449
うおぉ!?
ありがとうございます。
苦節24時間が救われました。
0451nobodyさん2012/09/18(火) 17:52:32.12ID:???
近年まれにみるバカ
0452nobodyさん2012/09/18(火) 17:55:59.59ID:???
phpとhtml勉強中なら、おかしいと思った時点で
phpの出力をブラウザのソース表示とかで抜き出して
htmlにしてみればいい。
phpの質問じゃなくてhtmlの質問だということが分かるはずだ。
0453nobodyさん2012/09/18(火) 18:01:45.28ID:???
それで分るならこんなことにはならんよ。
0454nobodyさん2012/09/18(火) 18:23:16.13ID:???
>>448
この書き方怖いわー、ゾッとする
0455nobodyさん2012/09/18(火) 19:09:44.79ID:???
開発メンバーに>>448みたいなソースを書く奴がいたら
すぐメンバーから外すしごっそり書き直す
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:???
PHPの場合入門サイトとか多いけど、そのほぼ全てがヒド過ぎるサンプルで埋め尽くされてるからこうなるんだろうな
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:???
中学生や高校生がPHP使うときは
特に可読性に気を付けないとな

それができない未熟者と小学生にはパイソンをどうぞ
0467nobodyさん2012/09/19(水) 15:53:10.73ID:???
PHPは可読性を考えて作られた言語ではない
0468nobodyさん2012/09/19(水) 16:35:22.73ID:???
黙ってろよぼけ
0469nobodyさん2012/09/19(水) 23:15:48.18ID:???
どうだ?PHPすらまともに使えないクズには効いただろ?
0470nobodyさん2012/09/20(木) 08:42:26.93ID:???
 
0471nobodyさん2012/09/20(木) 10:43:23.48ID:???
おぉう・・・助かったから見に来たら叩かれとる。
インデントが滅茶苦茶なのは改行多いって書き込めなかったからだわ。
変数名とかは練習ってことで見逃しておくれ。
でも、助かりました。精進続けます。
0472nobodyさん2012/09/20(木) 12:50:51.79ID:???
インデントとか変数名とかっていうレベルじゃないw
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:???
>>448
>>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:???
while($row = mysql_fetch_array($Qt)){
 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";
}
0480nobodyさん2012/09/20(木) 20:06:56.62ID:???
>>478
読みやすさよりも、そのリンク先PDFのほうが優先
0481nobodyさん2012/09/20(木) 20:14:23.88ID:???
まだ、読んでもわかんないんじゃないかな
アレは、分かってる人に、コレ忘れんなよ的な資料でしょう。

どうやるのかわかんないんじゃ?
0482nobodyさん2012/09/20(木) 20:14:45.76ID:KC51Ezzd
何かこのスレ見てたら自分のコードをgithubあげる勇気がなくなってくる…

自分ではしっかり読みやすく書いたつもりでも
他人にはきちゃないと感じることもあるし
0483nobodyさん2012/09/20(木) 20:16:18.99ID:???
>>482
だったら逆じゃね? 他人に見てもらわなきゃ じゃない?
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:???
カスレジャパン
0489nobodyさん2012/09/21(金) 11:06:26.98ID:???
>>482
githubにあげるのは見てもらうためでしょ
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:???
ごみくそが
0494nobodyさん2012/09/22(土) 00:14:49.45ID:???
>>492
ブログパーツ カウンターで検索

無料のいっぱいあるから
0495492です2012/09/22(土) 00:42:20.51ID:XjEiY7Kp
>>494
すみません 説明不足でした
アのスレッドを見た人は48人
イのスレッドを見た人は30人
個別にカウントしたいのですが宜しくお願いします。


0496nobodyさん2012/09/22(土) 00:46:28.65ID:???
>>495
個別にカウンター部品を取得するんですよ。
利用申請すると、ID発行して、
そのID毎の集計してくれるから、掲示板毎に取ればいい。

PHPでプログラム組んでやりたいんだったら、
ある程度調べて わかんないところを聞いてください。
丸ごと作るのは面倒です。
0497nobodyさん2012/09/22(土) 01:22:40.19ID:???
いちいちageるなカス
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:???
PHP言語の欠陥だな
0500nobodyさん2012/09/22(土) 11:41:18.50ID:???
上の例と同じ考え方で、ルールどおりにやればいいだけのこと。

絶対参照を使うか、dirname ( __FILE__ )が、自分のフォルダなんで、そこからの相対で書くだけ。
include_once(dirname ( __FILE__ ).'/../inc/ghi.inc.php');
 
0501nobodyさん2012/09/22(土) 13:07:05.04ID:???
>>500
ありがとうございます。「../」が頭から抜けていました。
0502nobodyさん2012/09/22(土) 14:06:14.68ID:???
雑魚が
0503nobodyさん2012/09/22(土) 14:09:33.61ID:???
>>502はそれよりも雑魚と言うか朝鮮人と互角。
めでたしめでたし

= 完 =
0504nobodyさん2012/09/22(土) 14:30:27.50ID:???
何こいつキメー
0505nobodyさん2012/09/30(日) 04:34:20.17ID:???
メソッド内で同じクラスのstaticメソッドを呼ぶとき、
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:???
$user_ID = $_SESSION["login"]["ID"];
0508nobodyさん2012/09/30(日) 12:29:47.03ID:???
$user_id = $row["ID"]
0509nobodyさん2012/09/30(日) 12:34:49.38ID:Pb8UGolb
$i=0;
foreach( ++++++++ ){
$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:???
numberをキーにしたnameの配列を作りなさい
0511nobodyさん2012/09/30(日) 12:47:47.60ID:???
$i いらね

$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";
}



05125062012/09/30(日) 12:56:33.20ID:???
>>507-508
ありがとうございます
助かりました
0513nobodyさん2012/09/30(日) 12:59:50.10ID:Pb8UGolb
・・・・わからないorz
0514nobodyさん2012/09/30(日) 13:05:02.77ID:???
分からないならPHPなんかやめておけ
0515nobodyさん2012/09/30(日) 13:12:39.17ID:Pb8UGolb
分かるまで頑張ります
0516nobodyさん2012/09/30(日) 13:25:42.23ID:???
>>515
分かんないことは聞いてください

$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:???
ageて質問するやつは自演
0519nobodyさん2012/09/30(日) 13:47:52.77ID:???
ルールには書いてないけど、ID出してくれると自演や荒らしと区別できていいね。
0520nobodyさん2012/09/30(日) 15:36:20.45ID:Pb8UGolb
$X[$i] =$Number .'|' .$Name;

asort($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:uQKsNt1P
バインドってなに?バインドかけるのとかけないのとで何がどう変わるの?
0524nobodyさん2012/09/30(日) 22:50:14.31ID:???
どこで見た用語だ?
0525nobodyさん2012/09/30(日) 22:53:03.07ID:uQKsNt1P
>>524
iNSERT文とかUPDATE文とかでbindかけてるプログラム見た
0526nobodyさん2012/09/30(日) 22:57:23.37ID:???
じゃあbindかけるという用語は?
なにをかけてるんだ?
0527nobodyさん2012/09/30(日) 23:02:04.16ID:uQKsNt1P
>>526
そっから実はよくわかってないんだけど。。。
テーブルにある一つのデータにかけるんだよね?
0528nobodyさん2012/10/01(月) 10:41:41.02ID:???
ググってみたけど、
prepareの時の変数のとこで使うのか、バインドって
0529nobodyさん2012/10/01(月) 11:28:59.77ID:???
この流行らないクソスレでageて質問するやつは立てたやつの自演
0530nobodyさん2012/10/01(月) 11:37:03.04ID:???
>>529
http://www4.atwiki.jp/agesage/pages/6.html
0531nobodyさん2012/10/01(月) 11:41:23.28ID:???
よおカスども
0532nobodyさん2012/10/01(月) 13:20:00.69ID:???
>>527
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+LblvD
解決出来ました。
0537nobodyさん2012/10/02(火) 12:05:07.43ID:???
黙れカス
0538nobodyさん2012/10/02(火) 13:17:48.14ID:MKy43BCW
今まで普通に動いていたphpが数日前から動かなくなっていました。
ページには

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:???
IDかえてまで自演おつかれ
0540nobodyさん2012/10/02(火) 13:33:02.52ID:???
>>538
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:???
$hogeList = array( "tokyo"=>"東京", "osaka"=>"大阪", "nagoya"=>"名古屋");
のような配列があるとして、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:???
array_searchかな
0544nobodyさん2012/10/03(水) 05:41:29.91ID:???
レン鯖初心者で良くわからないことがあるんですが
finfo_open()やfinfo_file()のメソッドが使えないのは
サーバ側がそういう機能に対応させてないってことですか?
またこれについてはクライアント側では何の対応のしようもないんですか?
よろしくお願いします。
05455442012/10/03(水) 06:17:17.92ID:???
すいません。↑の質問解決しました。
虫してください。
0546nobodyさん2012/10/04(木) 13:17:03.14ID:yL8HTCOy
$xml = simplexml_load_file();
上記の部分で
「failed to open stream: Connection timed out 」
というエラーが出てしまいます。
タイムアウトなのは、分かるのですが、
エラー発生の回避方法と、エラー時にサイト上にエラーコードが現れない様にする方法教えて貰えないでしょうか?
0547nobodyさん2012/10/04(木) 14:11:04.73ID:???
http://php.net/manual/ja/function.simplexml-load-file.php
Notes 上から3とか8とか
0548nobodyさん2012/10/04(木) 14:11:15.29ID:UJsxuF9k
条件を変えて同じプログラムを何度も実行する方法

【現状】
a.php:MySQLからデータを呼び出して件数をカウントするプログラムが書いてある。
これをb.phpで require("./a.php"); と何度も呼び出して使っている。

【やりたいこと】
これをスマートに一つのファイルb.phpにまとめたい。
これはどういった関数を使うと出来ますでしょうか?
関数だけ教えて頂ければ、あとは自分で検索して勉強します。
■ このスレッドは過去ログ倉庫に格納されています