【PHP】下らねぇ質問はID出して書き込みやがれ 104
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2011/02/14(月) 16:45:59ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 103
http://hibari.2ch.net/test/read.cgi/php/1295956018/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0623nobodyさん
2011/03/07(月) 01:31:33.09ID:???XMLの中にサムネイルURLというものがありますよね?
検索結果にまずそれを表示させて
echo "<a href=表示させたい小ページのURL?q=画像の本アドレス><img src=サムネイルURL></a>";
それで表示させたい小ページで
$img = $_GET['q'];
<img src={$img}>
で出来ませんか?
0624nobodyさん
2011/03/07(月) 01:50:39.29ID:???$bodyを後からstr_replaceするんではなくて
$bodyを作成する段階で必要な箇所に$str2を埋め込むべき
0625nobodyさん
2011/03/07(月) 10:45:29.51ID:???$bodyはユーザが入力するフォームと、表示するフォームを兼用しているので、ユーザ入力側に仕込むのは難しいです。
0626nobodyさん
2011/03/07(月) 11:44:18.47ID:???ドキュメントルートにimgがあるとして(たとえば /home/user/htdocs がルートで /home/user/htdocs/imgに画像)
src="/img/hoge.jpg"
と最初に/つければ、どこの階層からでもだいじょうぶだけど、それじゃだめな理由があるの?
0627nobodyさん
2011/03/07(月) 11:54:52.41ID:3E6woW5/書き込んだ文字列を読み込んでhtmlに出力する
このときエスケープはいつ行えばいいんですか?
出力するときにエスケープしろと言われるのをみますが書き込むときに改行を<br>に変換しないと1行1データにならないので書きこむときにエスケープと変換作業を行います
そうすると自然に出力前は何も出来ない。エスケープしたら<br>が無効されるのです
出力するときにエスケープしろというのはたぶんデータベースを利用したときの事ですよね
ファイルベースのときは書き込むときにエスケープして出力前は何もしなくても大丈夫ですよね?
もしXSSになるとしたら何故なるのかその理由の教えてください
0628nobodyさん
2011/03/07(月) 12:14:10.23ID:???理由はわからんが
> 相対パスではなく、絶対パスやURLを書けばいけるのですが、相対パスで行う方法はありますか?
0629。 ◆oDupeixhZv52
2011/03/07(月) 12:25:34.47ID:???<br>以外に変換とか、変換されちゃった<br>元にもどすとかいろいろあるけどね。
出力前にってのは、その例でいうと、ファイルから読んで出力する前に
変換してるとあとでいろいろ足したりするのがやりにくい、処理追加してその分の処理を忘れがちとか
そんな話。 データベースの話はまた別。
0630nobodyさん
2011/03/07(月) 13:19:42.53ID:???シンボリックリンクを作ればいい。ソースに手を加えないのだから、一番スマートだ。
>>626,628
理由は>>625だろうな。ユーザの負担がかかるとかじゃないかな。
ユーザ入力が絡むなら、スマートさより確実性を重視すべきだと思うんだが。
0633nobodyさん
2011/03/07(月) 19:33:23.28ID:???0634nobodyさん
2011/03/07(月) 20:27:02.42ID:W5zBM93k【連携ソフトウェア】 MySQL
【質問内容】
二行二列の配列に各々年齢とポイントが入っている配列があり、
年齢ごとに合計値を出したいと考えているのですが
何をどうすればいいのやらという感じでお手上げです
同じ年齢を抜き出す部分が特にわかりません
何卒ご教授ください
二次元配列テーブル
$[0][0] = 1;
$[0][1] = 10;
$[1][0] = 2;
$[1][1] = 10;
$[2][0] = 1;
$[2][1] = 5;
$[3][0] = 1;
$[3][1] = 1000;
$[4][0] = 4;
$[4][1] = 30;
結果(欲しい完成形のデータ)
1歳 1015
2歳 10
4歳 30
0635nobodyさん
2011/03/07(月) 20:30:41.18ID:???みたにループで回すだけ
0636nobodyさん
2011/03/07(月) 20:36:45.79ID:???0637nobodyさん
2011/03/07(月) 21:02:11.76ID:???foreach($arr as $item) {
$result[$item[0]] += $item[1];
}
0638nobodyさん
2011/03/07(月) 21:04:38.41ID:???echo "{$age}歳 $point\n";
}
0639nobodyさん
2011/03/08(火) 02:19:35.87ID:vGghQykN単に1行で書き込みたいんだったらserialize()でもしとけ
0640nobodyさん
2011/03/08(火) 02:32:56.42ID:5ZtbGR1Hですが調べてみてもさっぱりわかりません
カテゴリ分けするにはどうしたらいいんでしょうか?
0641nobodyさん
2011/03/08(火) 02:34:27.70ID:???0642640
2011/03/08(火) 02:40:27.05ID:5ZtbGR1Hありがとうございます、ねばってみます
あとひとつ聞きたいのです
データベースで商品のカテゴリ分けする場合、商品のテーブルのほかにカテゴリのテーブルも作成するんですか?
0643640
2011/03/08(火) 02:43:06.87ID:5ZtbGR1H○あとひとつ聞きたいです
0644 忍法帖【Lv=5,xxxPT】
2011/03/08(火) 02:53:11.85ID:mHC9A3l4ライブラリまたはデバイスとか実装されていないですか?
0645640
2011/03/08(火) 02:53:25.79ID:5ZtbGR1H商品用のテーブルとカテゴリ用のテーブル
どうやってリンクさせるのですか?
さっぱりわからない…
0646nobodyさん
2011/03/08(火) 02:56:40.52ID:???例とかないの?
具体的にどういうテーブル構造のものをどのようにフロントで表示させたいの?
これ明確にしてくれないと答えようがない
エスパー的には
商品テーブルとカテゴリテーブルをJOIN
0647640
2011/03/08(火) 03:12:02.45ID:5ZtbGR1Hすみません
商品用のテーブルには商品のデータ(商品名、値段など)が登録してあって、
その商品のデータをカテゴリべつに分けて表示したいと思っています
商品用テーブル items
id (商品番号)
title (商品名)
category_id (カテゴリー番号または名前)
カテゴリ用テーブル category
category_id (カテゴリー番号または名前)
category_name (カテゴリー名)
これでわかるでしょうか…
0648nobodyさん
2011/03/08(火) 03:16:06.00ID:???いやそのテーブル構成はわかってるんだ
> カテゴリべつに分けて表示したい
これをどのように表示させるんだ?
例えば、GETでカテゴリIDを指定してそれを表示させるのか
1画面でカテゴリごとにブロック作って表示するのか
書き出したあとのイメージ書いてみろ
0649640
2011/03/08(火) 03:27:50.50ID:5ZtbGR1HカテゴリURLをクリックしたら、
そのカテゴリに登録されている商品をずらーっと並べたいです
入れ子はないです
すみません、わかりませんよね…
phpは初めてで、ゼロから作っているのでおっしゃっている意味もイマイチわからないです
ごめんなさい
0650nobodyさん
2011/03/08(火) 03:30:51.45ID:???商品一覧出したい気持ちはわかる
その前に手順踏もうぜ!
まず、データベースでSELECT文は分かる?
GET、POSTは分かる?
0651640
2011/03/08(火) 03:36:19.34ID:5ZtbGR1Hすみません
SELECTはわかります
GET、POSTはいまいちです
↓今はここまで書けました
$url = "localhost";
$user = "root";
$pass = "";
$db = "";
// MySQLへ接続する
$link = mysql_connect($url,$user,$pass) or die("MySQLへの接続に失敗しました。");
$result = mysql_query( 'set character set utf8' );
// データベースを選択する
$sdb = mysql_select_db($db,$link) or die("データベースの選択に失敗しました。");
// クエリを送信する
$sql = "SELECT * FROM category";
$result = mysql_query($sql, $link) or die("クエリの送信に失敗しました。<br />SQL:".$sql);
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$category_id = $row['category_id'];
$category_name = $row['category_name'];
}
0652nobodyさん
2011/03/08(火) 03:39:25.12ID:???データベース使うより先にGET/POST優先すべきかな
URLで例えば
http://localhost/index.php?c=test
こんな?c=testみたいなの見たことない?
チャットじゃないんで手短にいうけど
?c=testとパラメータついてる時、
$_GET['c']という変数に「test」が入る
URLで?c=1みたいに、カテゴリIDを渡したらどうなる?
それをクエリ内での検索で使ってみたらどうかな?
0653nobodyさん
2011/03/08(火) 03:40:19.36ID:???0654640
2011/03/08(火) 03:44:08.71ID:mJwrvUdmすみません、なんとなくわかりました
ほんとに失礼で申し訳ないですが、迷惑になっているなら
キーワードとかヒントになりそうなことを教えていただけたら
あとは自分で検索して頑張ります…joinとかarrayとかだけでもとてもヒントになりました
ありがとうございます
0655640
2011/03/08(火) 03:47:04.82ID:5ZtbGR1Hいいえ、
本を読んだこと以外はphpは触ったこともないのですが、
とりあえず実践すれば見につくかと思いまして、
無謀だとわかってて何回かあきらめたんですけど、だんだんいいところまではできてきたので…
ほんとすみません
0656nobodyさん
2011/03/08(火) 03:58:12.72ID:???>>647を元にこれをするためのSQLは書けるの?
0657640
2011/03/08(火) 04:05:30.60ID:5ZtbGR1H>>656さんのSQLは書けるので、joinとかarrayで調べてたどってるうちにできちゃいました…
たくさん迷惑かけてしまってすみませんでした…
またあきらめるところでした
優しすぎて涙が出そうです
迷惑をおかけしてすみませんでした
本当にありがとうございます
0658nobodyさん
2011/03/08(火) 04:43:33.70ID:???一歩進めてよかったね
0659nobodyさん
2011/03/08(火) 05:49:28.91ID:???WebProgスレに変なの湧いてるがああいうのは末期
0660nobodyさん
2011/03/08(火) 05:56:27.44ID:Iy+AtfWH各々のブラウザ設定などではなく、
phpでサイト自体にリファラーの無効をできないでしょうか。
リファラーを偽装だとかクッションページを挟んで隠すだとかはできますが、
完全に無効にするにはどうすればいいでしょうか。
0661nobodyさん
2011/03/08(火) 05:58:21.98ID:???ブラウザでリファラ情報持っててPHPがそれ拾うだけだから
拾わなければ無効と一緒じゃね?
0662nobodyさん
2011/03/08(火) 06:06:51.95ID:???0663nobodyさん
2011/03/08(火) 06:19:03.43ID:Iy+AtfWHマヌケな質問してしまいました。
ってことは、リファラを隠したり、偽装したりする
プログラムもそれを表示するブラウザも様々なので、
結果が違う可能性があるってことですよね?
0664nobodyさん
2011/03/08(火) 06:44:12.17ID:???> プログラムもそれを表示するブラウザも様々なので、
> 結果が違う可能性があるってことですよね?
HTTPヘッダーについて勉強しておいで
ブラウザがサーバにリクエストするときにリファラ情報を一緒に送出してるわけ
なので設定やアドオンなんかでリファラ情報を送らないように制御できるブラウザもあ
受け取った結果が違うというのは当たり前のこと
リンクからきたかブラウザのお気に入りからきたかによってすでに違うわけだから
0665nobodyさん
2011/03/08(火) 07:16:56.77ID:Iy+AtfWH感謝いたします。
色々と調べてまたきます。
0666nobodyさん
2011/03/08(火) 08:50:54.45ID:???0667nobodyさん
2011/03/08(火) 11:20:46.31ID:XI937334ログインできてもページが表示されない
$login_url = "http://{$_SERVER['HTTP_HOST']}/aaa/aaa.php";
header("Location:$login_url");
exit;
教えてくだしあ
0668nobodyさん
2011/03/08(火) 11:26:27.36ID:???その経過くらい書けよ
なんで丸投げなんだよ
そんな質問方法、入試カンニングと同じじゃねーかよ
0670nobodyさん
2011/03/08(火) 12:01:36.03ID:XI937334丸投げしてすまない
調べても記述が同じで混乱してた
自分でもっと調べてみる。
0671nobodyさん
2011/03/08(火) 12:41:35.16ID:???0672nobodyさん
2011/03/08(火) 14:19:08.55ID:???0673nobodyさん
2011/03/08(火) 17:29:37.39ID:XI937334>>672
優しいな
0674nobodyさん
2011/03/08(火) 19:40:03.48ID:wdecqthy文字列を整数にキャストすると、0で始まっていても10進で返ってくると思っていいんですか?
0675nobodyさん
2011/03/08(火) 19:47:23.90ID:???0676nobodyさん
2011/03/08(火) 20:24:31.33ID:???"0x12"==18
0677nobodyさん
2011/03/08(火) 20:30:09.03ID:???0678nobodyさん
2011/03/08(火) 20:30:15.92ID:???phpのキャストに関する挙動は基礎の基礎と考えているか、
8進数の可能性を考えなかったかのどちらかかなぁ。
ともあれ、内部で使用しているstrtodは8進数を理解しないので、0から始まる文字列は10進数とみなされるよ
0680nobodyさん
2011/03/09(水) 00:27:55.83ID:D42Z/9Qbこれを一時的xsammpでWeb公開するにはどうすればいいのですか?
またphpをweb公開するにはどうすればいいのですか?
0681nobodyさん
2011/03/09(水) 00:34:27.86ID:???ネットの仕組みが分からないうちは、手を出さないほうがいいよ
0682nobodyさん
2011/03/09(水) 00:38:21.48ID:???0683nobodyさん
2011/03/09(水) 00:59:57.00ID:???Apacheを起動して
ルータから80番ポートを外に開放してできあがり
これであなたのPCもハッキングされ放題
ひゃっはー
0684nobodyさん
2011/03/09(水) 02:07:08.69ID:???デフォの設定でハッキングし放題とな。
おしえてくれ。そしてそのパッチをジャカルタに送って名を挙げるよ
0685nobodyさん
2011/03/09(水) 06:39:53.49ID:2uu1lCib「$url」の値をURLエンコードするにはどのように記述すればいいですか?
urlencode($url)と記述しても上のような文字列にならずに
そのまま表示されてしまいました・・・
0687nobodyさん
2011/03/09(水) 07:09:12.13ID:???0688nobodyさん
2011/03/09(水) 07:09:57.49ID:2uu1lCib<a href="http://google/test.php?url=urlencode($url)">
と書き換えましたがだめでした。
0689nobodyさん
2011/03/09(水) 07:20:51.76ID:???0690nobodyさん
2011/03/09(水) 07:26:28.44ID:???0692nobodyさん
2011/03/09(水) 07:40:38.45ID:???0693nobodyさん
2011/03/09(水) 07:50:53.31ID:2uu1lCibまったくの初心者でいろんなサンプルのプログラムを勘でちょっと
いじったりして遊んでました。
<?php
$str="$URL";
$encdata = urlencode($str);
echo $encdata;
?>
こうゆうことじゃないですよね・・・
ちゃんと動かなかったから違うんでしょうね・・・
0694nobodyさん
2011/03/09(水) 07:56:44.49ID:???マニュアル読め
0695nobodyさん
2011/03/09(水) 08:04:56.53ID:???PHPの場合はダブルクオーテーション文字列中にそのまま変数かけるけど
それはプログラム言語全体としては一般的ではないから
0696nobodyさん
2011/03/09(水) 08:09:12.51ID:???echo "こんな{$var}感じで・・・。";
0697nobodyさん
2011/03/09(水) 09:10:26.96ID:???0698nobodyさん
2011/03/09(水) 09:14:49.94ID:???0699nobodyさん
2011/03/09(水) 09:18:22.56ID:???0700nobodyさん
2011/03/09(水) 09:29:39.47ID:???ようはPHPだから問題ない
コンパイラ言語ならおっぱい括弧だって文字列扱いだしな
0701nobodyさん
2011/03/09(水) 09:45:14.57ID:???0702nobodyさん
2011/03/09(水) 09:50:30.43ID:???早くねーよ
0703nobodyさん
2011/03/09(水) 10:00:21.65ID:SspKnoAifwrite($fp, $php_data);
fclose($fp);
この場合、新しく作成されたファイルのパーミッションが666なのは仕様でしょうか?
鯖の仕様上、666で*.phpを作成するとInternal Server Errorが出る
0704nobodyさん
2011/03/09(水) 10:03:16.70ID:???ごめん、「場合によっては早い」というべきだった
測った上で言ってる
囲いの中にある変数の数が多いほど、おっぱい括弧のほうが早くなる
変数の数が少ないときはシングルのほうが早い
0705nobodyさん
2011/03/09(水) 10:14:05.47ID:SspKnoAiVS.
0666のファイルに直接アクセスするとInternal Server Errorを出す糞鯖
悪いのはどっちだ?
0706nobodyさん
2011/03/09(水) 10:16:12.18ID:???0707nobodyさん
2011/03/09(水) 10:17:06.55ID:???0708nobodyさん
2011/03/09(水) 10:19:37.17ID:???0709nobodyさん
2011/03/09(水) 14:05:22.33ID:GqBXYpF1面倒なのでログイン済みのURLを作りたいのですが可能でしょうか?
例えば、↓のような感じを想像しています
aaa.com/admin.php?admin=0000
よろしくお願いします。
<form method="POST" action="admin.php">
<input type="password" name="admin" size="10"><input type="submit" value=" ログイン ">
</form>
0711nobodyさん
2011/03/09(水) 14:24:27.17ID:GqBXYpF1自分のサイトです。
今後、会員向けページをつくり、会員登録完了メールに
「貴方の会員ページはこちら(aaa.com/member.php?mmb=0000 )です」
みたいな感じで流用しようとも思っていますので、教えて頂けませんか?
0712nobodyさん
2011/03/09(水) 14:29:41.41ID:???0713nobodyさん
2011/03/09(水) 14:31:50.39ID:???俺なら絶対しないな
URLさえ知っておけば誰でもログインした状態に
ログインしたページにバナーや掲示板でもあって、例えば僕のサイトにリンク張ってあったら
どのURLから飛んできたかわかるから、リンクはられたサイトの管理者もログインし放題
まあ それでもやりたけりゃどうぞ
0714nobodyさん
2011/03/09(水) 14:32:06.27ID:???試験だけgetでいいだろ
0715nobodyさん
2011/03/09(水) 14:32:53.63ID:???0716nobodyさん
2011/03/09(水) 14:34:58.26ID:???その知識レベルで、パスワード制のシステムを作るのはやばい
個人の趣味でやってるサイトだとしても、他人に使わせてはいけない
0717nobodyさん
2011/03/09(水) 14:48:37.13ID:GqBXYpF1パスワードの受け側をPOSTからGETに変えたら
↓でログインが成功しました。ありがとうございます。
aaa.com/admin.php?admin=0000
もう一度、POSTとGETの違いを勉強してきます☆
0718nobodyさん
2011/03/09(水) 14:51:40.07ID:???せめて初回のみパスワードログイン出来るようにして、クッキー発行。次からはクッキー読みに行ってログインされていればダイレクトにログイン後画面にリンク。
どうしてもパスワード無しでやるならURLのクエリを30文字くらいで暗号化して渡すかな
0719nobodyさん
2011/03/09(水) 16:07:35.34ID:???そんなレベルだったのかよw
とりあえず、パスワードを実装する前に
getでもpostでもページに表示させるとこ練習しろ
0720nobodyさん
2011/03/09(水) 16:52:25.26ID:???って事件があったなw
0721nobodyさん
2011/03/09(水) 16:52:32.31ID:???$valueに値を代入するとして、
@ $_POST['value'] がtrueなら $value = で代入
A @がfalseで$_COOKIE["$value"]がtrueなら $value = で代入
B @もAもfalseなら $value = "〜"; で代入
というのをスマートに書くアイディアがないでしょうか。
順番にnullかチェックしていくのはスマートじゃない気がしてモヤモヤしてます。
nullなら代入っていう演算子はPHPにはないのでしょうか・・(Perlでの ||=)
0722nobodyさん
2011/03/09(水) 16:55:28.36ID:???グーグル先生が綺麗にサイトのデータ消したとかもあったよな
<a href="index.php?id=300&mode=delete">削除</a>
こんなことしてるやつ稀によく見かけるから注意な
■ このスレッドは過去ログ倉庫に格納されています