くだすれPHP(超初心者用)6
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/04/05(日) 22:04:26ID:???もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
PHP使いが優しくコメントを返しますが、
お礼はPHPの布教と初心者の救済をお願いします。
PHP Home Page
ttp://www.php.net/
ttp://jp.php.net/
前スレ
くだすれPHP(超初心者用)5
http://pc11.2ch.net/test/read.cgi/php/1227303362/
関連スレ
PHP総合雑談スレ
http://pc11.2ch.net/test/read.cgi/php/1200314111/
PHP初心者勉強会やらんかね!
http://pc11.2ch.net/test/read.cgi/php/1209137730/
0455nobodyさん
2009/06/30(火) 20:38:28ID:???0456nobodyさん
2009/06/30(火) 20:39:56ID:???0457nobodyさん
2009/06/30(火) 20:40:54ID:???移行前は、PostgreSQLのバージョンが 7.3.4で
移行後は 8.1.10に変わっていました。
これってマズイでしょうか・・?
0458nobodyさん
2009/06/30(火) 20:45:17ID:???やはりマズイですか。。。
ちなみに、Webサイトのアクセスログとして利用しているテーブルには
ちゃんとアクセスが溜まっていっているので、とくに問題ないかと思ったのですが・・。
全く接続できなかったりフォーマットが違ったりしたらアクセスログのテーブルにも挿入されないのでは?
0459nobodyさん
2009/06/30(火) 20:47:07ID:???移行前のDBからはCSVとしてエクスポートして、
移行後のDBにアップロードしました。
0460nobodyさん
2009/06/30(火) 20:49:48ID:???0462nobodyさん
2009/06/30(火) 20:54:48ID:???0463nobodyさん
2009/06/30(火) 20:57:47ID:???0464nobodyさん
2009/06/30(火) 20:59:59ID:???「Webサイトのアクセスログとして利用しているテーブル」とか言われても、
そのログ取得のシステムとショッピングカートの関連とか全く開示されて無い俺らに
どんな回答しろって言うんだお前は。
0465nobodyさん
2009/06/30(火) 22:15:40ID:???0466nobodyさん
2009/06/30(火) 22:18:09ID:ToOf0Y/8<?php
$number = 100;
echo "<p>変数の値は $number です";
echo '<p>変数名は $number です';
?>
変数の値は や 変数名は ってやつがうまく表示してもらえないのだが
なぜですか??
0467nobodyさん
2009/06/30(火) 22:45:05ID:???0468nobodyさん
2009/06/30(火) 22:54:12ID:???エラーは表示にしています。
が、注文完了まで全くエラーが出ません
error_logでメールの内容を直前に吐き出すと変数が空になっています。
その変数はというと、
$sql = "select * from tx where id=$id";
$result = pg_query($conn, $sql);
$name = pg_fetch_result($result, 0, "name");
こんな感じで取ってきているので、やはりPostgreSQLからデータを取ってこれていないようです。
0470nobodyさん
2009/07/01(水) 00:06:41ID:z3HhO0ndここで質問していいのやら分かりませんが、困っています。
WordPressで複数のブログサイトを制作してるんですが、
本日各サイトを巡回してみると、あるサイトだけ突然見れなくなっていました。
IEでは反応なし、Firefoxでは「自動転送がループしています」と言われ、
突然の出来事にイミフです。
さらに今まで使っていた管理画面のURLを入力すると、
なぜか「wp-admin/install.php」に飛ばされ、インストール画面になります。
ドメインを変えてみても、トップ・管理画面ともに結果は同じでした。
他のブログもサーバ含めて全く同じ構成・設定なんですが、そのサイトだけ見れない状態です。
ちなみにそのサイトは一週間ほど放置していて、昨日は普通に見れてましたので、
何かを触ったわけでもありません。
これは一体何が原因なんでしょうか…
もし何かお分かりの方がいらっしゃいましたら、ご教示ください。
0471nobodyさん
2009/07/01(水) 00:13:03ID:???・wpがハックされて設定含めて消し飛んだ。
・借りてる鯖のDBが何かしらの原因で吹っ飛んだ。
どっちにしろその情報だけじゃこれくらいしか想像できん。
0472470
2009/07/01(水) 00:41:19ID:z3HhO0ndまじすか…
そんなことがあるんですね…
DBのバックアップはあるので、何とか再インストールやってみます。
レスありがとうございました。
0474nobodyさん
2009/07/01(水) 06:03:34ID:RWA+xdxuまだ解決できません・・・
PostgreSQLのバージョンが変わったっていうのはあまり大きな問題ではないのでしょうか?
7.3.4から8.1.10に変わるとプログラムも全部改修しなければいけないですか?
0475nobodyさん
2009/07/01(水) 07:14:36ID:???もとの作り方次第
バージョンによる違いの可能性もあるけど、
おそらく文字コードなどの設定かデータを正しく移行できていない
0476nobodyさん
2009/07/01(水) 07:38:47ID:RWA+xdxuhttp://php.benscom.com/manual/ja/function.pg-last-oid.php
> OID フィールドは PostgreSQL 7.2 からはオプションとなり、 PostgreSQL 8.1 ではデフォルトで存在しません。
このpg_last_oidで前回挿入したレコードを取得しているみたいなんですが、
ここで$oidが取れずにSQLの文法エラーが起きていたようです。
しかし解決法がまだわからず。。。調べ中です。
わかる方は助けてください
0477nobodyさん
2009/07/01(水) 08:10:08ID:RWA+xdxu前バージョンでは
default_with_oidsというPostgresの変数が無くて(デフォルトでOn)
現バージョンでは、
default_with_oids = Off
になっていた。
しかしレンサバを使っているので、Postgresql.confは編集できない模様・・・
PHPからOnにできないですかね?
0478nobodyさん
2009/07/01(水) 08:23:50ID:???どっちにしろoidの使用は推奨されていないという事だろうからテーブルの構成自体をやり直したほうがいいと思うけど・・・
0479nobodyさん
2009/07/01(水) 08:39:05ID:RWA+xdxu$oid = pg_last_oid($result);
ここで$oidに値が入ってくれないみたいです
0480nobodyさん
2009/07/01(水) 08:39:52ID:RWA+xdxu0481nobodyさん
2009/07/01(水) 10:47:39ID:RWA+xdxu助言をくれた皆様ありがとうございます。
0482nobodyさん
2009/07/01(水) 10:50:59ID:???0483nobodyさん
2009/07/01(水) 15:02:23ID:???教えて下さい
0485nobodyさん
2009/07/01(水) 15:04:44ID:???全角数字を半角に変換する方法を教えて下さい
0488nobodyさん
2009/07/01(水) 20:12:35ID:qb2GZerK最大許容量の変更ってできるのでしょうか?
今現在、1024byte以上入るであろうDBからの値をどのように取り出そうか思案中です。
0489nobodyさん
2009/07/01(水) 21:29:11ID:???0490nobodyさん
2009/07/01(水) 21:52:39ID:???llSayが良くわからないですけど、要するに1024byte制約はしょうがないということになるのでしょうか?
0491nobodyさん
2009/07/01(水) 22:18:49ID:vUu+Pn000493nobodyさん
2009/07/01(水) 23:06:52ID:???ガタガタ抜かす前に試せばいいじゃん。
何十万文字程度なら余裕で入るぜ。
0494488
2009/07/02(木) 08:53:38ID:???>>492
>>493
確かに、サンプルソースとまでいかないまでも、ソースイメージを示せなかったのは申し訳ないです。
下記のソースイメージでも半角英数字1000文字程度で文字列をくっつけられなくなります。
$sql = ' select * from hogehoge '
$sql .= ' where foo.bar = 1 '
for () {
// ここで$sqlに文字列appendしまくり
}
・・・
というだけの単純にsql文をくっつけまくりソースです。
このことから、string型は1000文字=1024byte制限があるのではないかと勝手に推測してました。
でも、何十万文字も入るのであれば、別の原因が考えられますね。
ちょっとappendしない場合はどうなるか適当に試してみます。
0495488
2009/07/02(木) 08:54:59ID:???イメージはわかると思うのでどうでも良いとは思いますが、
$sql = ' select * from hogehoge '
$sql = ' where hohoge.bar = 1 '
の間違いでした。
0496nobodyさん
2009/07/02(木) 09:02:17ID:???0497nobodyさん
2009/07/02(木) 09:04:31ID:???どんな症状を見てこう判断したか、それがためのソースだろうになぁ・・・
0498nobodyさん
2009/07/02(木) 09:21:03ID:???できあがった$sqlの内容がおかしいに10000ペソ。
データベースに投げる前にechoで確認すべし。半角スペースがないとかクォーテーションをエスケープしてないとか。
0499488
2009/07/02(木) 09:21:26ID:???すごい単純ミスでした。
環境だけの問題でした。
原因は eclipse + xdebug環境において、eclipse上で参照できる変数の最大文字数が1024byte制限があるだけのようです。
sql文(1024byte以上の)を生成した場合、eclipseの変数の値参照では途中で文字が切れているのですが、正しく実行できました。
デバッガが整った環境に慣れすぎてしまった私が問題でした。
デバッガはあくまでもデバッガだと改めて考え直さないと駄目ですね。
0500nobodyさん
2009/07/02(木) 10:13:39ID:???0501nobodyさん
2009/07/02(木) 10:15:19ID:???0502nobodyさん
2009/07/03(金) 11:33:57ID:???test_image_**.jpgに読み変えてリクエストしたりしたいんですけど、
どうすればいいですか?
※**はランダムな数値が入ります。
0503nobodyさん
2009/07/03(金) 11:35:42ID:???0504nobodyさん
2009/07/03(金) 11:35:54ID:???こういうの使うとファイル名と拡張子に分離できる
0506nobodyさん
2009/07/03(金) 11:50:05ID:???$path_parts['filename']が使いたいけど4.4.8なんでダメポ。。。
拡張子は取れるので最悪、test_image.jpg_**.jpgこんな感じで読むしかないのか・・・
0507nobodyさん
2009/07/03(金) 11:50:59ID:???0508nobodyさん
2009/07/03(金) 12:02:18ID:???普通に1つのアイテムに複数画像がある場合、
ランダム上限値とファイルネームの番号が連動していれば、
管理もsqlリクエストも一発で済むかなと思って。
0はFALSE。
0509nobodyさん
2009/07/03(金) 12:20:48ID:6dZpOUUMのようなことをwgetみたいにphpでやらせたいのですがcurl以外でもっとお手軽な関数ってないですか?
0510nobodyさん
2009/07/03(金) 12:45:56ID:???0511nobodyさん
2009/07/03(金) 12:49:03ID:???そうしてみます。サンクスコ。
0512502
2009/07/03(金) 16:43:01ID:???$chenge_image_path = test_image;
$chenge_image = '_' . mt_rand(1, test_chenge_image);
$ex_name = pathinfo($chenge_image_path);
$ex_type = '.' . $ex_name['extension'];
$fl_name = basename($chenge_image_path, "$ex_type");
echo $fl_name . $chenge_image . $ex_type;
大体こんな感じで目的達成なんですけど、
もっとエクセレントにそうきゅーとに書けますか?
あと、mt_rand()で出来た数値が1桁なら
01.02.03.04.05みたいにするにはどうすればいいですか?
0513nobodyさん
2009/07/03(金) 16:49:17ID:???printf()
0514nobodyさん
2009/07/03(金) 16:50:01ID:???0515nobodyさん
2009/07/03(金) 17:16:50ID:???は、こう
$chenge_image = '_' . sprintf($chenge_image . "%0" . 2 . "d", mt_rand(1,$test_chenge_image));
書き換えた。
お前の日記かと怒られそうなので終了。
0516nobodyさん
2009/07/03(金) 17:19:43ID:???というものを見てみたいのですがリンクが切れています。
どなたかお持ちではありませんか?
もうnamazuというのは使われていないのでしょうか?
0517nobodyさん
2009/07/04(土) 15:06:32ID:bVCHq/G1<a><b>hoge<c>hoge</c>hoge</b></a>
というXMLから
hoge<c>fuga</c>hoge
を取り出すってできませんか?
echo xml->a->b;だと
hogehoge
echo xml->a->b->asXML();だと
<b>hoge<c>fuga</c>hoge</b>
になってしまう
0518nobodyさん
2009/07/04(土) 15:07:50ID:???○<a><b>hoge<c>fuga</c>hoge</b></a>
0519nobodyさん
2009/07/04(土) 19:24:14ID:???SimpleXMLの範囲では出来ないと思う。
タグcを一旦変換するか、後者の両端のタグをストリップするんじゃダメ?
0520nobodyさん
2009/07/04(土) 21:30:50ID:bVCHq/G1> 後者の両端のタグをストリップするんじゃダメ?
これしかないかなと思いつつも、
もっと直接的な方法がないかなと
タグを変換ってどうやるんでしょうか?
タグbの名前を変換して
<foo>hoge<c>fuga</c>hoge</foo>とするか
hoge→<c>fuga</c>→hoge
と展開したりってのができないかなと
0521nobodyさん
2009/07/04(土) 21:39:46ID:???例えば<c>→{c}とか、他に出てこない文字列に置き換えてからパースするとか。
あとで{c}→<c>にもどせばおっけ、っていう意味。
どんな場面でどういう事がやりたいのかにもよるけど。
なんか、htmlのパースしたいようにも見えるな。
0522nobodyさん
2009/07/05(日) 07:52:14ID:UWotW+RPその店の風俗嬢が写メを載せて近況報告をしているようなものや
リアルタイムで店の近況を口語文で書いていて、風俗嬢の画像などが載っている
ものは
すべてブログを埋め込んでいると考えて良いのでしょうか?
0523nobodyさん
2009/07/05(日) 08:05:30ID:???xmlをパースしてhtmlを吐く場合に
そのxmlのタグ内をhtml風にマークアップしたい場合
どうやって出力すればいいのかなと
0525nobodyさん
2009/07/05(日) 11:37:56ID:LafHq5/o配列を設定して、最大値と最少値と平均値を出す問題を解いているのですが平均がうまく出来ません。
自分の書いたプログラムは下の物になりますがどこがおかしいのでしょうか?
教えてください。
<?php
$data=array(8,7,3,1,4,2,5,6,10,9);
foreach($data as $val){
echo $val." ";
}
$min=100;
$max=0;
$total=0;
foreach($data as $val){
$total=$tatal+$val;
if($val<=$min){
$min=$val;
}
if($val>$max){
$max=$val;
}
}
$ave=$total/10;
echo "max :".$max." ";
echo "min :".$min." ";
echo "ave :".$ave." ;"
?>
0526nobodyさん
2009/07/05(日) 11:39:24ID:LafHq5/o0527nobodyさん
2009/07/05(日) 12:49:02ID:???$data=array(8,7,3,1,4,2,5,6,10,9);
echo "max :".max($data)." ";
echo "min :".min($data)." ";
echo "ave :".(array_sum($data)/count($data))." ;"
0528nobodyさん
2009/07/05(日) 17:08:52ID:???0529nobodyさん
2009/07/05(日) 19:01:31ID:???0530nobodyさん
2009/07/05(日) 19:05:46ID:???0531nobodyさん
2009/07/05(日) 20:12:16ID:???0532nobodyさん
2009/07/05(日) 21:00:29ID:???0533nobodyさん
2009/07/05(日) 21:04:58ID:???0534nobodyさん
2009/07/05(日) 21:09:46ID:???0536nobodyさん
2009/07/05(日) 22:19:50ID:???0537nobodyさん
2009/07/05(日) 23:16:31ID:???0538nobodyさん
2009/07/06(月) 12:47:06ID:wMd3vz+Y0539nobodyさん
2009/07/06(月) 12:48:54ID:???0540nobodyさん
2009/07/06(月) 13:57:22ID:Zv6if7ao何ができて
何ができないのか教えてください
0541nobodyさん
2009/07/06(月) 13:58:39ID:???0542nobodyさん
2009/07/06(月) 14:07:26ID:fHQNm0aa0543nobodyさん
2009/07/06(月) 14:12:39ID:???0544nobodyさん
2009/07/06(月) 16:30:25ID:???のフォームとかでもhtmlspesialcharsとかかますべき?
0546nobodyさん
2009/07/06(月) 17:23:03ID:???万が一もあるし
0547nobodyさん
2009/07/06(月) 17:31:46ID:???0548nobodyさん
2009/07/06(月) 17:44:20ID:???0550nobodyさん
2009/07/06(月) 17:55:18ID:???質問者はアクセスするページによってXSSの危険性が違うと認識してる?
パスワードとホストで制限って書いてるからふとそう思った
0551544
2009/07/06(月) 18:18:24ID:???昨日何人が登録したとか、1ヶ月以上ログインしていないユーザーを
削除するとか
管理人しか使わない訳だし、例えばワード検索で自演XSSやSQLインジェクションができてもいいのかなと
やるには自分で不正コード打ち込まないといけないじゃない?
0552nobodyさん
2009/07/06(月) 18:22:45ID:???0553544
2009/07/06(月) 18:23:36ID:???0554nobodyさん
2009/07/06(月) 18:37:20ID:???■ このスレッドは過去ログ倉庫に格納されています