【PHP】下らねぇ質問はここに書き込みやがれ 40
■ このスレッドは過去ログ倉庫に格納されています
00011様
2007/02/22(木) 22:37:41ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 39
http://pc10.2ch.net/test/read.cgi/php/1171280039/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ http://pc10.2ch.net/php/subback.html
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで http://pc10.2ch.net/db/subback.html
0159nobodyさん
2007/02/24(土) 20:44:34ID:YJBwbPsKすばやい解答ありがとうございます!
プログラムど素人で、phpは勉強し始めて一ヶ月でわからないことだらけですが、
すごく面白いですね
ここのスレの人たちも親切ですし、すごくやる気がでてきます
本当にありがとうございました
0160nobodyさん
2007/02/24(土) 20:46:43ID:YJBwbPsKすばやい解答ありがとうございます!
プログラムど素人で、phpは勉強し始めて一ヶ月でわからないことだらけですが、
すごく面白いですね
ここのスレの人たちも親切ですし、すごくやる気がでてきます
本当にありがとうございました
0161nobodyさん
2007/02/24(土) 20:55:06ID:???0164162 ◆4M/QOnfmpY
2007/02/24(土) 21:53:21ID:???どうなってんのよおぃ……
0165nobodyさん
2007/02/24(土) 23:05:59ID:???かける?
0166nobodyさん
2007/02/24(土) 23:16:39ID:???かける?
0167nobodyさん
2007/02/25(日) 01:05:09ID:gfMJR4ridbから取り出すプログラムを組みたいのですが
エラーが出てしまうのでよろしくお願いします。
16:$con=mysql_connect("localhost","y","p","test1");
17:$query="select*from db;";
18:$res=mysql_query($con,$query);
19:
20:while ($row=mysql_fetch_array($res)){
21:print('<tr><td>'.$row["id"].'</td><td>'.$row['db'].'</td><tr>');
22:}
23:mysql_free_result($res);
24:mysql_close($con);
エラー内容
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\Program Files line 18
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files line 20
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in C:\Program Files line 23
取りあえず以上なんですがよろしくお願いします。
0168nobodyさん
2007/02/25(日) 01:15:25ID:/w8sKU8xAuthについて質問です。
MySQLにパスワードと名前を入れておいて、そこを読み取って認証するという
単純な認証を試しに作ってみたのですが、どうも巧く行きません。
具体的には、どのような入力をしても、以下の「MyAuth.php」のswitch($status)でdefaultが選ばれてしまうので、困っています。
どなたか、アドバイスをください。
以下のURL先がソースコードです。
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29230
0169nobodyさん
2007/02/25(日) 01:17:44ID:???まずDBに接続出来ていない。
mysql_connect("localhost","y","p","test1")
の条件で本当に接続できるか確認。
出来ているなら、mysql_connectのマニュアル読んでさらに確認。
0170nobodyさん
2007/02/25(日) 01:22:57ID:???(PHP 4, PHP 5)
mysql_query ? MySQL クエリを送信する
説明
resource mysql_query ( string query [, resource link_identifier] )
0171nobodyさん
2007/02/25(日) 01:24:26ID:???がおかしいだけだな。
$query="select * from db";
にして味噌
0174nobodyさん
2007/02/25(日) 01:32:16ID:???0175168
2007/02/25(日) 01:33:36ID:???どのようにその原因を探せば良いのかが分からないのです。
0176nobodyさん
2007/02/25(日) 01:39:09ID:???0177168
2007/02/25(日) 01:45:18ID:???$statusをたどるという事の意味がよくわからないです。
Auth.phpのコードを読むという事でしょうか?
0178nobodyさん
2007/02/25(日) 01:50:06ID:???"loginFunction"ってのはログイン画面だけを書く場所じゃないの?
その後に認証されてるかどうかをチェックしていくようだが
http://www.phpbook.jp/pear/pear_auth/index.html
0180nobodyさん
2007/02/25(日) 01:53:06ID:???ログインごときでハマるぐらいなら使わないほうがよっぽど早いと思うが。
0181178
2007/02/25(日) 01:58:53ID:???statusに何も入らないって事はセッションが確立できてないとか?
とりあえずさっきのURLの奴を最初から順に追ってくべきだと思うが
0182168
2007/02/25(日) 02:15:30ID:???先ほどのURLの文書は参考にさせていただきます。
今のところ、MySQLを動作させていない状態でも挙動が一緒なので、
きっと、データベース周りがおかしいのだと思います。
しかし、PEAR::DBを使ったデータベース接続は問題が無いので、
なかなか、問題点の予想がつきません。
>>179
http://pear.php.net/manual/ja/package.authentication.auth.php
は、一通り目を通したつもりなのですが、原因が分かりませんでした。
再読してみます。
>>180
便利だと聞いて、使ったら痛い目に遭ってます(三日ほど
勉強と思って、使ってみているつもりです。
0183nobodyさん
2007/02/25(日) 02:23:47ID:0G38USQnシステム全体で使う物を定義したphpをいちいち全php(というか実際には一番下の)
にrequire_once書かないで、自動的に読み込む方法ってありますか?
DBにアクセスする基底クラスとか、いろんな場所から使う物にrequire_onceしとけば
たいてい、読み込むだろうけど、なんか管理しづらいというか、
「ああ、ここには読み込まれてないのか」的なエラーは面倒なので
あったらお願いします。
0185168
2007/02/25(日) 02:30:37ID:???<IfModule mod_php.c>
php_value auto_prepend_file "hoge.php"
<IfModule>
って入れればOKだったはず。
適当なURLが見つからないが、
http://www.shigeweb.jp/php/project_p/?section=setup&page=htaccess
あたりを参考にしてください。
0186185
2007/02/25(日) 02:42:09ID:???.htaccessに
<IfModule mod_php.c>
php_value auto_prepend_file "hoge.php"
</IfModule>
だった。
0187185
2007/02/25(日) 02:44:48ID:???グダグダやな。
PHP4なら
.htaccessに
<IfModule mod_php4.c>
php_value auto_prepend_file "hoge.php"
</IfModule>
だった。
PHP5なら、5で。
0189183
2007/02/25(日) 03:53:14ID:0G38USQnありがとうございます
とうぜんですがphp.iniでもいけるみたいですね。
.htaccessを使えばディレクトリ単位で変えられますね
ふむ。便利だ。
ありがとうございました。
どうでもいいけど。phpの公式日本語マニュアルが出ない・・・
まあ、他にもいろいろあるから良いけど。
0190nobodyさん
2007/02/25(日) 06:03:56ID:t/+ZOEawwww.x.com と secure.x.com で一つのクッキーやセッションを共有することはできますか?
やり方を教えてください
よろしくお願いします
0191nobodyさん
2007/02/25(日) 06:11:50ID:t/+ZOEaw完全な共有でなくても、擬似的に共有したような状況にできる方法があったら
ご教授ください
0192nobodyさん
2007/02/25(日) 06:22:31ID:t/+ZOEawフォームにデフォルトで " と ' を含む文を表示させたいのですが崩れてしまいます・・・
フォームの中の " ' をちゃんと表示させる方法はありますか?
0195nobodyさん
2007/02/25(日) 08:36:48ID:???0196nobodyさん
2007/02/25(日) 08:39:16ID:???0197nobodyさん
2007/02/25(日) 10:47:00ID:???phpじゃなくてhtmlの話だな
既に二人が答えてるけど、マジッククオート関係を調べれば意味がわかると思う
0198nobodyさん
2007/02/25(日) 13:31:33ID:???echo "結果$str_m";
例なんですが、↑は大丈夫で↓は駄目です。
$str['m'] = "あああ";
echo "結果$str['m']";
そこで中括弧で括るとOKな事は分かったんですが、
{$str['m']} 、 ${str['m']} 両方動作するのですが、どっちがいいのでしょうか?
echo "結果".$str['m']; にしろってのは無しの方向でお願いします。
0199nobodyさん
2007/02/25(日) 13:39:54ID:???0200nobodyさん
2007/02/25(日) 13:49:17ID:???どっちでもいいよ意味は同じ
むしろパーサからしたら echo "結果" . $str['m'];
の方が早いだろうしダブルクォート内に
変数を入れ込まないと相当読みづらくなるっていう
場合でもない限り俺は最後のスタイルで書く
0201198
2007/02/25(日) 14:05:36ID:???ぐぐっても分からなかった(検索キーワード的にも難しかった)のでスッキリしました。
速度に関しては、以前から連結が最速というのは知ってますが、
実際はヒアドキュメント内で$_SERVER['']などの記述をどうしようか模索してました。
出力部がスクリプト内に点在しているのが管理的にも嫌だったので、
変数にためて最後に出力したり、ヒアドキュメントなど利用しているのですが、
そもそもその方法が駄目なのかなとも思います。
最後に>>200さんの改行スタイルを解析中です。
0202nobodyさん
2007/02/25(日) 14:11:11ID:0G38USQn早いって言うのは
}を見つけるまでそれが変数だとPHPが解らないからって感じかな?
まあ、微々たるモンだろうけど。
それにクォート内の色が変わるエディタを使っていたら
一番下のやり方が見やすいし。
たしかに一度ドットで抜けて、また戻ってって面倒なときあるけどね。
どうしても{}を使うなら{$hoge}が見やすいかな?
0204nobodyさん
2007/02/25(日) 14:39:11ID:???0205nobodyさん
2007/02/25(日) 14:54:51ID:???0206nobodyさん
2007/02/25(日) 15:08:59ID:???これで十分
0207nobodyさん
2007/02/25(日) 15:13:27ID:???0208nobodyさん
2007/02/25(日) 15:15:35ID:???0210nobodyさん
2007/02/25(日) 15:17:32ID:???ついでに言うと$output .= ってやってって最後にどんと。
zen-cartだったかな?
<? ?>で書いてあってすげー読みづらかった…
しかも同じようなコード繰り返してるし。
0211nobodyさん
2007/02/25(日) 15:18:40ID:???【おまえらに作らせよう】
http://pc10.2ch.net/test/read.cgi/php/1172328149/
【恥を知れ】
http://pc10.2ch.net/test/read.cgi/php/1161784348/
【著作権ってなんですか?】
http://pc10.2ch.net/test/read.cgi/php/1162123400/
【口だけクン】
http://pc10.2ch.net/test/read.cgi/php/1170317609/
【Mr.へりくつ】
http://pc10.2ch.net/test/read.cgi/php/1171955922/
0212nobodyさん
2007/02/25(日) 16:29:35ID:???0213nobodyさん
2007/02/25(日) 16:29:38ID:???0214nobodyさん
2007/02/25(日) 16:30:44ID:???0215nobodyさん
2007/02/25(日) 16:41:44ID:???0216nobodyさん
2007/02/25(日) 16:55:06ID:XAraiK/yそこで質問です
フォームで改行された場合、 str_replaceで\r\nを<br>で置き換えます
投稿された文章を見る場合だけなら問題ないのですが、
投稿したコメントを編集しようとした場合、<br>タグが出てきますよね
編集の際、
普通に書き込む時と同様に、<br>を表示させないようにするためにはどのようにすればいいのでしょうか
0217nobodyさん
2007/02/25(日) 16:59:33ID:???デザイナーの入る余地はない。
っていうかデザイナーの絡む仕事って言うのやったことない
0218nobodyさん
2007/02/25(日) 16:59:50ID:???DBには投稿されたまま保存して
画面上に表示するときだけ<br>に変換する
textareaに表示するときはそのまま表示
0219nobodyさん
2007/02/25(日) 17:21:26ID:???if (mb_detect_encoding($str) != 'EUC-JP') {
mb_convert_variables('EUC-JP', mb_detect_encoding($str), $str);
}
これ必須だったりします?別になくてもおk?
0220nobodyさん
2007/02/25(日) 17:30:21ID:???1.異なった文字コードで投稿される場合があるのか
2.異なった文字コードを変換して保存する必要があるのか
による
0221nobodyさん
2007/02/25(日) 17:53:25ID:???俺は今まで
/*入力確認*****************/
〜ソース〜
/*DB登録処理***************/
〜ソース〜
みたいに書いてたんだけど、なんか分かりづらい気もして。
気にする事はないだろうけど、、綺麗なソースを書きたいので、気になりました。
0224nobodyさん
2007/02/25(日) 18:01:35ID:???グダグダになるに$1
0225nobodyさん
2007/02/25(日) 19:31:15ID:XAraiK/yなるほど!
ありがとうございます
0226nobodyさん
2007/02/25(日) 19:45:40ID:eI7feJlvどこのレンタルサーバを使われていらっしゃいますか?
あと、PHP4とPHP5のスクリプト互換性は合った方がいいですか?
0227nobodyさん
2007/02/25(日) 19:59:22ID:???レン鯖をつかうような掲示板とかのちょっとした小物だったらphp4で書いてる。
よく使うレン鯖は今んと頃軽くて使い勝手が良いので勘弁。
0229190
2007/02/25(日) 20:58:19ID:IYDfC2eT説明不足ですみません
htmlspecialcharsで変換するのは知っていますが、ユーザーがフォームに " ' を入れた場合、それを
修正してもらうためにもう一度 フォームの中に " や ' が表示された状態で画面を再表示させたいの
です。
フォームのvalueにhtmlspecialcharsで修正した値を入れると、"e;などの文字列がフォーム内に直接
表示されてしまいますよね。しかしhtmlspecialcharsで修正しないと " のせいでフォームが途中で途切れ
てしまいます。これをなんとかしたいのです。
0230190
2007/02/25(日) 20:59:42ID:IYDfC2eT0232nobodyさん
2007/02/25(日) 21:08:21ID:???マジッククォートはoffだし、onでもフォーム内にバックスラッシュが表示されるだけでしたが。
そうではなくて、例えばユーザーがフォーム内に「Arcator"bar"Baalouse」と入力したら、まったく
同じものが修正要求のメッセージと共に表示されないと困るのです。
0233nobodyさん
2007/02/25(日) 21:10:16ID:???0234nobodyさん
2007/02/25(日) 21:11:51ID:???0235nobodyさん
2007/02/25(日) 21:13:59ID:???何をどうしたくて現状どうなってるのかサッパリわかんねえ
0236nobodyさん
2007/02/25(日) 21:20:20ID:IYDfC2eT$val = ""e;";
<input type="text" name="test" value="{$val}">
↑これでは変換前の実体参照がそのまま表示されるだけですね
$val = '"';
<input type="text" name="test" value="{$val}">
↑これでもフォームが途中で途切れてしまいますね
フォームのデフォルトバリュー内に " や ' が混在するとき、どうすれば正常な
表示が可能なのか、というのが質問の趣旨です。マジッククォートやhtmlspecialchars
では、この問題を解決できないと思うのですが。
0237nobodyさん
2007/02/25(日) 21:26:20ID:???\/ ● 、_ `ヽ ======
/ \( ● ● |つ
| X_入__ノ ミ
、 (_/ ノ /⌒l
/\___ノ゙_/ / =====
〈 __ノ ====
\ \_ \
\___) \ ====== (´⌒
\ ___ \__ (´⌒;;(´⌒;;
\___)___)(´;;⌒ (´⌒;; ズザザザ
0239nobodyさん
2007/02/25(日) 21:30:57ID:???\ ∩─ー、 ====
\/ ● 、_ `ヽ ======
/ \( ● ● |つ
| X_入__ノ ミ
、 (_/ ノ /⌒l
/\___ノ゙_/ / =====
〈 __ノ ====
\ \_ \
\___) \ ====== (´⌒
\ ___ \__ (´⌒;;(´⌒;;
\___)___)(´;;⌒ (´⌒;; ズザザザ
0240nobodyさん
2007/02/25(日) 21:33:14ID:???quotって事か?
何言ってるのか本当に意味わからん
0241nobodyさん
2007/02/25(日) 21:39:37ID:CDvbRnfg戻り値がオブジェクト(http://jp2.php.net/manual/ja/language.types.object.php)の
型名はどうなるのでしょうか?
それから、PHPの標準関数はどこに定義されているのでしょうか?
見てみたいのですが、見られますか?
0242nobodyさん
2007/02/25(日) 21:44:55ID:???じゃ引数じゃないか?
@return foo
だと思うが
0243nobodyさん
2007/02/25(日) 21:47:23ID:???PEARの書式でもながめてみたら?
関数はPHPのソースにあるでひょ
Cで書かれてるはずだけど
0244nobodyさん
2007/02/25(日) 21:56:00ID:???http://manual.phpdoc.org/HTMLSmartyConverter/PHP/phpDocumentor/tutorial_tags.return.pkg.html
0245241
2007/02/25(日) 21:57:24ID:???@returnでした。
>>243
なるほど。素直に'object'ですね。
参考にPEARを覗いてみます。
>関数はPHPのソースにあるでひょ
>Cで書かれてるはずだけど
grepで検索して覗いてみます。
ありがとうございました。
0246nobodyさん
2007/02/26(月) 01:29:31ID:MqypCXgAテーブル名:list_table
-----------
id | name |
-----------
1 | tato |
-----------
2 | hanako|
-----------
これをWEBフォームよりnameを一括変更するのが目的です。
やり方としては全レコードをmysql_fetch_assocで抽出し、
フォーム部分<input name="name" type="text">のvalue部分に表示させ、
そのフォーム部分の名前を変えて送信すれば、データベースのレコードも変わる、という感じです。
各個人を一人ずつ変える事なら出来たのですが、
一括変更がなかなか出来ません・・・。
どなたかお知恵をお貸し下さい。
宜しくお願いします。
次に現在の内容を晒します。
0247246
2007/02/26(月) 01:30:02ID:MqypCXgA//php該当部分抜粋
$editFormAction = $_SERVER['PHP_SELF'];
if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "edit")) {
$updateSQL = sprintf("UPDATE list_table SET name=%s WHERE id=%s",
GetSQLValueString($_POST['name'], "text"),
GetSQLValueString($_POST['id'], "int"));
mysql_select_db($database_MyDB, $MyDB);
$Result1 = mysql_query($updateSQL, $MyDB) or die(mysql_error());
}
//フォーム部分抜粋
<form method="post" name="edit" action="<?php echo $editFormAction; ?>">
<?php do { ?>
<?php echo $row_Recordset['id']; ?>
<input type="text" name="name" value="<?php echo $row_Recordset['name']; ?>">
<input type="hidden" name="id" value="<?php echo $row_Recordset['id']; ?>">
<?php } while ($row_Recordset = mysql_fetch_assoc($Recordset)); ?>
<input type="submit" value="送信"><input type="hidden" name="MM_update" value="edit">
</form>
如何でしょうか?
宜しくお願いします。
0248nobodyさん
2007/02/26(月) 01:37:37ID:???0250nobodyさん
2007/02/26(月) 03:32:17ID:???include "hogehoge.php"; ってことか。
0251nobodyさん
2007/02/26(月) 03:33:57ID:???0253nobodyさん
2007/02/26(月) 04:15:31ID:???Received:の経路情報だけ?
他にも詐称が不可能なヘッダ情報ってある??
0254nobodyさん
2007/02/26(月) 04:58:19ID:7mBYKw3Tたとえば、
$var = "abc";
preg_match('/^aaa{$var}zzz/', $str, $result);
のように、$varを正規表現の中に入れて中身を展開させたいのですが・・・
0255nobodyさん
2007/02/26(月) 05:02:33ID:???0256nobodyさん
2007/02/26(月) 05:02:35ID:???アホだろ
0258nobodyさん
2007/02/26(月) 05:49:25ID:???■ このスレッドは過去ログ倉庫に格納されています