△▲ WebProg 初心者の質問 Part19 ▼▽
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/03/06(金) 00:11:17ID:???質問したいけど、どうしたら良いか分からない。
そんなときは、ここに書き込んでください。
板の住人や、その他が、けなしながら、厳しく教えてくれるかも。
質問する前に、まずはここを読んでね。
【注意事項】
・質問する前にGoogleで検索してみましょう
http://www.google.co.jp/
・環境(ソフトウェアのバージョンなど)は、必ず書いてください。できるだけ詳しく。
後から情報を書き足す、いわゆる情報の小出しは極力避けてください。
・何がしたくて、何ができて何ができないのかを書きましょう
・マルチポスト(複数のスレッドで質問する行為)は絶対に禁止です。
・過去ログは必ず読みましょう。あなたと同じ質問をしてる人がいるかも知れません。
2ch 総合ガイド
http://www.2ch.net/guide/
お願い。
適切な、板、スレ、を発見した場合、誘導してあげましょう。
スレの性質上 age 進行でお願いします。
関連情報は
>>2-3辺り
☆前スレ☆
△▲ WebProg 初心者の質問 Part18 ▼▽
http://pc11.2ch.net/test/read.cgi/php/1219842559/
0652nobodyさん
2009/04/22(水) 18:15:01ID:???何かヘッダの前に送出されているはずだから、それを確認してみたら
ありがちなのはメモ帳で編集しててBOMがくっついてるパターンとか
しかしiniでoutput_bufferingが指定されていれば、出力しても4kb程はバッファにたまるから大丈夫なはずなんだけどね
0653nobodyさん
2009/04/22(水) 18:17:15ID:???0655nobodyさん
2009/04/22(水) 18:28:40ID:???0656nobodyさん
2009/04/22(水) 18:29:16ID:???0657nobodyさん
2009/04/22(水) 18:45:24ID:???0658nobodyさん
2009/04/22(水) 19:16:10ID:???0659nobodyさん
2009/04/22(水) 19:38:21ID:???ナイワwwwwwwwwwwwwwwwww
0660nobodyさん
2009/04/22(水) 19:53:50ID:???「標準出力」という言葉の意味がようやくわかった気がする。
「○○が標準出力です」
って説明よりも、
「XXは標準出力ではありません」
っていう説明のほうが理解しやすい気がする。
0661nobodyさん
2009/04/22(水) 20:04:27ID:???0663nobodyさん
2009/04/22(水) 23:22:22ID:???ファイルが標準出力じゃない ということを理解したんだよ
まあ、それで
>「標準出力」という言葉の意味がようやくわかった気がする。
というのはちょっとどうかと思うが
0664nobodyさん
2009/04/22(水) 23:37:49ID:???0665nobodyさん
2009/04/23(木) 01:49:32ID:???0666nobodyさん
2009/04/23(木) 08:18:13ID:???ファイルをUnicodeで保存しているのなら、
一度、試しにEUCで作ってみるといい。
そうすると、>>655の意味が判るかもしれない。
0667nobodyさん
2009/04/23(木) 10:04:50ID:???標準入出力=ファイル だと信じて疑わないと躓く要因になる。
0668nobodyさん
2009/04/23(木) 10:50:05ID:???0669nobodyさん
2009/04/23(木) 11:25:56ID:???0670nobodyさん
2009/04/24(金) 20:17:21ID:???pearのフロントエンドっていうのは、
public_htmlの外にインストールしなければいけないの?
でもそれだとブラウザでアクセスできなくない?
だからpublic_htmlの中にインストールして、
そこのディレクトリにパスワードでアクセス制限をかけるの?
0671nobodyさん
2009/04/24(金) 20:41:30ID:???0672nobodyさん
2009/04/24(金) 20:44:21ID:???0674nobodyさん
2009/04/24(金) 23:42:03ID:???0676nobodyさん
2009/04/25(土) 00:06:23ID:???0677nobodyさん
2009/04/26(日) 19:46:22ID:HwIYAsBtPHPと一緒に使うために必要なバージョンはかわらないんでしょうか?
0678nobodyさん
2009/04/26(日) 21:35:32ID:???PHP、javascript、MySQL
この3つは、デフォルトでガチ。さらに、それプラス、
XML,PDF、FLASH(actionscript)
も必要だと思う。さらに
ubuntu
の知識も必要だよね。他にも何かある?
0679nobodyさん
2009/04/26(日) 23:37:21ID:???0680nobodyさん
2009/04/26(日) 23:52:36ID:???同じく、UbuntuじゃなくてLinux一般の知識。つうかUnix系OSの知識。
XMLにはそもそも学ぶ事はほとんど無い。
PDFは果てしなくどうでもいい。
他に必要なのは
各ブラウザの特徴。
Apache。
PHP以外の言語なにか最低ひとつ。
0681nobodyさん
2009/04/27(月) 00:00:17ID:???mysql5.1とphp5.2.x使うときはphpと一緒に配布されているdllがおかしいから
今のところ4.1か5.0か6.0だな
0682677
2009/04/27(月) 02:18:47ID:Aj5i6/gIありがとうございます
ちょうど5.1ダウンロードしたんで アンインストールします
0683nobodyさん
2009/04/27(月) 03:47:25ID:???デザイナつかない場合は自分で書かないといけない
<font color="red">とかやってたらたとえエンジニアでも許されない
0684nobodyさん
2009/04/27(月) 06:13:30ID:Aj5i6/gI12行目の $row = $result->fetch_array(MYSQLI_NUM);
はインスタンスを具体化させるように -> という使い方を
関数を使用するときに使用できるんでしょうか?
またできるのであれば これはどのように分解してプログラミングとしてかけるのでしょうか?
$result = fetch_array(MYSQLI_NUM);
$row = $result;
で合ってますでしょうか
よろしくお願いします
0685nobodyさん
2009/04/27(月) 07:43:51ID:???ようするにオブジェクト周りのリテラル表現を知らないからコードの意味がとれんのだろ?
勉強しろよ。
2パラについて答えると、Mysqliには関数もあるから、$result->fetch_array() は mysqli_fetch_array($result)と書くこともできる。
http://jp.php.net/mysqli-fetch-array
0686684
2009/04/27(月) 07:52:42ID:Aj5i6/gIリテラル表現と言うんですか 勉強します
最近本ではなくネットを見るとほとんど理解出来ない感じです
ありがとうございます
0687nobodyさん
2009/04/27(月) 08:24:10ID:???0688684
2009/04/27(月) 15:42:29ID:Aj5i6/gI$row = $result->fetch_array(MYSQLI_NUM);
>>685さんの言うような書き方だとこれはどのような書き方が出来るんでしょうか?
またMYSQLI_NUMとはなんの役割をしているんでしょうか?
0689nobodyさん
2009/04/27(月) 16:00:14ID:???0690nobodyさん
2009/04/27(月) 18:34:00ID:???あんまりよくないね。
最近の本なのに、
$_REQUESTで変数を受けてるとか。
あと説明がバラバラな感じで統合されてないかんじ。
0691nobodyさん
2009/04/27(月) 18:39:41ID:???どういうケースかで問題にもなるが
0692nobodyさん
2009/04/27(月) 18:57:51ID:???「$_REQUESTで変数を受けるのは危険だからヤメロ!」
とはっきり書いてあるんだよ。しかも3冊も。
0693nobodyさん
2009/04/27(月) 19:04:18ID:???もしどう危険かを書いてないなら捨てるに値する本だ
0694nobodyさん
2009/04/27(月) 20:14:27ID:???0695nobodyさん
2009/04/27(月) 20:36:44ID:???GETできるものはPOSTできるんだから
$_REQUESTが危険とか妄想も甚だしい
0696nobodyさん
2009/04/27(月) 20:38:42ID:???<input type="text" name="num" size="5">
<input type="submit" value="計算">
</form>
<?php
function aaa($a){
print $a;
$a--;
if($a>=1){
print " x ";
aaa($a);
}
}
if(isset($_POST['num']) AND $_POST['num']!=""){
$ccc=$_POST['num'];
$ddd = htmlspecialchars($ccc,ENT_QUOTES,"UTF-8");
aaa($ddd);
}
?>
0697nobodyさん
2009/04/27(月) 20:39:42ID:???これで階乗(!)の計算をする前の
計算式の表示ができるようになったんだけど、
かんじんの計算アルゴリズムがわかりません。
再帰のどこに仕込めばいいの?
8 x 7 x 6 x 5 x 4 x 3 x 2 x 1
↑こういうやつです
0698nobodyさん
2009/04/27(月) 20:51:03ID:???{
if ($n <= 1) {
return 1;
}
return $n * factorial($n - 1);
}
0699nobodyさん
2009/04/27(月) 20:56:53ID:???returnを使うんだ。
0700nobodyさん
2009/04/27(月) 20:57:45ID:???0701nobodyさん
2009/04/27(月) 21:03:26ID:???<input type="text" name="num" size="5">
<input type="submit" value="計算">
</form>
<?php
function aaa($a){
print $a;
$a--;
if($a>=1){
print " x ";
aaa($a);
}
}
function factorial($n)
{
if ($n <= 1) {
return 1;
}
return $n * factorial($n - 1);
}
if(isset($_POST['num']) AND $_POST['num']!=""){
$ccc=$_POST['num'];
$ddd = htmlspecialchars($ccc,ENT_QUOTES,"UTF-8");
aaa($ddd);
print " = ";
$eee = factorial($ddd);
print $eee;
}
?>
0703nobodyさん
2009/04/27(月) 21:07:49ID:???0704nobodyさん
2009/04/27(月) 21:09:15ID:???でもからめかたがわからんけど。
0705nobodyさん
2009/04/28(火) 19:12:20ID:???山田和夫
結構いいよね。初心者向き。
わかりやすい
0706nobodyさん
2009/04/28(火) 20:51:42ID:???0707nobodyさん
2009/04/28(火) 21:34:02ID:???逆引き系辞書
すっきりまとまっていてわかりやすい
0708nobodyさん
2009/04/28(火) 21:42:35ID:???0709nobodyさん
2009/04/30(木) 00:58:44ID:LgS6bdo00710nobodyさん
2009/04/30(木) 09:10:30ID:???0711nobodyさん
2009/04/30(木) 11:02:05ID:???生ヘッダってのはhttpのメッセージヘッダってことか?
手元の本によると、HTTP1.1の規定にRefreshというヘッダはないらしい
なので、それが機能する根拠はない
実際の動作はブラウザに依存するだろうな
動作するブラウザもあるみたいだ
0712nobodyさん
2009/05/01(金) 15:21:52ID:TRkhRI17class Hoge {
private $ct = null;
function Hoge() {
$this->ct = 0;
}
function countCt() {
$this->ct++;
}
}
この時Ajaxでカウントを行おうとすると
結局は毎回コンストラクトが呼ばれてずっと0のままですよね?
Cometという技術ではちゃんとカウントアップされていくと考えてよいのでしょうか?
0713nobodyさん
2009/05/01(金) 15:26:40ID:???0714712
2009/05/01(金) 15:29:45ID:???Wikipediaの説明を見るとコネクションはずっと張りっぱなしだと思うのですが違うんですか?
http://ja.wikipedia.org/wiki/Comet#.E5.AE.9F.E7.8F.BE.E6.89.8B.E6.B3.95
0715712
2009/05/01(金) 15:36:58ID:???出直してきます
0716nobodyさん
2009/05/02(土) 02:36:36ID:???class Hoge {
static $ct = null;
function Hoge() {
if( Hoge::$ct == null ){ Hoge::$ct = 0; }
}
function countCt() {
Hoge::$ct++;
}
}
0717nobodyさん
2009/05/02(土) 03:07:24ID:???static変数といえど、セッションをまたいで維持するのは、普通にやったんじゃ無理だろ。
Cometはレスポンスが届いた直後にすぐリクエストを送信させる技術だから、セッションは毎回切れる。
0718nobodyさん
2009/05/02(土) 03:14:04ID:???技術的にできるの?やり方しらないけど
0719nobodyさん
2009/05/02(土) 11:52:20ID:???よくあるセッションを使うやり方しかない。
Javaとか.NETだと、全変数をセッション変数として記録しておく事でリクエストをまたいで変数を維持する、というド外道な動作原理のフレームワークが存在するが。
0720nobodyさん
2009/05/02(土) 14:08:00ID:???0721nobodyさん
2009/05/02(土) 14:34:45ID:???1)ブラウザ側にajaxぽく持たせておく(DHTMLやJavascript変数として)
2)formにhiddenとして埋め込んでおき、リクエスト/レスポンスのたびに
ブラウザとサーバーとの間でピンポンする。
3)サーバー側でセッション変数に記録する。
4)サーバー側で、セッションIDをキーとしたDBテーブルやファイルに保存する。
1)2)はブラウザ側でデータを不当に改変できてしまうし、
4)は実装するのがめんどくさい。
よって、メモリ不足するとかセッション状態を長期間保持しないといけないとかいう
特殊な理由が無い限りは3)だな。
0722nobodyさん
2009/05/02(土) 14:54:01ID:???0723nobodyさん
2009/05/02(土) 15:01:40ID:???0724nobodyさん
2009/05/02(土) 17:16:06ID:???ブラウザを使ってウェブサーバーにアクセスします。
このときのhttp request/responseの内容を見たいのですが、
いいソフトウェアはありませんか。
Wiresharkを試してみたのですが、キャプチャ出来ませんでした。
0725nobodyさん
2009/05/02(土) 17:40:10ID:???Windowsではloopbackをキャプチャできないらしいよ。
自分に振られている他のIPアドレスでやってみては?
デフォルトで、script/server は動作ホストの持っている全アドレス
をlistenしている(-b 0.0.0.0)ので、192.168.xxx.xxx みたいな、
搭載ネットワークインターフェイスに割り振られているIPアドレス
でもアクセスできる。
0726725
2009/05/02(土) 17:41:44ID:???その上の部分はあってるはず。
0727nobodyさん
2009/05/02(土) 17:47:26ID:???0728724
2009/05/02(土) 18:20:51ID:???言い忘れていましたが、WindowsXPです。
OSを普通に起動しただけでは、192.168.xxx.xxxにpingを飛ばしてもキャプチャできませんでしたが、
教えていただいたwikiのように、
arp -s 192.168.xxx.xxx <MACアドレス>
route add 192.168.xxx.xxx 192.168.xxx.xxx
とすることでキャプチャ出来るようになりました。
ありがとうございました。
0729nobodyさん
2009/05/02(土) 18:27:08ID:???127.0.0.1を通るみたいね。
0730724
2009/05/02(土) 19:30:23ID:???>>728
>>729
pingは正常に届き、キャプチャできたのでうまくいったと思ったのですが、
変な事になりました。
apacheの応答が帰って来ません。
キャプチャしてみると、
192.168.0.133:1143 > 192.168.0.133:80 [SYN]
192.168.0.133:80 > 192.168.0.133:1143 [SYN,ACK]
192.168.0.133:1143 > 192.168.0.133:80 [ACK] *TCP CHECKSUM INCORRECT*
192.168.0.133:80 > 192.168.0.133:1143 [SYN,ACK]
192.168.0.133:1143 > 192.168.0.133:80 [ACK] *TCP CHECKSUM INCORRECT*
:
となっていました。
TCPのチェックサムが合わないせいでハンドシェイクに失敗しているようです。
チェックサムを計算する時にはsource/destのIPアドレスも計算に含めると記憶してますが、
そこらへんで計算が変になってるんでしょうか。
>route printしてみると、Windowsだと自分のNIC向けのパケットも
>127.0.0.1を通るみたいね。
127.0.0.1を目的地にしないと正常に動作しないってことなのかも知れませんね。
0731724
2009/05/02(土) 20:07:03ID:???何度もすみません。
route add 192.168.0.133 192.168.0.1(ルータのIPアドレス)
として、ルータまで往復させることで一応キャプチャできるようになりました。
一つのパケットが2回キャプチャされてしまいますが…。
なぜこれで、パケットが192.168.0.133と192.168.0.1の間でループしないのかは
わかりません(汗
0732nobodyさん
2009/05/02(土) 22:10:48ID:???今日は、正規表現の
勉強をするかな、、、
0733nobodyさん
2009/05/02(土) 23:22:31ID:???print_r
var_dump
var_export
他にもある?
0734nobodyさん
2009/05/02(土) 23:26:20ID:???0735nobodyさん
2009/05/02(土) 23:27:22ID:???って、説明読んでも、
何をするものなのか、意味
わかんないんだけど?
0736nobodyさん
2009/05/02(土) 23:30:35ID:???全然成長してないな
0737nobodyさん
2009/05/02(土) 23:36:27ID:???0738nobodyさん
2009/05/02(土) 23:40:38ID:???0739nobodyさん
2009/05/02(土) 23:54:12ID:???他人のサーバーに飛ばしたとき、
相手がアパッチのアクセスログを見ていて、
「ああ、これはどこそこから飛んできたな」
とかってわかるのですか?
0740nobodyさん
2009/05/03(日) 01:25:02ID:???チェックサムオフロードとか有効になってたら、キャプチャしたパケットの
チェックサムが正しくないことがあった気がする
0743nobodyさん
2009/05/03(日) 16:36:45ID:tWBMETkeRFCだとUTF-8を使わないと行けないようになっていますよね。
それを受けて、Tomcatとか
一時期のGoogleとかがUTF-8として解釈するように仕様変更してgdgdになりましたが、
結局どうすればいいのでしょう?
htmlソースの文字コードとUTF-8のどちらが来ても受けられるように、
文字コードの自動判別を組み込んだ方がいいのでしょうか。
0744nobodyさん
2009/05/03(日) 18:51:45ID:???0745nobodyさん
2009/05/03(日) 21:44:22ID:???取ってきたデーターを読み出す方法と、
三角関数の勉強をしようかな?
0746nobodyさん
2009/05/04(月) 00:38:48ID:AP7J/8iQNFC正規化済みと仮定しちゃってもいいんでしょうか?
0748nobodyさん
2009/05/04(月) 17:04:30ID:lHxMWjZ/http://〜/portal.do?page=test%gat
みたいに変な文字≒特殊な意味を持つ文字、ここでは%を混ぜるとcatalina.outに以下のような警告が出ます。
これは無害(無視しても構わない)ですか有害(何らかの対処が必要)ですか?
どなたかご教示ください。
ちなみにTomcatの処理落ち、500エラーは生じていません。
2009/05/04 16:42:57 org.apache.tomcat.util.http.Parameters processParameters
警告: Parameters: Character decoding failed. Parameter skipped.
java.io.CharConversionException: isHexDigit
at org.apache.tomcat.util.buf.UDecoder.convert(UDecoder.java:85)
at org.apache.tomcat.util.buf.UDecoder.convert(UDecoder.java:46)
at org.apache.tomcat.util.http.Parameters.urlDecode(Parameters.java:411)
at org.apache.tomcat.util.http.Parameters.processParameters(Parameters.java:393)
at org.apache.tomcat.util.http.Parameters.processParameters(Parameters.java:509)
at org.apache.tomcat.util.http.Parameters.handleQueryParameters(Parameters.java:266)
(以下だらだらとトレース情報が続く)
0749nobodyさん
2009/05/04(月) 17:12:05ID:???0750nobodyさん
2009/05/04(月) 17:19:18ID:???0751nobodyさん
2009/05/04(月) 20:26:34ID:???PHPはある程度覚え、サイトもいくつか作りました。
で、就職することを考えて、
1.PHPをもっと極める
2.PHPのフレームワークをいくつか覚える
3.ASP.NET方面へ
4.Java方面へ
5.RoRで冒険
6.Djangoで唯一無二の存在へ
どれが良いとおもわれますか?
就職したら実際どうなるかはわかりませんが、理想としては業務システム系ではなく一般ユーザ向けのウェブアプリ開発方面へ進みたいと思っています。
■ このスレッドは過去ログ倉庫に格納されています