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

【PHP】下らねぇ質問はID出して書き込みやがれ 85

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん2009/06/15(月) 22:53:52ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 84
http://pc11.2ch.net/test/read.cgi/php/1240835951/

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0886nobodyさん2009/07/28(火) 00:33:26ID:???
>>875
まずは、これを読んでください

◯HTML フォームで配列を使用するにはどうすればよいですか?
http://www.php.net/manual/ja/faq.html.php#faq.html.arrays

これら内容に従うことで、チェックされた項目を配列として取得出来ます。

後は、保存された内容と比較すればよいでしょう
0887nobodyさん2009/07/28(火) 03:26:44ID:UNpQ8CBn
>>886
そのページを参考にチェックボックスの処理はすることができましたが
datもしくはtxtに保存された内容と比較はどうすればいいのでしょうか
txtファイルには110010011... といった風にチェックボックスを入れたところは1、
そうでないところは0と記載されているのですが表示画面に反映できません
0888nobodyさん2009/07/28(火) 03:39:40ID:???
if文でok
0889nobodyさん2009/07/28(火) 03:45:50ID:???
>>885
どの言語でもライブラリがなければ自分で作るし>>882の考えは普通よ
大抵の場合PEARにあがってるから使ってあげようぜ
http://pear.php.net/package/Math_BigInteger
0890nobodyさん2009/07/28(火) 03:48:06ID:???
User Contributed Notesに一杯書いてあると思うが
0891nobodyさん2009/07/28(火) 03:53:16ID:UNpQ8CBn
>>888
if文でいけました
しかし、チェックを入れてセーブボタンを押すとチェックを入れたチェックがすべて消えて、
もう一度セーブボタンを押すと反映されたものが表示されます
こういった風になるのは普通なのでしょうか?
0892nobodyさん2009/07/28(火) 03:57:41ID:UNpQ8CBn
さらに、チェックボックスをひとつだけオンにした状態で保存し、
反映さえた後にそのチェックボックスをオフにするとすべてオフといった状態に反映されません。
何がいけないのでしょうか?
0893nobodyさん2009/07/28(火) 04:08:31ID:???
簡素化した検証コードのせられる?
0894nobodyさん2009/07/28(火) 04:25:47ID:UNpQ8CBn
少々お待ちください。
0895nobodyさん2009/07/28(火) 05:11:11ID:UNpQ8CBn
>>893
ttp://www.rupan.net/uploader/download/1248725391.txt
パスはphpです。
check.phpとファイル名を変えて、別途check.txtファイルをご用意ください。
0896nobodyさん2009/07/28(火) 06:46:46ID:???
>>895

<?php
$n = 10;
//書き込みロジック
$text = "";
if (isset($_POST['chk'])) {
 for ($i = 0; $i < $n; $i++) {
  if ($_POST['chk'][$i]) {
   $text .= "1\n";
  } else {
   $text .= "0\n";
  }
 }
 file_put_contents("check.txt", $text, LOCK_EX);
}
//表示ロジック
$list = file("check.txt");
for ($i = 0; $i < $n; $i++) {
 if ((int)$list[$i]) {
  echo "<input type=\"checkbox\" name=\"chk[{$i}]\" value=\"{$i}\" checked>{$i}<br>\n";
 } else {
  echo "<input type=\"checkbox\" name=\"chk[{$i}]\" value=\"{$i}\">{$i}<br>\n";
 }
}
?>

なるべくシンプルに書いたつもり
インデントに全角スペースつかってるのでそのままコピペしても動かないので注意
原因は・・・ロジックの流れにあると思うけど詳しく調査してる時間もないので
詳しい人に任せるとしよう
0897nobodyさん2009/07/28(火) 07:04:16ID:???
チェックがすでについてる状態から
すべてのチェックをオフにした場合
ii (isset($_POST['chk']))が働かないので更新されない
だからそこは変えたほういいよ
前回の状態と比較してかわってたら更新とかにすると
またやることが増えるので
単純にPOSTされたときに更新すればいいのだから
if ($_POST)とかにしたほうがいいと思う
0898nobodyさん2009/07/28(火) 08:19:20ID:UNpQ8CBn
>>896
ありがとうございます
とりあえずコピペして動作確認をしてみたのですが、
やはり配列0の箇所が反映されません
>>891の修正は完璧でした

>>897
if ($_POST)にしてみたのですが、動作は変わりませんでした
0899nobodyさん2009/07/28(火) 08:41:56ID:/osX6Bgi
>>889
ありがとうございます!
PEARは導入したことがなかったのですが、使用してみようと思います!
0900nobodyさん2009/07/28(火) 08:47:54ID:/osX6Bgi
使おうかと思って Math_BigInteger をダウンロードしてみましたが、
クラス内で BC MATH 関数を使用しているようでした…;;
0901nobodyさん2009/07/28(火) 09:35:09ID:???
有効桁数だけの問題なら、mySQL があれば、一行クエリを投げればいいじゃん。
0902nobodyさん2009/07/28(火) 10:28:24ID:???
>>898
今手元に環境がないから動くかわからないけど、
array_fillで初期化してあらかじめ配列を用意しておいたらどうだろうか?
0と1だけ入れればいいのなら、
$n = 10;
if (isset($_POST['chk'])) {
 $text = "";
 $tmp = array_fill(0, $n, 0);
 foreach ($_POST['chk'] as $key => $value) {
  $tmp[$key] = 1;
 }
 foreach ($tmp as $value) {
  $text .= $value."\n";
 }
 file_put_contents("check.txt", $text, LOCK_EX);
}
チェックボックスに何もいれなかったらエラーが出たり、
>>897の指摘にあるようなことがおきるので正常終了のための条件が必要。
チェックボックスが空の状態でもページを読み込んだ初期の状態でも、
おそらく!$_POST['chk']の状態であるので一工夫必要。
0903nobodyさん2009/07/28(火) 12:16:04ID:iDr4ntOe
phpって変数や配列の初期値=NULLって保証されているのでしょうか?
それともCみたくゴミが入ってることもあり得るのでしょうか?
0904nobodyさん2009/07/28(火) 12:20:17ID:???
>>903
http://jp2.php.net/manual/ja/language.variables.basics.php
0905nobodyさん2009/07/28(火) 12:29:54ID:???
>>903
いきなり宣言するのが気持ち悪いならなんでもござれ
0906nobodyさん2009/07/28(火) 14:14:11ID:nFAJUBt9
phpで円グラフとか作る必要があるのですが、
一番いいモジュールってどれでしょうか?

できればフリーで。
0907nobodyさん2009/07/28(火) 14:23:31ID:???
>>906
GDじゃだめ?
0908nobodyさん2009/07/28(火) 14:32:23ID:???
素の GD を勧めるか…。
ttp://pchart.sourceforge.net/
0909nobodyさん2009/07/28(火) 18:13:11ID:???
>>900
ドキュメントぐらい読もうぜ
GMP/BCMath/俺俺実装のいずれかを使うって書いてあるでしょ
> Uses the GMP or BCMath extensions, if available,
> and an internal implementation, otherwise.
0910nobodyさん2009/07/28(火) 19:06:49ID:???
グラフを作るライブラリなんてありがちすぎてどれがメジャーなのかわからん
0911nobodyさん2009/07/28(火) 19:13:18ID:???
だから聞いているんだろうな
0912nobodyさん2009/07/28(火) 19:58:38ID:???
お手軽なのはGoogle Chart
異論は認める
0913nobodyさん2009/07/28(火) 20:09:28ID:???
jpGraph は一昔前の定番だったような
0914nobodyさん2009/07/28(火) 20:16:49ID:???
PEAR Image_Graphって、もうメンテされてないんだな。
サンプルが豊富にあって、重宝してたんだが

↓サンプルサイト
http://pear.veggerby.dk/samples/
0915nobodyさん2009/07/28(火) 20:46:32ID:???
>>892
>>886に書いたページの次のFAQ
◯"select multiple" タグで選択された全ての結果を取得するには どうすればよいですか?

ここに
「... count() 関数を使えば選択された項目の数を知る ことができます。...」
と書かれています。

つまり、チェックを付けた箇所しか値が飛んできません。
チェックを外しても、値は飛んできません。
(PHPの仕様として、このページ以外のところに書かれてるとは思うのですが、不明です。)

従って、何番目をチェックしたかも保存する必要があるでしょう

例えば、保存フォーマットを
番号=チェック状態
とするとか...

この場合、file関数で配列展開した後、各行に対してexplodeで番号とチェック状態に分解すればよいでしょう。



0916nobodyさん2009/07/28(火) 20:48:52ID:???
ちなみに、>>891後半の
「もう一度セーブボタンを押すと...」の所も同じ原因でしょう
(全てoffのため、$_POST['chk']がセットされず、ファイル更新されなかった。多分)

>>891の前半は不明。
$list = file("check.txt");
の直後に、print_rかvar_dumpで$listの内容を表示してみると何か原因が見えてくるかもしれない
0917nobodyさん2009/07/28(火) 23:38:24ID:sYVzfVPt
【OS名】WindowsXP
【PHPのバージョン】PHP5.2.9(XAMPP1.7.1)
【連携ソフトウェア】特になし
【質問内容】
PHPで以下のコードを書いたときに配列の値が出力されません。
原因を教えてください。
<?php
class Sample{
public $i;
public $arr = array("A", "B", "C", "D");
function Sample(){
$this->i=0;
}
function output(){
while($this->i < count($this->arr)){
print("$this->arr[$this->i]<br>");
$this->i++;
}
}
}
$samp = new Sample();
$samp->output();
?>

出力結果
Array[0]
Array[1]
Array[2]
Array[3]

foreachを使用する方法ならうまく出力されますが、この方法だと
なんでうまくいかないのかわかりません。
0918nobodyさん2009/07/28(火) 23:52:34ID:???
>>917

print( $this->arr[$this->i].'<br>');
または
print( "{$this->arr[$this->i]}<br>");
0919nobodyさん2009/07/29(水) 00:09:58ID:4FaRK/k2
>>918
ありがとうございました。期待する表示がされました。

これってどういうことなんでしょうか?
print関数に渡す前に$thisを解決しておく必要があるということでしょうか?
0920nobodyさん2009/07/29(水) 00:19:05ID:???
ダブルクオート中でアロー演算子(->)と配列([])が文字列として扱われてるだけ
シングルクオートの場合は変数すらも文字列として扱われる

○ "$var<br>";
○ "{$var}<br>";
× '$var'<br>;
× '{$var}<br>';
○ $var . "<br>";
○ $var . '<br>';

× "$this->a[]<br>"
○ "{$this->a[]}<br>"
○ $this->a[] . "<br>"
0921nobodyさん2009/07/29(水) 00:34:24ID:4FaRK/k2
>>920
おお、なるほど。
解説ありがとうございました。
0922nobodyさん2009/07/29(水) 00:37:26ID:???
>>919
ここ。
http://www.php.net/manual/ja/language.types.string.php#language.types.string.parsing

920は一箇所まちがってる。
09239062009/07/29(水) 08:15:18ID:cjl2IXaK
phpのグラフですが、
軸ラベルとか凡例に日本語出したければ、jPGraphくらいしか
ないのでしょうか?

jPのフリー版だと6種類くらいしか作れないようで。
0924nobodyさん2009/07/29(水) 11:21:59ID:???
他でも出るでしょ。
具体的にどれでどうやって出ないと判断した?
0925nobodyさん2009/07/29(水) 13:26:47ID:???
$v = isset($variables['keyname']) ? $variables['keyname'] : NULL;
とかくのがだるいんですけど、もっとかっこよく書ける方法ありませんか。
$v = array_get($variables, 'keyname');
みたいなのがあればいいんですけど。
0926nobodyさん2009/07/29(水) 13:34:08ID:???
っていうfunction作ればいいじゃん
0927nobodyさん2009/07/29(水) 13:53:26ID:???
標準機能ではできないっつーことですかね。
0928nobodyさん2009/07/29(水) 14:34:52ID:xKqUPasC
【OS名】FreeBSD 6.2
【PHPのバージョン】PHP 4.3.4

phpで外部コマンド(ps aux)の戻り値を取得したいんですが
なぜか、結果の一行が80バイトで切られてしまいます。

[期待] nobody 3040 0.0 0.4 34000 17652 ?? S Sun05AM 5:56.90 /usr/local/apache/bin/httpd
[結果] nobody 3040 0.0 0.4 34000 17652 ?? S Sun05AM 5:56.90 /usr/local/apach

※shell_exec(), system(), passthru()全て同じ結果です。

結果を末尾まで取得したいのですが、何か方法ありますでしょうか?
0929nobodyさん2009/07/29(水) 14:42:24ID:???
>>928
PHPのせいじゃなく、ps auxの出力自体が、80バイトで切られていると思う。
ps auxww とかでやってみてはどうだろう。
0930nobodyさん2009/07/29(水) 14:48:41ID:xKqUPasC
>929
おー!ありがとうございます。出来ました。
コマンドラインからだと ps aux で表示出来ていたので
php のせいかと思ってました。

ありがとうございました^^
0931nobodyさん2009/07/29(水) 15:36:43ID:ZW0xU0/l
mb_convert_encoding("hello, world!", "utf-8", "sjis");
これって意味ありますか?
つまり、半角の文字列のコードって文字コードによって変わるのでしょうか?
0932nobodyさん2009/07/29(水) 15:45:15ID:???
文字コードによって変わる。
でもまあ、その例のような7ビットで収まるコードは、
UTF-8もSJISも同じだけどな。
0933nobodyさん2009/07/29(水) 16:56:21ID:???
utf-16にしたら違いがわかるよ
0934nobodyさん2009/07/29(水) 17:05:13ID:???
Pleiades All in One php
ってバラバラにeclipse入れてxampp入れるより
数倍ハヤクできるよね
なんかいろいろいじって時間かかってたけど
さっきこれみつけてガックリきた・・
0935nobodyさん2009/07/29(水) 17:12:49ID:???
1個ずつ入れるのが楽しいんじゃないか
しかも全部ソースからコンパイル
0936nobodyさん2009/07/29(水) 17:48:50ID:jN1W2sq9
PHPでは、echoなりprintなりでHTMLが送信されるまえにHTTPヘッダーが自動的に送信されますが、
これに何かフックを仕掛けることはできますか。

やりたいことは、PHPが用意しているセッション機能ではなく自前のセッション機能を使いたくて、
それでPHPがHTTPヘッダーを送信するときに、自前のセッション用クッキーを送信しようとしています。
どなたかアドバイスをお願いします。
#自前のセッション機能の是非についてはスルーの方向でお願いします。
0937nobodyさん2009/07/29(水) 18:34:25ID:???
header()
0938nobodyさん2009/07/29(水) 19:33:37ID:OT09YFlb
output_buffering = On
になってんのを一時的に無効にしたいんだけど
関数で制御する方法を教えてちょんまげ
0939nobodyさん2009/07/29(水) 20:24:58ID:QWRvNOas
スマソ。。くだ質スレがみつからんので、、ここで聞かせて。

Google App EngineがPHPに対応したんでやりたいんだけど、金ってかかる?

用途は趣味のサイトの掲示板だから、10MBもあれば足りるんだけど・・
0940nobodyさん2009/07/29(水) 20:25:27ID:???
日本語で
0941nobodyさん2009/07/29(水) 20:29:59ID:QWRvNOas
だから、Googleに金払う必要はあるのってことでやんす。
0942nobodyさん2009/07/29(水) 20:31:18ID:???
日本語で
0943nobodyさん2009/07/29(水) 20:34:44ID:???
専スレあるじゃん
http://pc11.2ch.net/test/read.cgi/php/1243654802/
0944nobodyさん2009/07/30(木) 01:39:34ID:S7w57STy
apacheのログを取得して一覧表示させようとしてます。OSはFedoraで、バージョンは5.2.5です。

$pattern = '/^(.*) (.*) (.*) \[(.*)\] "(.*)" (.*) (.*) "(.*)" "(.*)"/';
$log_file = $_POST['select'];

if (!$fp = fopen("/home/hogehoge/logs/$log_file", "r")) {
echo "ファイルが開けません!";
die;
}

while (!feof($fp)) {
$line = fgets($fp);
preg_match($pattern, $line, $matches);
$host = @gethostbyaddr($matches[1]);
$time = preg_replace("/^\d.*2009:|\+0900/", "",$matches[4]);
$refer = preg_replace("/NET.*/", "",$matches[9]);

echo $host." ".$time." ". $refer."<br>";
}

自分の意図としては、最新のログを一番上に表示させたいのですが、これだと古いログが一番上に表示されてしまいます。
array_reverseやらrsortなど試したのですが思うよういきません。
ご教示お願いします。
0945nobodyさん2009/07/30(木) 02:03:45ID:???
<?php
$pattern = '/^(.*) (.*) (.*) \[(.*)\] "(.*)" (.*) (.*) "(.*)" "(.*)"/';
$line = file("log.log",FILE_SKIP_EMPTY_LINES);
$length = count($line);
$logarray = array();

for($i=0;$i<$length;$i++){
preg_match($pattern,$line[$i],$matches);
$logarray[] = $matches;
}
$logarray = array_reverse($logarray,true);
print_r($logarray);
?>
こんな感じで
0946nobodyさん2009/07/30(木) 02:06:31ID:???
array_reverse($logarray,true); はarray_reverse($logarray); のほうが良さそう。
0947nobodyさん2009/07/30(木) 02:45:34ID:S7w57STy
>>945-946
おお、こういう方法もあるんですね。勉強になります。
ありがとうございました。
0948nobodyさん2009/07/30(木) 11:18:52ID:Mynk8nfn
$this->value = $this->lfGetData($id, &$obj);
みたいな記述方法しているのですが、

Call-time pass-by-reference has been deprecated
- argument passed by value; If you would like to pass it by reference,
modify the declaration of [runtime function name]().
If you would like to enable call-time pass-by-reference,
you can set allow_call_time_pass_reference to true in your INI file.
However, future versions may not support this any longer

のようなエラーが出てしまいます。

翻訳(ツール)すると、
「呼び出し時間は参照パスに推奨しないです」のような感じのエラーですが、どういう意味でしょうか。
同じようなエラー出た人いませんか?
0949nobodyさん2009/07/30(木) 12:01:43ID:???
>>948
呼び出し時の参照渡しは非推奨だから関数(lfGetData)の宣言の方を
参照渡しになるように修正しろ。
どうしても呼び出し時の参照渡しをしたければ、
iniでallow_call_time_pass_referenceをtrueにすればできるけど、
将来のバージョンではこの機能がサポートされないかもしれない。

と読めるな。


function lfGetData($id, $obj){

}
となっているなら、
function lfGetData($id, &$obj){

}
に変更して、

$this->value = $this->lfGetData($id, $obj);
と呼び出せってことじゃないか?
0950nobodyさん2009/07/30(木) 12:47:41ID:???
オブジェクトは参照渡しでは?
0951nobodyさん2009/07/30(木) 13:19:10ID:???
php5からそうなったんだっけ。
というか、変数名をよく見てなかったよ...。
0952nobodyさん2009/07/30(木) 20:04:34ID:???
型は関係なし
allow_call_time_pass_referenceはPHP4からの移行用だから
新規開発でonを必要とするものは書かないでね
0953nobodyさん2009/07/31(金) 09:14:37ID:lGlimiZC
PHP Python Ruby

来年からWEBエンジニアとして働く予定なんですが、あらかじめ勉強しておきたいと思っています。
初心者なんですが、どれを勉強した方が良いのでしょうか。会社からは、入社後にやるから入社前は勉強
しなくて良いと言われてるんですが、全くの初心者なので入社前に勉強しておかないと不安です・・・。
お願いします。
0954nobodyさん2009/07/31(金) 09:33:42ID:???
>>953
会社に質問できるなら会社で使われてる言語。
案外Javaとかかもしれないし。
質問できないならPHPあたりが無難かな。ここPHPスレだし
Perlもあるよ。
0955nobodyさん2009/07/31(金) 09:51:02ID:lGlimiZC
>>954
以前、聞いた事はあるんですが、「言語なんか気にしなくてもいい。入社後やるから。」と言われました。
でも、中途採用の所を見るとPHPでの開発経験○年以上とあるので、PHPかもしれません。
PerlとPHPなら、やはりPHPを勉強した方が良いですよね・・・。
0956nobodyさん2009/07/31(金) 10:03:27ID:???
>>955
今現在のスキルは?
htmlがわからないなら、phpよりもhtml/cssをやっておいたほうが教える方も助かる
htmlがわかるなら、今度はjavascriptとかも多少かじっておくといい
javascritpのようなクライアントサイドと、phpのようなサーバサイドで
それぞれ何をするべきかとか、ちょっとでもjavascript触っておいてもらえるとこれまた教えやすい

あとはwebエンジニアということなので、httpの仕組みとか勉強したほうがいい
0957nobodyさん2009/07/31(金) 10:11:18ID:???
完全に未経験ならプログラムの基礎からやったほうがいいのでは?
俺は学校でCとかPascal使ってやった
0958nobodyさん2009/07/31(金) 10:13:42ID:???
>>957
Pascalは個人じゃないだろ・・・。
Cは作ってても面白いものができないので、うぇb系の言語のほうが
いいと思うけどね
0959nobodyさん2009/07/31(金) 10:16:50ID:lGlimiZC
>>956
大学の時はC言語を勉強していました。WEB系ですとhtmlが少し解る程度です。
でも、高校の時にやってたので、かなり忘れてます・・・。
なので、htmlから勉強し直した方が良いかもしれませんね。
html→javascript→PHPの順に勉強しようと思います。

httpの仕組み・・・。頑張って勉強します。今日、本屋に行って勉強出来る本を探しに行こうと思います。
0960nobodyさん2009/07/31(金) 10:24:35ID:???
>>959
javascriptは奥が深いから、とりあえずどんな時に使うかと記述の仕方がわかればいいと思う
httpについては、URLを入力するとなぜ表示されるのか?を図解できればいいよ
あとapacheのモジュールとして使うPHPとCGIの違いとか。

結構、httpの仕組みとかわからない人多いから、やっとくと後々効いてくるから頑張ってね。
0961nobodyさん2009/07/31(金) 10:27:24ID:???
>>959
Cを習得しているなら本なんて必要ない
ネットで配布されてるプログラムDLしてきて解説サイト見ながらやればすぐに使えるようになる
0962nobodyさん2009/07/31(金) 10:27:28ID:lGlimiZC
>>960
質問して良かったです。今日から勉強を始めようと思います。本当にありがとうございました!
0963nobodyさん2009/07/31(金) 10:29:25ID:???
>>959
Javascriptは言語なんて勉強しなくていい。どんなことに使えるか、
どんな風に使うか。実装依存ありすぎの言語だからストレートに使う
と馬鹿をみる。むしろ実際の業務の上で使える例題を増やしていけば
いいというもの。

それよりは、Cをやっていたのなら、Javaをまずやった方がいい。
CとJavaの違いは、クラスを扱うことができること。PHP、Perlといった
メジャーなWebツールの殆どはクラスを扱えし、使う機会も多いから、
その基礎をJavaで勉強しよう。

ほかのひとが言うように、http の仕組みと、HTML、CSSは理解していた
方がいい。あと、基礎勉強しているうちに、色やフォントの理解もして
いたほうがいいよ。フォントのレンダリングとは何か、色ってのはどういう
構造で、どんな風にあらわすのか、とか。それと文字コードも。
0964nobodyさん2009/07/31(金) 10:34:22ID:???
>>963
セキュリティが抜けてる
0965nobodyさん2009/07/31(金) 10:36:35ID:???
エンジニアなら、全部勉強しろ。以上。
0966nobodyさん2009/07/31(金) 10:37:37ID:???
セキュリティは http を理解したあとでしょ。
それに最近のセキュリティ対策はそれぞれ
の実装の上での問題となることが多い。

インジェクション対策とか、Apacheの特定の
アップデートとか。いずれにしても、httpを
学べばひと通り、IPでできることも理解できる
と思う。セキュリティは後付けで、そのときの
最新の情報を追っていけばいいと思うよ。

作る側の立場ならね。
0967nobodyさん2009/07/31(金) 11:09:24ID:???
勉強なんかつまんないから、そこそこできるようになったら
スクリプト改造とか、サービス作成とかして学んだほうがいいよ
0968nobodyさん2009/07/31(金) 12:58:41ID:RzCftC+P
一般ユーザーがファイルを投稿できるアップローダーを作成しようとしています。
phpスクリプトのアップロードも許可しています。

headerで「Content-Type: application/octet-stream」を指定すればダウンロードになりますが、
これでphpスクリプトのダウンロードしても大丈夫でしょうか。
テストでは、スクリプトコード丸々書いてあるhoge.phpがダウンロードされました。
0969nobodyさん2009/07/31(金) 13:00:59ID:???
大丈夫ですかって何が?
スクリプトコード丸々書いてあるファイルでなく何をダウンロードさせたいの?
0970nobodyさん2009/07/31(金) 13:05:38ID:???
>>968
それはどこかコーディング間違ってるんじゃないか。

PHPのファイルがダウンロードされたら困るだろ
0971nobodyさん2009/07/31(金) 13:31:14ID:???
>phpスクリプトのアップロードも〜

move_uploaded_fileで移動するときに拡張子を.phpから.txtに変えて直リンでいいと思う
0972nobodyさん2009/07/31(金) 14:17:00ID:???
どんな言語でも一つ憶えれば、他の言語に応用効くから
好きなのからやれ
0973nobodyさん2009/07/31(金) 15:07:15ID:???
httpの仕組みって
ヘッダ情報と
クッキーと
POST・GETわかれば十分?
0974nobodyさん2009/07/31(金) 15:29:35ID:???
検索して出てくる上位サイトに書いてある事を理解できていれば平気
0975nobodyさん2009/07/31(金) 17:58:10ID:???
RFC読むのが先
0976nobodyさん2009/07/31(金) 18:15:02ID:???
そこまでいったんだから何番読むか書いてやれよ
0977nobodyさん2009/07/31(金) 20:14:44ID:f7nn6Kbb
質問です。
チェックボックスのデータをひとつずつ取り出して
それをデータベースのwhere文で検索したいのですが、
たとえばhttp://www.livein-tokyo.com/search2.php?tdfk_cd%5b%5d=13&tdfk_cd%5b%5d=14&tdfk_cd%5b%5d=11&
tdfk_cd%5b%5d=12こんな感じの場合どうやって取り出してmysql文
を組むのでしょうか?
教えてください。
チェックボックスの扱い方がわかりません
0978nobodyさん2009/07/31(金) 20:27:27ID:???
ttp://www.livein-tokyo.com/search2.php?tdfk_cd[]=13&tdfk_cd[]=14&tdfk_cd[]=11&
配列わたしてんじゃね
0979nobodyさん2009/07/31(金) 20:51:15ID:???
var_dump($_POST)してみると幸せになれるのでは
0980nobodyさん2009/07/31(金) 20:51:49ID:f7nn6Kbb
申し訳ありませんが、こう書いているんだよという
ソースかこういうことだよっていう
サイトがみたいです。
参考になるサイトありませんか?
よろしくお願いします。

配列わたしてんじゃね
だけでは意味がわからない。
0981977です。2009/07/31(金) 20:56:51ID:f7nn6Kbb
すいません。えらそうでした。
参考になりそうなサイトはいろいろたとえば
http://akita-nct.jp/yamamoto/comp/WEB/get_data/index.php
見たんですが、なんかこういまいちどう作っているのか
わからなくて。教えてください。
お願いします。
0982nobodyさん2009/07/31(金) 20:59:08ID:???
宿題?
0983nobodyさん2009/07/31(金) 20:59:42ID:???
var_dumpで、どんな値が送信されてるかチェックしたら一目瞭然でしょ?
0984nobodyさん2009/07/31(金) 21:03:15ID:???
>>981
「php チェックボックス」で検索してでてきたサイト見てみな?
それで何がわからないのか具体的に書いて
0985nobodyさん2009/07/31(金) 21:05:14ID:???
var_dumpでもprint_rでもしたらいいのに
レス数が950を超えています。1000を超えると書き込みができなくなります。