【PHP】質問スレッドpart33【php】
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん
2006/02/16(木) 03:19:52ID:xwXojaq/【基本ルール】
・新規質問の方は上げてください。age進行でお願いします。
・質問者は2回目以降、最初のレス番号を名前欄に入れてください。
・回答者は質問者に対して>>(アンカー)をつけてください。
・煽り・荒らしは放置。荒らしに反応した香具師も荒(ry
・解決しなくてもこたえてもらったら礼を。
【質問テンプレ】
・マニュアルを調べたか、google検索したか(調べたキーワード)
・タイトル(禁:教えてください!etc) 例:requireとinclude
・内容 例:requireとincludeはどう違うのですか?
・質問する際には環境も明記。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
【PHP マニュアル】
http://www.php.net/manual/ja/
※マニュアル上部の「search for」から検索を活用すべし(便利)。
過去スレ、関連リンク、FAQ等>>2-10辺り
0809nobodyさん
2006/03/15(水) 21:30:21ID:???0811nobodyさん
2006/03/15(水) 22:28:40ID:???0812nobodyさん
2006/03/15(水) 22:30:54ID:???セミプロの場合はどちらでしょうか
アクセスはけっこうあります
0813nobodyさん
2006/03/15(水) 23:12:31ID:???ロールバックのタイミングを制御したかったら任意にcommitしろ、って感じじゃね?
0815nobodyさん
2006/03/16(木) 00:33:14ID:???消えちゃダメなら、パフォーマンス堕ちてもコミットすべき。
アニヲタキモい。
php案件は特にゴミなスキルの香具師が多い。
PG落ちと、喰えないデザの掃き溜め。
0816nobodyさん
2006/03/16(木) 00:54:33ID:???serializeしたオブジェクトをSOAPサーバに送って
戻すと、unserializeできないデータになってる
回避方法ある?
0819789
2006/03/16(木) 09:19:37ID:pVLzTb9pそれと質問をしておきながら、来れなくてすみません。
SQLエラーが出るわけではなく、配列に格納できてないみたいです。
$rst = mysql_query("select trim(leading '文字' from フィールド)from テーブル",$db);
while($log = mysql_fetch_array($rst)){
という具合に特定の文字を消去したフィールドを$logに配列としていれようとしているの
ですが、ためしに$logを出力すると全て空白になっています。
ここで失敗をしているのかと・・
0820nobodyさん
2006/03/16(木) 09:24:02ID:???0821789
2006/03/16(木) 09:28:50ID:???0822789
2006/03/16(木) 09:42:25ID:???に全部のデータがありました・・
0823nobodyさん
2006/03/16(木) 11:03:00ID:Fw1s0gZF本をみながらPHPを組んでいたのですが、ページ遷移の仕方が良く分かりません。
画面構成は
テキスト
消えるテキスト
消えるボタン
と、ある画面で、ボタンを押すと、
テキスト
新しいテキスト
となるようにしたいのです。
0824823
2006/03/16(木) 11:03:57ID:Fw1s0gZFecho "<html>";
echo "<head>";
echo "<title>テストファイル名 t.php</title>";
echo "</head>";
echo "<body>";
echo "<center>";
echo "文字列 ここにはタイトル ここは残したい";
echo "<br>";
if (!(isset($PageingProcess)))
{
echo "<form action='t.php' method='post'>";
$PageingProcess=True;
echo "☆ テキスト<br>";
echo "<input type='hidden' name='PageingProcess' value='{$PageingProcess}'>";
echo "<input type='submit' value='☆ ボタン'><br>";
echo "</form>";
}
if ($_POST['PageingProcess'])
{
echo "ボタンを押したら☆ テキストと☆ ボタンが消えてかわりにこれが表示されてほしい";
}
echo "</body>";
echo "</html>";
?>
汚いソースですが、よろしくお願いします。
0825824
2006/03/16(木) 11:46:00ID:Fw1s0gZFバージョンはPHP5.1.2 Apache2.0.55 環境はLocalhostです。
0826nobodyさん
2006/03/16(木) 12:07:06ID:???>if (!(isset($PageingProcess)))とif ($_POST['PageingProcess'])が
整合性が取れてない 。$_POST[]で合わせる。
>$PageingProcess=True;
>echo "<input type='hidden' name='PageingProcess' value='{$PageingProcess}'>";
boolから文字型への変換が掛かり{$PageingProcess}は1という文字になるよ。
問題はないけど一応留意。
0827824
2006/03/16(木) 12:22:00ID:Fw1s0gZF指摘の点、修正してみましたところ期待通りに動作になりました。
このサンプルをフィードバックしてメインのPHPに実装します。
ありがとうございました!
0828789
2006/03/16(木) 13:58:08ID:???配列には既に格納されていたらしく、sqlにアップする際の問題でした
お騒がせして済みませぬ
0829nobodyさん
2006/03/16(木) 15:18:39ID:???>>819 > ためしに$logを出力すると全て空白になっています。
ってのが根本的に勘違いだったようだが、どうやって出力してたんだ。
820の「$log[0]にあった」ってのも、逆に聞きたいんだが、
selectでカラムを1個しか指定してないのに[0]以外のどこに入るというのかと。
0830nobodyさん
2006/03/16(木) 17:44:24ID:???print_r か var_dump でやろうな。
0831nobodyさん
2006/03/16(木) 18:51:04ID:???0832nobodyさん
2006/03/16(木) 20:06:24ID:???その出て来たデータの文字コード上の問題は無いのかを調べ無いと。
配列に入れて変換すると消える文字コードも有るだろうが、禿。
0833nobodyさん
2006/03/17(金) 02:00:12ID:???できるようにしたいんですが、どうしたらいいんでしょうか?
バージョンは4です。
0834nobodyさん
2006/03/17(金) 02:23:00ID:???http://jp.php.net/manual/ja/ref.outcontrol.php
0835nobodyさん
2006/03/17(金) 11:21:25ID:???0836nobodyさん
2006/03/17(金) 11:25:53ID:???aあbcい12う3え.
↓
abc123.
0837nobodyさん
2006/03/17(金) 11:55:36ID:???ereg_replace("[^A-Za-z0-9\.]", "", "aあbcい12う3え.");
0838nobodyさん
2006/03/17(金) 11:57:45ID:???0840nobodyさん
2006/03/17(金) 12:29:51ID:???<?php
$str = "123"; //Shift JIS全角数字
echo ereg_replace("[^A-Za-z0-9\.]", "", $str); //PQR
?>
0841nobodyさん
2006/03/17(金) 12:55:05ID:???0842nobodyさん
2006/03/17(金) 13:46:13ID:???0843nobodyさん
2006/03/17(金) 13:47:47ID:???0844nobodyさん
2006/03/17(金) 13:49:50ID:???0845nobodyさん
2006/03/17(金) 13:52:34ID:???0846nobodyさん
2006/03/17(金) 13:59:05ID:???こないだHTMLをJISで出力してるサイトを見たが
あれはお前の作ったものか!?
IEが自動判別できなくて表示バケまくり…
0847nobodyさん
2006/03/17(金) 17:11:21ID:???アップロードの進捗を表示しつつアップロードするサンプル
http://phpspot.org/blog/archives/2006/03/post_50.html
0849nobodyさん
2006/03/17(金) 22:14:42ID:duB6JjQApreg_replace('/((?:s?https?|ftp):\/\/[-_.!~*\'()a-zA-Z0-9;\/?:@&=+$,%#]+)/i', '$1$1', '<a href="http://example.com/">');
としてやると、どうやらhttp://example.com/">までマッチしてしまっているようです。
Perl5.8.7ではhttp://example.com/までのマッチと、正常動作しているのですが、PHPで正常動作させることは出来ないのでしょうか。
0850nobodyさん
2006/03/17(金) 22:20:14ID:???4.4.2 for Winで実行してみたが「http://example.com/」部分しかマッチしない。
print preg_replace('/((?:s?https?|ftp):\/\/[-_.!~*\'()a-zA-Z0-9;\/?:@&=+$,%#]+)/i', '[$1][$1]', '<a href="http://example.com/">');
で実行結果が
<a href="[http://example.com/][http://example.com/]">
になったよ。
0852nobodyさん
2006/03/17(金) 22:29:54ID:???0853nobodyさん
2006/03/17(金) 22:32:28ID:???おまいの実装ではhttpヘッダで何も返さないからcharset=ISO-8859-1が指定された事に成ってる。
HTTPのRFCぐらい嫁。
ajax切ってある(w
0854849
2006/03/17(金) 22:34:46ID:???直前でhtmlspecialcharsをかけていたのが原因でした。
ENT_NOQUOTESを掛けたつもりでいたのですが、ENT_QUOTESになっていました。
ご迷惑おかけしました。すみません。
0855nobodyさん
2006/03/17(金) 22:35:03ID:???0856nobodyさん
2006/03/17(金) 22:38:08ID:???0857nobodyさん
2006/03/17(金) 23:02:44ID:???0858nobodyさん
2006/03/17(金) 23:50:06ID:???とすればうまくいきます。試してみて下さい。
0859nobodyさん
2006/03/18(土) 02:20:05ID:???が私からのお礼です。
どうかお納めください。
0860nobodyさん
2006/03/18(土) 11:51:29ID:???0861nobodyさん
2006/03/18(土) 14:47:56ID:???か想像で良いので教えて頂けませんか?
LDAP,Radiusのようなものを使っているのか、DBの中で管理しているのか…
0862nobodyさん
2006/03/18(土) 15:07:47ID:???そんな気がする。
0863nobodyさん
2006/03/18(土) 15:47:55ID:???*nix系の標準のユーザアカウントですかね。
それだと沢山のWebサーバやDBやサービスが出てきた時に一元管理できなくなるような
気がして…
PHPから*nix系アカウントを利用している実装って見たことないんですけど、
ご存知であれば教えてもらいたいです。
0864nobodyさん
2006/03/18(土) 15:52:56ID:???0865nobodyさん
2006/03/18(土) 16:01:33ID:???PEARのAuth_HTMLって知らない?
それを調べて使ってみれば大雑把なイメージはできると思う。
もちろん、大規模サイトでは独自のロジックを使用しているとは思うけれど。
0866nobodyさん
2006/03/18(土) 16:02:19ID:???データベースはLDAPだったよ。まぁ、ユーザ数はYahooの足下にも及ばないけどね。
なんでもISPではLDAPを使うところが結構あるらしいよ。
ただ、LDAPはそもそもは単なるディレクトリデータベースだから、
ユーザーごとのいろんな情報を分類して入れとくのに便利ってだけで、
認証とは直接関係ないけどね。
0867865
2006/03/18(土) 16:09:23ID:???0868nobodyさん
2006/03/18(土) 16:14:28ID:???> PEARのAuth_HTMLって知らない?
名前だけは知ってましたけど、そういう目的に利用できるものなんですね…
PEAR::Auth で Auth_LDAPとかもあるみたいですね。
ドキュメントは少なそう…PEAR本買うかな…
>>866
LDAPは認証関係ないんですか。認証ログとかの取り扱いもしてないんですかね。
Radiusもちょい調べてみたら、php-radiusとかあるんですね。
0869nobodyさん
2006/03/19(日) 03:03:07ID:???echoを使う際のhtmlの書き方は下記のもので合ってるんですかね?
echo "<table color="#EFEFEF">\n";
0870訂正
2006/03/19(日) 03:04:20ID:BDJY4Umc0871nobodyさん
2006/03/19(日) 03:13:48ID:???0872869
2006/03/19(日) 03:14:02ID:BDJY4Umc意味ワカンネ。。
echo文の中ではダブルクオーテーション使っちゃいかんの?;
0874nobodyさん
2006/03/19(日) 03:19:02ID:???PHPの中の人
1. echoキター 文字列キボンヌ
2. " をハケーン。文字列の開始キター
3. <table bgcolor= ここまで読んだ
4. " キター。文字j列終了sage
5. # !? 何コレキタ?
6. ワケワカンネ(;´Д`)
7. エラーage
0875nobodyさん
2006/03/19(日) 03:24:49ID:???0881nobodyさん
2006/03/19(日) 17:04:27ID:???0882nobodyさん
2006/03/19(日) 17:14:17ID:???認証は、DBを使ってます。LDAPは使ってません。
ユーザ名とパスワードをデータベースに入れておき、ログイン時に確認しているだけ。なんの難しいこともやってません。
LDAPは簡単なデータ検索のためのプロトコルです。それが認証という用途でよく使われるだけであり、認証のためのプロトコルではありません。
認証以外では例えば郵便場号を入力すると住所が返ってくるようなLDAPサーバを作ることもできます。
またLDAPはクライアントサーバ型のアプリケーションでは便利ですが、Webアプリではあまり使われません。というか、わざわざLDAPを使う理由がありません。
クライアントサーバでは、ユーザ情報(名前とパスワード)はクライアント側ではなくサーバ側にあるため、認証が必要ならサーバに問い合わせる必要があります。そのときのプロトコルとしてLDAPが使われます。
つまり認証を必要とするアプリと、認証に必要な情報をもっているサーバが別であるため、LDAPのようなプロトコルが必要になります。
例えばメールソフトがメールサーバに接続するときにLDAPをつかって認証を行うという場合がこれにあてはまります。
Webアプリケーションでもユーザ情報がサーバ側にあるのは同じですが、認証を必要とするアプリ自体もサーバ側にあるため、すべてがサーバ側で完結しています。
そのため、わざわざLDAPのようなプロトコルを使って通信をする必要がありません。
ただし、アプリケーションごとにサーバが分かれており、かつユーザ情報を一元管理している場合は、アプリケーションサーバが認証サーバに問い合わせるような形態にすることはあります。
そのときにLDAPを使う可能性はありますが、通常は単なるDBサーバへの通信を使うことが多いです。
Radiusは、通信経路を確立するときに認証を必要とするプロトコルです。
Webアプリでは通信経路はすでにHTTPで確立されているため、Radiusはまったくつかえません。そもそもの用途が違います。
0885nobodyさん
2006/03/19(日) 18:51:07ID:???だぁね。
<?php echo "<table bgcolor="#EFEFEF">\n"; ?>
ってので試してみると、<table bgcolor= だけ表示されて正常終了する。
0886nobodyさん
2006/03/19(日) 19:45:00ID:???認証鯖が堕ちたらサービス中断するからね。
DBだとボラクルRACになって金がかかる。
認証をどう使うかは実装次第。
ldapをPPPoEとかの認証に使う実装も有り。ただ重いので、sslもしないでradius認証が一般的。
中の人の声キター!
ハゲワロス。
これスクリプト化して配布すると実用性有るよ。
にちゃんねらのためのPHP入門に収録決定。
ldapがISPで採用されるのは、PPPoEの認証じゃなくて、鯖との認証系。
どこかのradius鯖がladap互換機能も持ってたかも知れないけど。
*nix系の認証はwebminあたりを参考にするといい。
0887nobodyさん
2006/03/19(日) 20:08:58ID:???print qq|<a href="$hoge">hoge</a>|;
が使えたらどんなに楽なことか…
0888nobodyさん
2006/03/19(日) 20:25:38ID:???0889nobodyさん
2006/03/19(日) 20:29:22ID:???ヒアドキュメントという手ぐらいしかないもんなぁ…
print <<<QQ
<a href="$hoge">hoge</a>
QQ;
0891nobodyさん
2006/03/19(日) 20:42:53ID:4ZTFbIAr<?php
$agent=$_SERVER['HTTP_USER_AGENT'];
if(preg_match〜〜
elseif(preg_match("/KDDI\-/",$agent)) {
include ("相対パス");
}
〜
?>
としています。
さきほど言ったように、読み込んでいるファイルは、.htmlです。
0894nobodyさん
2006/03/19(日) 21:26:38ID:N7Rtukykキャッシュは無効にしてある?
0895894
2006/03/19(日) 21:27:45ID:???ごめんなさい。
0897nobodyさん
2006/03/19(日) 21:49:35ID:V+xlGNgJstrip_tags($unko, '<b><s><p>');
これで合ってますか?
0898nobodyさん
2006/03/19(日) 22:06:08ID:???できるようにソースを弄れば?
再配布したら主流に成るかもよ。
0899nobodyさん
2006/03/19(日) 22:08:56ID:4ZTFbIArアクセスしたあと、携帯の戻るをして、再びアクセスを繰り返すってことです。
>>894
htmlファイルにメタで無効にしてますが
0900nobodyさん
2006/03/20(月) 00:40:31ID:???0901nobodyさん
2006/03/20(月) 00:41:01ID:???0903nobodyさん
2006/03/20(月) 06:42:32ID:???その辺でプログラムがどっか誤動作してる気がするなー。
PCやDocomoでは絶対にキャッシュしないだろうパターンでもauでは大抵はキャッシュするよ。
1度戻って再アクセス、という場合だと、まず再アクセス時にはプログラムには実際にはアクセスが入ってない。
auのゲートウェイサーバー上に残ってるキャッシュを再表示してるだけだと思う。
そういう挙動をされた場合にどこがどう誤動作するかは一連のプログラム全体を見ないと正直分からん。
タグがそのまんま表示されてしまう… どっかが抜けたことでヘッダーがtext/plainで認識されてしまうか
どこかで<pre>タグが閉じてない状態になってるのか?
0904nobodyさん
2006/03/20(月) 07:57:57ID:???話し変わってもうすぐ1000だけど
テンプレどうするよ。以前わかりにくいって議論になってたけど
0905nobodyさん
2006/03/20(月) 10:38:28ID:???--------------ココカラ--------------
PHP全般の質問スレです。>>2-10も参照。
【基本ルール】
・新規質問の方はageてください。
・2回目以降は最初に質問した際のレス番号を名前欄に入れてください。
(逆に回答者は質問者に対して>>(アンカー)をつけて答えてください。)
・Googleやマニュアルで調べてから質問してください。
(マニュアル:http://www.php.net/manual/ja/)
・解決しなくても答えてもらったら礼を。
・煽り・荒らしは放置。
--------------ココマデ--------------
>>2は過去スレのみで十分かも。
>>3はいらないと思う。誰も見ない上に毎回新スレを立てる時に更新が面倒くさそう。
>>4のFAQは内容はいいけど、妙に分かりづらい印象なのでこれから要再考。
>>5は個人的には記念に残って欲しいけど、スレ立てる人の好きにしてください。
思いっきり独断で書いたので、何か思いついたことがあったら言ってください。
0906nobodyさん
2006/03/20(月) 10:52:10ID:???それ以上古いのはどうせ落ちてるだろうから他のミラーサイトとかで探すでしょ。
--------------ココカラ--------------
<前スレ>
【PHP】質問スレッドpart33【php】
http://pc8.2ch.net/test/read.cgi/php/1140027592/
<過去スレ>
【PHP】質問スレッドpart32【php】
http://pc8.2ch.net/test/read.cgi/php/1136276300/
【PHP】質問スレッドpart31【php】
http://pc8.2ch.net/test/read.cgi/php/1133017632/
【PHP】質問スレッドpart30【php】
http://pc8.2ch.net/test/read.cgi/php/1130190606/
【php】part29【php】
http://pc8.2ch.net/test/read.cgi/php/1120611474/
【PHP】質問スレッドpart28【php】
http://pc8.2ch.net/test/read.cgi/php/1115281031/
--------------ココマデ--------------
0907nobodyさん
2006/03/20(月) 11:00:32ID:???----------------------------------------------------
PHP全般の質問スレです。>>2-10も参照。
【基本ルール】
○新規質問の方は必ずIDを表示させてください。
書き込む場合はメール欄に何も記述しないでください。
○2回目以降は最初に質問した際のレス番号を名前欄に入れてください。
(逆に回答者は質問者に対して>>(アンカー)をつけて答えてください。)
○質問の前にGoogleやマニュアルで調べてください。
(マニュアル:http://www.php.net/manual/ja/)
○解決しなくても回答をもらった場合はお礼を言う。
(荒らし、煽りは除く)
-------------------------------------------------
>>2はそのまま残したほうがいいと思う。
>>3は全部いらない。
>>4は確かにわかりにくいけど役に立つからそのまま。
>>5は以下
--------------------------------------------------
質問する場合の注意
1. 自分のIDを表示させること。
2. ハードウェア、OSのバージョン等を記述すること。
3. 己の行った操作、変更などを詳しく記述すること。
4. エラーメッセージはそのまま表記すること。
5. 質問者としても態度をわきまえること。
以上を満たしていない質問の場合、
回答は期待しないでください。
0908nobodyさん
2006/03/20(月) 11:03:54ID:???マニュアルの次ぐらいに
PHPの質問スレ、及びPHPのクダ質問スレのFAQをまとめるサイト
http://wiki.2chx.net/php/ (育成中。まだまだこれから)
入れるてのはどう?
レス数が900を超えています。1000を超えると表示できなくなるよ。