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

【PHP】くだらねぇ質問はここに書き込みやがれpart6

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/06/05(日) 13:17:11ID:xiGnsMS4
PHPに関するくだらない質問用すれです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい

・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
0261nobodyさん2005/06/17(金) 20:30:40ID:???
さっきから何度試しても駄目なんだ、助けてくれ。

PHPから'を含むSQLをMySQLに投げたいんだが、
<?
$test = "what's";
$test = Mb_Ereg_Replace("'","\'",$test);
$sql = "select * from tb where aa = '{$test}'";
MySql_Query($sql);
echo MySql_Num_Rows($sql);
?>
みたいな感じで書いても0しか返ってこないんだ。
何が悪いんだろう…

スレ違いだったら謝る。
0262nobodyさん2005/06/17(金) 20:36:45ID:Y+HIW1Mt
質問なのでage
0263nobodyさん2005/06/17(金) 20:44:34ID:???
>>261
0が表示されているっつーのも変な気が。。。コピペミスかのぅ。
'のエスケープ以前に、MySQL関数の使い方が間違ってるので、
マニュアルのmysql_queryとmysql_num_rowsのページを良く見てみ。
つーか、SQL文に突っ込むと困る文字をエスケープするための関数もある。
0264nobodyさん2005/06/17(金) 20:49:25ID:???
>>261
int result = mysql_query ( string query, int [link_identifier])
int value = mysql_num_rows ( int result)
02652612005/06/17(金) 20:55:42ID:Y+HIW1Mt
>>263
サンプル打ってて間違えたー。
$result = MySql_Query($sql);
echo MySql_Num_Rows($result);
の間違い。
AddSlashesの存在はさっき気付いた。

でも変更しても解決しないよー
0266nobodyさん2005/06/17(金) 21:00:24ID:???
>>265
一度、素直にベタのSQLを走らせて切り分けてみたら?
what's を what''s(シングルクォート2つ)にするのを忘れないように。

$sql = "select * from tb where aa = 'what''s'";
$result = MySql_Query($sql);
echo MySql_Num_Rows($result);
02672612005/06/17(金) 21:07:20ID:Y+HIW1Mt
>>266
駄目でした。

因みに
$sql = "select * from tb where aa = \"what\'s\"";
$sql = "select * from tb where aa = \"what''s\"";
でも駄目

もう何が悪いのか微塵も解らないよorz
0268nobodyさん2005/06/17(金) 22:38:37ID:???
>>267
そもそもクエリ自体が成功してるのか、mysql_errno()とかmysql_error()で確認汁。
またPHPからだけじゃなくて、mysqlのプロンプトで同じSQL打ってみ。
あとmagic_quote_runtimeがOffになってるのか再確認。
0269nobodyさん2005/06/17(金) 22:55:56ID:???
>>267
print_r($sql);
で吐きだれたクエリを
>>268 汁
02702612005/06/17(金) 23:39:41ID:Y+HIW1Mt
プロンプトから直に投げてみました。
該当件数無しで帰ってきました。
該当レコードは間違いなく存在する状態で、です。
magic_quote_runtimeはOFFでした。
これ以上はDB板の方で利いた方がいい内容でしょうか…。
02712612005/06/17(金) 23:50:01ID:???
書き込んだ後で、関係の無い他の部分を修正してもう一度試してみたら
何故か普通に動作しました。
結局原因は不明ですが、解決いたしましたのでご報告。
アドバイス有難うございました。
それと、ごめんなさい。
0272nobodyさん2005/06/18(土) 00:05:18ID:???
>>270
原因不明で解決つう余り望ましくない結果で収束したが、
(原因不明だと、根本的に解決したわけじゃないから)
プロンプトから直に投げても望まない動作だとわかった時点で、
ここを切り上げて、DB板のMySQLスレに移る。
本当は最初からPHPなのかDBMSなのか自分で切り分けるのが良いんだけど、
まあ自分で切り分けが最初に出来なければ、それはそれで仕方がない。
0273nobodyさん2005/06/18(土) 01:30:43ID:???
ヘタレはデバッグの仕方を覚えろ
知識が無くても天と地の差が・・・
0274nobodyさん2005/06/18(土) 01:37:31ID:QW3Qffbr
PHPのデバッグの仕方教えてください
ぐぐっても出てこないです
0275nobodyさん2005/06/18(土) 01:42:17ID:QW3Qffbr
デバッグじゃなくてデバックでぐぐってた
スマソ
0276nobodyさん2005/06/18(土) 01:55:17ID:???
>>274
怪しい箇所にecho挿入。
0277nobodyさん2005/06/18(土) 05:48:57ID:???
挿入したら3秒もちましぇん
0278nobodyさん2005/06/18(土) 08:47:57ID:???
早漏か。
0279nobodyさん2005/06/18(土) 09:41:50ID:???
>>276
基本だよな
0280nobodyさん2005/06/18(土) 10:50:07ID:???
構文チェックなら、DOS窓からできる。
0281nobodyさん2005/06/18(土) 11:02:16ID:???
>>280
Windowsならな
0282nobodyさん2005/06/18(土) 12:00:46ID:???
>>281
CLI版が入ってれば
php -l -f hoge.php
でsyntaxチェックできるぞ。
0283nobodyさん2005/06/18(土) 12:25:26ID:???
日付関数で、
文字列 12 から翌月の 01 を求めたいんだが..
誰か教えて下さい。
0284nobodyさん2005/06/18(土) 12:39:01ID:???
文字列 12 ってどういう意味?
0285nobodyさん2005/06/18(土) 12:50:31ID:???
>>283
お前にはマニュアルの見方を教えてやろう。
まずお前が探しているのは日付関数だ。
ということでとりあえず
http://www.php.net/manual/ja/ref.datetime.php
を開く。つぎにこの中を全部見る勢いで読みふける。この程度なら読めるだろ。日本語だし。
で
http://www.php.net/manual/ja/ref.datetime.php
にたどり着くわけだ。
0286nobodyさん2005/06/18(土) 13:06:14ID:???
わけわからん、もっと詳しく
02872832005/06/18(土) 13:20:06ID:???
>>285
リンクに飛ぶのが面倒なので、やり方だけを書いてください。
お願いします。
0288nobodyさん2005/06/18(土) 13:29:04ID:hdLIfWAD
現在rssをphpで表示しています。
借りているサーバーではサブドメインでのPHPが利用できないのですが
サブドメインで表示できるようにしたいのですが方法はありますか?
0289nobodyさん2005/06/18(土) 13:50:12ID:???
iframeかなんかで外からとれば?
0290nobodyさん2005/06/18(土) 13:53:45ID:???
鯖かえれば
0291nobodyさん2005/06/18(土) 13:58:16ID:???
>>287
1. 俺がこれから指定する銀行口座に1000円入金する。
2. 小一時間待つ
3. このスレに希望のソースコードが貼られる。
0292nobodyさん2005/06/18(土) 14:00:48ID:???
>>291 早く口座晒せ
0293nobodyさん2005/06/18(土) 14:24:51ID:???
>>289
以前はそれでやってたんだが
偽装パケット攻撃かなんか?の問題で急に
に本ドメインのphp自体を停止された(鯖側は一切否定)
サーバー側では一切弄ってませんとか言ってたけど
他のPHPがすべて使えなくなったから鯖側でいじったのは間違いない
0294nobodyさん2005/06/18(土) 14:27:39ID:???
>>287
おいおい……
そのまえに284の質問に答えたら?
0295nobodyさん2005/06/18(土) 14:31:41ID:???
>>292
今口座屋と話してるのでちょっと待ってね。
なんか法律がどうとかで単価上げやがって値下げ交渉中。
0296nobodyさん2005/06/18(土) 16:32:43ID:ify5TbYf
投票PHPで投票者のIP・ホストを保存できるものはないでしょうか?
検索してもなかなか見つからなくてorz
0297nobodyさん2005/06/18(土) 16:39:00ID:???
echo "<a href=\"aiueo.php?id=";
echo $row["abcde"];
echo "\"> ほげ </a>";

これを一行にはできないのでしょうか?

echo "<a href=\"aiueo.php?id=$row["abcde"]\"> ほげ </a>";
上記ではだめでした。分かってなくて済みません。
0298nobodyさん2005/06/18(土) 16:42:03ID:???
echo "<a href=\"aiueo.php?id=" . $row["abcde"] . "\"> ほげ </a>";
0299nobodyさん2005/06/18(土) 16:53:19ID:???
>>298
すごい、一発で出来た・・。ありがとうございます。
$row["abcde"] を" .と. "で囲んでいますね。これの意味は
どういう事でしょうか。echoの次にHTML文以外の言語を用いるときに
使うとか?
0300nobodyさん2005/06/18(土) 17:16:43ID:???
>>299
"(クオーテーション)は文字列の開始・終了。
.(ピリオド)は連結演算子。
echo "<a href=\"aiueo.php?id={$row['abcde']}\"> ほげ </a>";
でも良い >>256-260 参照
0301nobodyさん2005/06/18(土) 17:46:38ID:???
>>300
aありがとうございます。
>>256-260見ました。リンク先も見たのですが、私にはサッパリ・・・。
echo文に変数を入れるときには" .と. "で({と}で)囲む、と覚えることに
します。
0302nobodyさん2005/06/18(土) 19:22:16ID:???
>>301
塚、.は文字列を連結するんだって。
サッパリとかいってないで、覚えようとしないと、またはまるよ。
0303nobodyさん2005/06/18(土) 20:06:43ID:???
日付同士の比較をしたいのですが、みなさんはどうしてますか?
UNIX時間にしてから比較しかないのかな
0304nobodyさん2005/06/18(土) 21:17:30ID:???
unixタイムスタンプにした方が便利な時で、なおかつunixタイムスタンプの範囲内であれば、unixタイムスタンプを使いますよ。
そうじゃない時は、必要な処理だけを自分で実装します(数値に分解して比較処理等)。
0305nobodyさん2005/06/18(土) 21:50:21ID:???
>>304
(゚∀゚)サンクスコ
あと30年動くわけないんでUNIXタイムでいくよ!
0306nobodyさん2005/06/18(土) 23:31:14ID:???
includeするスクリプトと、実行するスクリプトの文字コードが違ってても大丈夫?
0307nobodyさん2005/06/18(土) 23:50:39ID:???
コメントが日本語とかだと化けて出るぞぉ
0308nobodyさん2005/06/19(日) 00:45:05ID:TIL6O4MF
特定のサイト(URL)のhtmファイルを、一定感覚でログ保存してくれるphpスクリプトってありませんか?
0309nobodyさん2005/06/19(日) 00:50:19ID:???
ありますよ。
0310nobodyさん2005/06/19(日) 00:55:24ID:???
ありませんよ。
0311nobodyさん2005/06/19(日) 01:03:29ID:???
>特定のサイト(URL)のhtmファイル保存
10分でかける

>一定間隔
cronでまわせ。
0312nobodyさん2005/06/19(日) 02:52:08ID:???
>>311
10分でかけるなら書いてあげろよ^^
0313nobodyさん2005/06/19(日) 02:56:49ID:???
>>308=>>312
03143122005/06/19(日) 03:14:15ID:L/EHa1/f
>>308に悪いんで、一応IDだしときますね^^;;;;;;;;;
0315nobodyさん2005/06/19(日) 03:34:15ID:???
>>312
それようのスレで頼めばいい。
0316nobodyさん2005/06/19(日) 09:03:21ID:???
>>308
それくらい自分で作れよ。
0317nobodyさん2005/06/19(日) 11:08:03ID:???
作れるやつがわざわざ何々のスクリプトありますか?なんて聞かないだろ…
0318nobodyさん2005/06/19(日) 11:28:42ID:???
作れない奴は望むべからず
0319nobodyさん2005/06/19(日) 11:34:22ID:???
OS作れないのにパソコン使ってるんですが、まずいでしょうか?
0320nobodyさん2005/06/19(日) 12:31:14ID:???
>>319
ヤバス
0321nobodyさん2005/06/19(日) 12:33:41ID:???
つくってやればいいじゃん
0322nobodyさん2005/06/19(日) 12:42:55ID:???
やだよ、カネクレ
03233082005/06/19(日) 13:27:19ID:TIL6O4MF
スレ違いの質問だったようですいません

>>315
該当スレを探したんですけど、それらしいスレを見つけることができませんでした
誘導してもらえると助かります
0324nobodyさん2005/06/19(日) 13:28:17ID:???
10分で書けるコードに金を要求するほど困ってるのか?
0325nobodyさん2005/06/19(日) 13:35:56ID:???
結局脳内ってことか
0326nobodyさん2005/06/19(日) 13:36:55ID:???
書けもしないのに適当に10分でかけるっていったんだろw

特定のサイトが他人のサイトだったら、
負荷がかかるだろうし、迷惑かかるんじゃないか?
コンテンツが多いサイトならなおさら。
一定感覚が毎日とかだと、アク禁される恐れもあるかもね。
0327nobodyさん2005/06/19(日) 13:41:33ID:???
正論禿同
0328nobodyさん2005/06/19(日) 14:09:44ID:???
open (CMD, "$uptime |");
$UPTIME = <CMD>;
close (CMD);

このPerlスクリプトをPHPスクリプトにしたいのですが、
どのように書けば良いか教えていtだけませんか?
0329nobodyさん2005/06/19(日) 14:10:09ID:???
間違えました
open (CMD, "uptime |");
0330nobodyさん2005/06/19(日) 16:33:03ID:???
$uptime = `uptime`;

もしくはpopen参照。
ttp://www.php.net/manual/ja/function.popen.php
0331nobodyさん2005/06/19(日) 17:27:22ID:???
なるほど、実行演算子で出来るのですね。
ありがとうございました
0332nobodyさん2005/06/19(日) 17:30:09ID:???
rubyではスクリプトを実行ファイル (exe形式) に変換 する exerbがありますが
phpではこういったものはありませんか?
0333nobodyさん2005/06/19(日) 18:16:07ID:???
>>332
ある。フリーのものもあったと思う。
03343322005/06/19(日) 18:49:43ID:???
>>333
名称わかりませんか??
03353322005/06/19(日) 18:51:28ID:???
Zend Encoder 以外は何があるんでしょうか・・・
0336nobodyさん2005/06/19(日) 20:26:26ID:???
特定のサイトが更新されたら、自サイトに更新部分を自動で表示する
スクリプトって既にありますか?

例:ヤフーhttp://dailynews.yahoo.co.jp/fc/
のとある部分の更新を自サイトにも反映させる
0337nobodyさん2005/06/19(日) 20:28:50ID:???
 つ http://a.hatena.ne.jp/
0338nobodyさん2005/06/19(日) 20:32:34ID:???
>>337
自サイトに更新部分を自動で表示する
スクリプトって既にありますか?
0339nobodyさん2005/06/19(日) 20:53:47ID:???
捜し物スレへどうぞ
0340nobodyさん2005/06/19(日) 20:56:43ID:???
>>339
探し
や
物
で板内検索かけても0HITなのは仕様ですか?
0341nobodyさん2005/06/19(日) 21:49:29ID:???
探し物スレも探せないのか
0342nobodyさん2005/06/19(日) 23:23:59ID:???
>>336
自分で作れ ⇒(翻訳)⇒ クレクレ厨 Uzeeeeeeeeeeeeeeeeeeeeeeeeee
0343nobodyさん2005/06/20(月) 01:14:32ID:???
>>335
http://php-compiler.net/
03443362005/06/20(月) 08:25:49ID:???
ども。
今月号のウェブデザイニングかなんかでRSSをPHPでごにょごにょして
自サイトに表示させよう!ってコラムを発見したので
やってみまーす。
0345nobodyさん2005/06/20(月) 13:07:37ID:???
初めてVine LinuxにPHP4を入れていろいろと試しているのですが。
普通は表示されるはずのエラー表示が全くされません。

正しいコードを書いてみて実行させたときには正常に表示されましたので、
今度はわざとコードを間違えて記入し実行させてみたところ、全くエラー表示が出ず、
ページには何も表示されていませんでした。
何か設定がおかしいのでしょうか?
0346nobodyさん2005/06/20(月) 13:59:35ID:???
>>345
error_reporing(0)
03473452005/06/20(月) 14:00:59ID:???
自己解決しました(_ _(--;(_ _(--; ペコペコ

php.ini の display_errors の箇所をOffにしたままという超あほな原因でした。
お騒がせ致しました。。
0348nobodyさん2005/06/20(月) 22:48:03ID:0mb4CR9X
htmlのフォームからpostで受けた値をcsvに書き出す、っていうスクリプトの依頼を受けたんだけど、極力、そのフォームはいじらないでくれということでやってみたんだけど
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
のせいらしく、文字が化けたり、おかしなことになってしまっています。
よく考えたらフォームからphpで、それもEUCでしか書いた事がなかったんで初めてのケース。
Shift_JISのhtmlのフォームからEUCのphpにちゃんと値を受け渡すのって、面倒なことなんでしょうか?
あんまり面倒なら、元のフォームから作らせてもらおうと思ってます。
0349nobodyさん2005/06/20(月) 23:52:51ID:???
はい、そうですか。
0350nobodyさん2005/06/20(月) 23:53:43ID:???
>>348
すごく簡単だよ。
Shift_JIS(HTML) → EUC-JP(PHP)
ってことは、PHPにはPOSTされたデータはShift_JISで渡ってくるよね?
だから、POSTされたデータをPHP側でShift_JISからEUC-JPに変換してから処理すればいい。
03513442005/06/21(火) 00:02:08ID:???
なんとレッツPHPにて、公開されてました。。。
すんません。

−RSSブロガー−■ 概要
特定サイトのRSSを表示します
ブログの右ブロックとかに置くとか。
シンプル。件数指定可能
03523482005/06/21(火) 00:02:31ID:8+GyN4cK
>>350
いろいろぐぐって見るのですがなかなか。
なんと言う関数を見ればよいんでしょうか?
無難なことしかやったことがないもんで・・・情けないです
0353nobodyさん2005/06/21(火) 00:03:28ID:???
>>350
コンテンツのエンコーディングと同じエンコーディングでGET/POSTされるとは限らない。
ちゃんと受け取り時にチェックするように作るのが吉。
0354nobodyさん2005/06/21(火) 00:08:11ID:???
>>353
おっしゃる通り。
ただ、いきなりそんなこと言っても分からないと思ったので。
0355nobodyさん2005/06/21(火) 00:11:46ID:???
>>352

mb_convert_encoding()関数で変換できるよ。
詳細はマニュアルを参照↓
ttp://jp.php.net/manual/ja/function.mb-convert-encoding.php
0356nobodyさん2005/06/21(火) 00:18:09ID:???
>>352
簡単なのは、mbstring.encoding_translation機能で
HTTP入力のエンコーディングを変換させてしまう。

但しmbstring.http_inputをautoに設定した場合、エンコーディングの
自動判定は完璧ではないことに注意すること。判定に使われる文字数が
少なかったり、特殊なものだったりすると誤判定となる場合がある。

確実なのは自動判定にはせず、hiddenで出力に判定用の文字列(非ASCII)を
埋め込み、それを利用して適正な変換を掛けること。
0357 2005/06/21(火) 07:12:10ID:lHQtHO0n
web制作板で質問し、誘導されてきました。

ttp://halpal.net/xoops/modules/auth/buy_list.html
のように検索→選択→.vcs .csv .pdbなどで出力というのは
どうやっているのでしょうか?
ずーぷすでないと無理なのでしょうか?
0358nobodyさん2005/06/21(火) 11:30:35ID:t9cWxmD/
セッション管理を MySQL で行いたいのですが、ハマっています。
サンプル・プログラムの画面遷移は以下のようになっています。
-----------------------------------------------
+----------------+
| |
V |
login.php --> do.login.php --> top.php
-----------------------------------------------

do.login.php では、POST されたパラメータを使い認証を行います・
成功すれば、$_SESSION["username"] にユーザ名をセットし・
トップ画面にリダイレクトしています。
-----------------------------------------------
:
snipping
:
$username = $_POST["username"];
$password = $_POST["password"];

if (User::isExist($username, $password)) {
$_SESSION = array();
$_SESSION["username"] = $username;

// トップ画面へ
}
else {
// ログイン画面へ
}
-----------------------------------------------

03593582005/06/21(火) 11:31:25ID:t9cWxmD/
上記の認証をパスしてトップ画面へ遷移した後、テーブルの
セッション・データを格納するフィールドを確認すると、
username|s:"anonymous"; とシリアライズされた文字列が
格納できているのですが、top.php にて $_SESSION["username"] の
値を参照しても値を取得することが出来ません・

ちなみに、do.login.php および top.php の先頭では、
以下の関数を実行しています。
-----------------------------------------------
function createSession() {
$session_handler =& SessionHandler::getInstance();
session_set_save_handler(
array(&$session_handler, "open"),
array(&$session_handler, "close"),
array(&$session_handler, "read"),
array(&$session_handler, "write"),
array(&$session_handler, "destroy"),
array(&$session_handler, "gc"));
session_start();
}
-----------------------------------------------

php のバージョンは、4.1.2 です。
マヌケなミスをしているかもしれませんが、アドバイスでもいただければ
助かります。
0360nobodyさん2005/06/21(火) 16:24:54ID:???
<form action="hoge.php" method="POST">
<input type="submit" name="aaa" value="登録">

で、hoge.phpへ飛ばされたname属性"aaa"とvalue属性"登録"の扱われ方が
よく分かりません。
とある例題のhoge.phpを見ると
if($aaa == "登録"){ 処理内容 }
となっています。name属性が突然変数として扱われ、value属性"登録"が
その条件の対象として扱われています。
そう言ったものだと言われればそれまでですが、どうも釈然としません。
うまく説明していただけませんでしょうか。
Web製作板でも聞き、「ブラウザは"aaa=登録"というフォームデータ集合を送る」
までは教えていただきましたが、あとはこちらへ誘導されました。
よろしくお願いします。
■ このスレッドは過去ログ倉庫に格納されています