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

くだすれPHP(超初心者用)4

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2008/06/13(金) 20:32:36ID:???
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
PHP使いが優しくコメントを返しますが、
お礼はPHPの布教と初心者の救済をお願いします。

PHP Home Page
http://www.php.net/
http://jp.php.net/



前スレ: くだすれPHP(超初心者用)3
http://pc11.2ch.net/test/read.cgi/php/1193295871/

適当に関連スレ(マルチはだめぽ)
【PHP】下らねぇ質問はここに書き込みやがれ 69
http://pc11.2ch.net/test/read.cgi/php/1211879073/
0002nobodyさん2008/06/17(火) 16:58:46ID:???
いつの間に
>>1おつ
0003nobodyさん2008/06/17(火) 20:01:46ID:Xhinm60Q
あげとく
0004nobodyさん2008/06/17(火) 22:08:49ID:???
超初心者用と普通のくだすれの切り分けが難しいね。
0005919です。2008/06/18(水) 00:58:52ID:eWKB+6dR
書籍本から来ました。
大角本でわからないところがあり質問です。
カテゴリーのところがよくわかりません。
一応カテゴリーに関するところのソースをUPしたんですが
http://gichioka.web.fc2.com/document.rar
誰か説明してください。
よろしくお願いします。

特になんでこれでcategoryが作られるのかわかりません。
新しくカテゴリーが、これであとなんで商品登録ができるのでしょうか?
0006nobodyさん2008/06/18(水) 13:15:56ID:???
>>5
SQLを知らないとか?
0007919です。2008/06/19(木) 01:07:52ID:uVAJKLwk
いや、なんでそれでカテゴリーが作成されるのかが
わからない。
0008919です。2008/06/19(木) 01:11:28ID:uVAJKLwk
もしかしてSQLの知識がたりないのかもです。
0009nobodyさん2008/06/19(木) 15:20:33ID:byCSm/Ip
ケータイとPCで自作した掲示板の処理を確認しています。

PCだと、
コメントを削除→元の画面
→コメントが削除されている


ケータイだと、
コメントを削除→元の画面
→コメントが表示されたまま(実際にはデータは消えいてる)


更新すると、コメントが削除されている画面が表示される。



どうも、ケータイだと前の画面の情報を掴んだままの状態があるようです。
cache-control
などをやっていますが、効果はないようです。
ケータイのブラウザに、昔の情報を表示させない方法はご存知ありませんか?
0010nobodyさん2008/06/19(木) 15:30:10ID:???
URLのうしろに毎回変わる無意味な変数入れとけば
0011nobodyさん2008/06/19(木) 15:35:08ID:byCSm/Ip
>>10
あっ、なるほどURLと画面が紐づいているなら有効そうですね。
試してみます。
0012nobodyさん2008/06/19(木) 16:01:00ID:???
>>10
上手くいったみたいです。
ありがとうございました。
0013nobodyさん2008/06/19(木) 19:58:24ID:???
>>8
じゃぁ、逆にSQLって何するもんだと思ってる?
0014nobodyさん2008/06/20(金) 00:26:27ID:???
>>9
間違っています。
以上。
はい次の方。
0015nobodyさん2008/06/20(金) 23:47:29ID:???
レッツPHP!の新着ブロガー ttp://php.s3.to/net/
を使いたいのですが、下記のようなエラーが出てきます。
なんとか自分のHPに設置したいのですが、どこをどう直せばいいのやら
わかりません。

Warning: main(XML/RSS.php) [function.main]: failed to open stream:
No such file or directory in /home/sites/lolipop.jp/users/main.jp-
○○○/web/allblog/rssup.php on line 5

Fatal error: main() [function.require]: Failed opening required
'XML/RSS.php' (include_path='.:/usr/local/lib/php:/usr/local/lib/php/Smarty')
in /home/sites/lolipop.jp/users/main.jp-○○○/web/allblog/rssup.php on line 5

レンタルサーバーはロリポップ
サブドメインでallblog.ドメインとしてます。
ファイルは
allblog
├reeup.php
├RSS.php
├PEAR.php
├Parser.php
├index.html(このHTMLに<?php include("rssup.php"); ?>を貼ってます)
├.htaccess(中にAddType application/x-httpd-php .htmlと書き込んだだけ)

なんとか動かしたいのですがどなたか親切な方教えていただけないでしょうか?
0016nobodyさん2008/06/21(土) 01:26:38ID:???
>>15
今、reeup.phpの5行目が有効になってると思う。
ソレをコメントアウトして、
3行目をコメントインしたら、動くんじゃないかなぁ。
0017152008/06/21(土) 01:38:50ID:???
>>16 動きました。ありがとうございました。2日ぐらい悩んでたのでうれしいです。
ほんとうにありがとうございました。
0018nobodyさん2008/06/21(土) 01:52:50ID:???
>>17
今後も似たようなエラー出てくると思うから、
思い立ったときにでも、エラーメッセージをそのまま検索とかして、何のエラーかとか、
少し学習するのもいいと思う。
がんばって下さい。
0019nobodyさん2008/06/22(日) 13:25:43ID:PqDX8Tuj
php勉強したいんですが
お勧めのHPとかありますか。
0020nobodyさん2008/06/22(日) 15:16:41ID:???
>>19
http://jp2.php.net/manual/ja/
0021nobodyさん2008/06/22(日) 16:53:20ID:???
>>19
PHP 入門
でググって出てきたサイトを上から眺めていけばいいんじゃないかな。

ほでなすPHPとかでも勉強にはなった。

まぁ、入門っていうなら、PHP関連の書籍スレでも眺めて、初心者向けでいい本を読むのがいいかな。
0022nobodyさん2008/06/25(水) 02:35:31ID:???
あのすいません。質問です。
基礎からのPHPでの質問ですが、admin.phpのところで、
if (isSet($_GET['tab']) && $_GET['tab'] == 'conf')
{
require('adminConfig.php');
}
else if (isSet($_GET['tab']) && $_GET['tab'] == 'edit')
{
require('adminEdit.php');
}
else if (isSet($_GET['tab']) && $_GET['tab'] == 'list')
{
require('adminList.php');
}
else
{
require('adminConfig.php');
の部分でisSet($_GET['tab']) の意味がわかりません。
どっからtabはでてきたんですか?
http://gichioka.web.fc2.com/blog.rar
ここにソースを保存したので、よろしくです。
0023nobodyさん2008/06/25(水) 03:03:27ID:???
>>22
GETメソッドと、POSTメソッド、って言うものを理解しないと正直きつい。

まぁ、とにかく、
このadmin.phpにアクセスするときに、
ttp://www.example.com/admin.php?tab=conf
とか、って書いた場合、これはGETメソッドで、そのadmin.php以下のプロパティを渡すんだ。

で、ソレはPHPが自動的に、$_GETっていう連想配列に渡される。

上の例だと、$_GET['tab']に、'conf'が渡されるわけだ。

POSTメソッドで渡されたものは、$_POSTに渡されてくる感じ。

で、分かるかな。
適当な回答なので突っ込みあれば宜しく。
0024nobodyさん2008/06/25(水) 17:06:02ID:???
>>21
PHP関連の書籍スレってひどくね?
基地外しかいないみたい
0025nobodyさん2008/06/25(水) 19:14:43ID:???
23へ
よくわかりました。
ありがとうございます
0026nobodyさん2008/06/25(水) 21:01:39ID:57l0ft98
すいません。質問です。
大角本で質問なんですが、
?
if ( $_SESSION['checked_item'] != '' ) {
foreach( $_SESSION['checked_item'] as $value ) {
$sql = "select * from item
left join author on item.author_id = author.author_id
where item_id = '$value'";
$result = mysql_query( $sql );
while ( $item = mysql_fetch_array( $result ) ) {
?>
の部分の$_SESSION['checked_item']の'checked_item'はどこからきたの?
あと$sql = "select * from item
left join author on item.author_id = author.author_id
where item_id = '$value'";
このsql文はなんでしょうか?
教えてください。
ソースはこちらにあります。
http://gichioka.web.fc2.com/sample-ec101.zip
0027nobodyさん2008/06/25(水) 21:03:44ID:???
検索しない理由は?
0028nobodyさん2008/06/25(水) 21:18:45ID:???
なんで自分で考えないんだろうね
0029nobodyさん2008/06/25(水) 21:18:57ID:57l0ft98
検索したんですが、
sessionとmysql見てみたんですが、
sqlに関しては左側の部分をとりだすとのことなんですが、
いまいち意味がわかりません。
よろしくお願いします。
author.author_id ここの部分とか....
わかりません。
0030nobodyさん2008/06/25(水) 21:22:09ID:57l0ft98
質問してはだめですか?
もしだけならここ見たらいいよとかのURLやここに聞いたらいいよ
とかのヒントだけでもお願いします。
0031nobodyさん2008/06/25(水) 21:22:35ID:???
1.ググれ
2.本読め
3.リファレンス読め
0032nobodyさん2008/06/25(水) 21:23:06ID:???
>>27,>>28
まぁ、超初心者スレだから、そういうなよ。何をどう検索したら良いかとかいまいちピンと着てないだけかもしれないでしょ。

とりあえず、>>26は、そのSQL文の何がどうわからないのか教えてよ。

$_SESSIONは、セッション変数って奴で、多分別のファイル見れば、セッション変数に値入れてる行があると思うよ。
詳しくは、
http://jp2.php.net/session
0033322008/06/25(水) 21:26:52ID:???
亀レス過ぎたww
恥ずかしい。

>>29
item.author_idってのは、itemテーブルのauthor_idフィールドのこと。
author.author_idってのは、authorテーブルのauthor_idフィールドのこと。
0034nobodyさん2008/06/25(水) 22:10:36ID:???
文字化けのことで困っています。

・PHP 5.26 @ WinXP SP2
・ファイルは BOM無しのUTF8 で保存
・mbstring.internal_encoding = UTF-8
・mbstring.http_output = pass
・mbstring.http_input = auto

以上の環境にて、以下のようなスクリプトを動作させたとき、
<?php
var_dump($_GET);
?>
$_GET に日本語が含まれると文字化けを起こしてしまいます。
mb_detect_encoding を使ってみた結果、$_GET が SJIS で渡されており、これがファイル保存時の文字コードと異なるために、
文字化けを起こすものと思われます。

これをどうにか解消したい($_GETをUTF8で受け取ってほしい)のですが、どのようにすればよいか検討がつきかねます。
どなたか、ご助力いただけると幸いです。よろしくお願いします。
0035342008/06/25(水) 22:11:44ID:???
ミスです。
・PHP 5.2.6 @ WinXP SP2
です。
0036nobodyさん2008/06/25(水) 22:15:56ID:???
htmlをutf-8にする
0037nobodyさん2008/06/25(水) 22:23:08ID:6PfOtUiM
>>36
・ファイルは BOM無しのUTF8 で保存 に含めたつもりでしたが、
HTMLもUTF8になっています。
0038nobodyさん2008/06/25(水) 22:48:20ID:???
>>37
HTMLの<head>タグに、
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
を突っ込んだらどうよ。
0039342008/06/25(水) 22:48:25ID:???
追記です。

同じように $_POST も試してみましたが、こちらは文字化けは起こらず、mb_detect_encodingの結果も UTF-8 でした。
発生するのは $_GET のときのみのようです。
0040nobodyさん2008/06/25(水) 22:50:15ID:???
>>38
ありがとうございます。
meta に入れるのもやってみました。
やはり、$_GET で受け取った文字列だけが文字化けが起こします。
0041nobodyさん2008/06/25(水) 22:54:13ID:???
>>40
あぁ、
日本語WindowsのアプリってエンコードSJISだから、GETメソッドでクエリ送れば、SJISになりますよ。
http://example.com/index.php?hoge=あいうえお
とかやると。
URLに渡すときはURLエンコードとかかけなきゃいけないんじゃないかな。
0042nobodyさん2008/06/25(水) 23:04:21ID:???
ああアドレスバーに直接打ち込んでんの?
0043nobodyさん2008/06/25(水) 23:06:51ID:???
>>42
情報小出しになってしまってごめんなさい。
はい、アドレスバーに直接打ち込んでテストしています。
あきらめて、SJISでプログラムしたほうがいいのでしょうか……。
0044nobodyさん2008/06/25(水) 23:08:44ID:???
そういう特殊なことしてるんなら先に言ってくれないとわかんねーよ・・・

んでもって、本番でもアドレスバーから直接入力するんですか?それともページ中にリンク張るんですか???
0045nobodyさん2008/06/25(水) 23:12:40ID:???
>>44
本当に申し訳ないです。
もちろん、ページ中からリンクを貼りますが、$_GET から値を持ってきて、HTML中で表示させたときに文字化けしてしまうとなると、
form などから get で送って、次のページで受け取り表示する、ということができないので、何とか解決したいと思っています。
0046nobodyさん2008/06/25(水) 23:15:52ID:???
>>45
form から get で送ればURLエンコードされるよ
?hoge=あいうえおの部分はinput type=hiddlenで指定する
0047nobodyさん2008/06/25(水) 23:18:36ID:???
>>46
スペル間違えた

<A>だとURLエンコードする必要があるな
0048nobodyさん2008/06/25(水) 23:19:29ID:???
>>45
よく分からん。
HTML中に<a href="hoge.php?q=あいうえお">とか書くってこと?
それともフォームでmethod="get"でinput type="text"に日本語入力してもらうってこと?
いずれも適切にエンコード設定すれば文字化けなんかしないから大丈夫
0049nobodyさん2008/06/25(水) 23:19:33ID:???
>>46
あれれれ……?
そのとおりです。formから送ったらgetでも正常でした。
ってことは、「アドレスバーから直接打ち込んでいた」ことが原因だったようですね……。

これだけのために、本当にご迷惑をおかけしました。
情報の小出し、気をつけます。
ありがとうございました。
0050nobodyさん2008/06/25(水) 23:40:40ID:???
最初から書いていれば1レスで終わったのにね。まぁ頑張ってください。
0051nobodyさん2008/06/26(木) 23:16:43ID:???
>>26
「item.php」のこの部分みたい

if ( ++ $_SESSION['checked_item_num'] > 4 ) $_SESSION['checked_item_num'] = 1;
if ( ! in_array( $_GET['item_id'], (array)$_SESSION['checked_item'] ) )
       $_SESSION['checked_item'][$_SESSION['checked_item_num']] = $_GET['item_id'];


ところで二行目の (array) ってなんの意味があるの?
だれか教えて下さい。
0052nobodyさん2008/06/26(木) 23:31:32ID:???
>>51
マニュアル
0053nobodyさん2008/06/27(金) 00:15:13ID:???
よくわからない・・・

こういう使い方なら理解できるんだけど
function foo($value)
{
$array = (array) $value;
print_r($array);
}

なんでif()の条件に
if ( ! in_array( $_GET['item_id'], (array)$_SESSION['checked_item'] ) )
こういう使い方をするんだろ。
0054nobodyさん2008/06/27(金) 00:23:41ID:???
>>53
http://php.net/in_array
0055nobodyさん2008/06/27(金) 00:26:03ID:???
>>53
$_SESSION['checked_item']が配列じゃなかったときにエラーはかれるのを回避したかったんじゃないの?
(array)で型キャストすれば単一文字列が入ってても、配列に変換されるし。
0056nobodyさん2008/06/27(金) 00:43:47ID:???
$_SESSIONはそれ自体で配列じゃないの?
要素が一つでも配列は配列だし。
うーん。
眠いから明日また考えてみる。
ありがとう。
0057nobodyさん2008/06/27(金) 00:50:44ID:???
>>56
$_SESSIONは配列かもしれないけど、
$_SESSION['checked_item']は、配列じゃないかもしれないだろ?
0058nobodyさん2008/06/27(金) 02:50:58ID:???
(array)取ってどんなエラーが出るか動作確かめればいいのに。。
0059nobodyさん2008/06/27(金) 04:01:35ID:XEI5jC31
if ( ++ $_SESSION['checked_item_num'] > 4 ) $_SESSION['checked_item_num'] = 1;
if ( ! in_array( $_GET['item_id'], (array)$_SESSION['checked_item'] ) )
       $_SESSION['checked_item'][$_SESSION['checked_item_num']] = $_GET['item_id'];
僕もわかりません。
(array)と結局なんの処理なんでしょうか?
0060nobodyさん2008/06/27(金) 04:47:35ID:???
>>59 >>55で「キャストしてる」って教えてくれてるのに、それは無視なの?
0061nobodyさん2008/06/27(金) 07:32:24ID:???
これはひどい自演
0062nobodyさん2008/06/27(金) 12:39:58ID:???
in_arrayを使ってる時点では$_SESSION['checked_item']が配列若しくはnullの可能性があって
item_idがその中に無ければ配列として追加してってる感じ?
その配列キーは$_SESSION['checked_item_num']で最大4まで
それ以上の場合は1に戻す
0063562008/06/27(金) 22:24:17ID:???
>>57
やっと理解できました。
array型へのキャストは、スカラならその値をひとつの要素とした配列に
配列ならそのままの状態、というふうに切り替わるんですね。
そこを知らなかったから余計に混乱してました。
ありがとうございます。
0064nobodyさん2008/06/27(金) 22:42:45ID:???
だから何でマニュアルすら読まないのか
0065nobodyさん2008/06/27(金) 23:39:22ID:???
>>64
型キャストって言葉が出てこなかったら、(array)で何が起こってるかっていうのは、
検索しづらいんじゃない?

きっかけとかとっかかり掴みづらい内容ではあったと思う。
超初心者スレだし、多めに見てやりなよ。
0066nobodyさん2008/06/27(金) 23:44:38ID:???
算数解らないのに数学やろうとしても解るわけ内じゃん
0067nobodyさん2008/06/27(金) 23:56:10ID:???
キャスト自体は知ってたんだろよく読め
あとマニュアルが一番基礎の教科書
0068nobodyさん2008/06/28(土) 00:44:20ID:???
知ってることと理解してることは別
0069nobodyさん2008/06/28(土) 00:46:53ID:???
なら尚更マニュアル読むかググれって感じ
0070nobodyさん2008/06/28(土) 07:49:57ID:9QUTsyON
質問です。
$str = <<<EOM
あああ<br />
いいい<br />
ううう<br />
<!--S-->
えええ<br />
おおお<br />
<!--E-->
EOM;

このうち<!--S-->と<!--E-->で囲まれている<br />だけを削除したいのですが、
正規表現を使って綺麗に書けるでしょうか?
以下のように試したのですが、<!--S-->と<!--E-->が消えるだけでした。
$str = preg_replace("/<!--S-->([\W\w]+)<!--E-->/",str_replace("<br />","","\\1"),$str);
また、<!--S(E)-->で囲まれている部分は改行や半角英数字などが含まれる場合があります。
どなたかご教示いただけますでしょうか。よろしくお願いいたします。
0071nobodyさん2008/06/28(土) 07:57:27ID:???
正規表現スレでどうぞ
0072702008/06/28(土) 08:34:53ID:???
>>71
失礼しました
0073nobodyさん2008/06/29(日) 10:08:17ID:l4KJ7KZ4
あいうえお眉幅はEUCを判別させるために有効みたいだけど
同じ方法でUTF-8を判別させる方法てありますか?BOMは
考慮にいれたくないです。
0074nobodyさん2008/06/29(日) 17:48:22ID:???
3バイトならutf-8なんじゃね
0075nobodyさん2008/06/29(日) 18:23:50ID:hneArZSD
あのすいません。質問です。
基礎からのPHPからの質問なんですが、
自分のサーバーに移行して実行したところ、
loginForm.phpでIDとパスワードを聞かれて入力したいのですが、
うごきません。というかIDとパスワードはなんなんでしょうか?
本にはroot,rootpassと書いてあったんですが、動きません。
すべてデータベースも起動させているのですが、pearも入っています。
http://gichioka.web.fc2.com/blog.rar
ここにソースを保存したので、よろしくです。
0076nobodyさん2008/06/29(日) 18:31:26ID:???
書いてあるURLは403で落とせないんだが・・・
それよりおまえ、>5で>26だろ?
SQLを基礎から勉強してこいって。
0077nobodyさん2008/06/29(日) 18:41:10ID:hneArZSD
落とせるようになりました。
よろしくです。
SQLの勉強もします。
お願いします
0078nobodyさん2008/06/29(日) 18:43:49ID:???
では身に付いたら知らせて下さい
0079nobodyさん2008/06/29(日) 19:07:35ID:hneArZSD
教えてもらえないんですか?
0080nobodyさん2008/06/29(日) 19:10:11ID:???
SQLの勉強はいつするんですか?
0081nobodyさん2008/06/29(日) 19:14:08ID:hneArZSD
初めてのPHP+MYSQLの本も買いましたし、読んでいます。
今回これがなぜうごかないのかわかりません。
この板ではだめですか?
0082nobodyさん2008/06/29(日) 19:15:56ID:hneArZSD
あと
あと、ログイン画面は表示されるのですが、
下のトップページに戻るは真白です。
よろしくお願いします。
0083nobodyさん2008/06/29(日) 19:42:13ID:???
アクセスするDBサーバのIDとパスワードを入れればいいんではないでしょうか
0084nobodyさん2008/06/29(日) 20:50:46ID:hneArZSD
DBサーバのIDとパスワードもだめでした。
0085nobodyさん2008/06/29(日) 21:24:23ID:???
じゃエラー表示するようにして見れ
0086nobodyさん2008/06/29(日) 22:42:12ID:???
ID:hneArZSDを「画伯」と呼びたくなる
0087nobodyさん2008/06/30(月) 01:49:34ID:???
これはもうだめかもわからんね
0088nobodyさん2008/06/30(月) 02:51:43ID:???
こんな奴が中途で入社してきたら最低だろうな…
0089nobodyさん2008/06/30(月) 18:04:53ID:???
SQLの文字コードって全部合わせておけばいいのかな……?
テーブル、カラム、データベース全体……個別個別で細かく設定できすぎてよくわからない。
0090nobodyさん2008/06/30(月) 22:24:41ID:???
PHPでスタックとキューを表現するコードを書きたいのですが、
どこか参考になるサイトありますか?

/* PUSH */

$arr = array();
$num = 5; //意味ないかもしれませんが・・・
for($i = 0;$i < $num;$i++)
{
$arr[] = $i; //array_push($arr,$i); とやろうとしたけど、これは無理でしょうか。
}

$ct = count($arr);
echo "要素数:$ct\n");





てな感じで書いてるんです。
本当はarray_pushやarray_pop、unshiftやらを使いたいのですが、
これら全てが上手く動いてくれません。助言お願いします。
0091nobodyさん2008/06/30(月) 22:27:09ID:???
上手く動いてくれないって?
0092nobodyさん2008/06/30(月) 22:31:07ID:???
>>91
for文の中身は確か、
$arr[] = $i + 1;
の間違いでした、スイマセン。

echoで$arrの中身を順番に表示させると、
1
2
3
4
5
という風になるんですが、array_pushで>>90のコメントで書いている通りのコードで
実行させると、配列から何も取り出せてなかったんです。
0093nobodyさん2008/06/30(月) 22:32:46ID:???
コード見せてみ?
0094nobodyさん2008/06/30(月) 22:34:22ID:???
見せることが出来ません・・・持って帰ってこれない決まりになっているので。

実は入社してから、初めてPHPを触りまして、まだ2日目です。
0095nobodyさん2008/06/30(月) 22:35:55ID:???
いや問題が再現する部分だけでいいからw
0096nobodyさん2008/06/30(月) 22:39:20ID:???
>>90 array_push array_pop
0097nobodyさん2008/06/30(月) 22:40:44ID:???
>>95
pushの部分では、>>90の通りです。
後は、echoで&arrの中身5つを順に表示させて終わりです。

$arr[] = $i + 1;
の下に、
echo = "$arr[i]\n";

これだけです。
ちなみにstackクラスの中でpushとpopの関数を作っています。
0098nobodyさん2008/06/30(月) 22:41:37ID:???
$arr[$i]ぢゃないでしょうか
0099nobodyさん2008/06/30(月) 22:42:43ID:???
>>98
ああ・・そうです、すいません
まだ$つけるの慣れてないものでつけ忘れました・・・
実際のコードではつけてますので。
0100nobodyさん2008/06/30(月) 22:45:49ID:???
なんかよく分からんけどとりあえずはい
$arr = array();
for($i=0; $i<5; $i++) {
array_push($arr,$i);
echo "$arr[$i] ";
}
結果
0 1 2 3 4
0101nobodyさん2008/06/30(月) 22:56:51ID:???
>>100
ええ・・・出来るんですか
あと、>>97でecho = ...とかやってますね、もう間違い酷すぎます・・・。

自分の環境では、
PHP5
apache 2.2
eclipse(PDT) 3.3

なんですけど、array_push等が使えないはずはないと思うんですけどね。
メモらせていただきます、ありがとうございます。
0102nobodyさん2008/07/01(火) 20:24:33ID:???
PHPの勉強を兼ねて、投票CGIを作っています

A〜Eの5つの投票対象(固定)に対して1票と1行コメントを同時送信できるスタンダードな(?)ものです
A.txt 〜 E.txtまでを作成し、そこから票数を読んで加算、上書きするという形で一応投票の基本的な部分までは作成することが出来ました
またコメントも別にA_comment.txt 〜 E_comment.txtを用意し、そこの最後の行に追記していくことで保存できるようにしました

そして今、現在の各アイテム票数をランキングにして表示できるようにしたいのです
具体的には、例えばAに15票、Bに20票、Cに5票、Dに1票、Eに50票入っていたとしたら

1位 E(50票)
2位 B(20票)
3位 A(15票)
4位 C(5票)
5位 D(1票)

という風に表示したいのです
またそれに関連して各項目をクリックするとコメントを見られるページに飛ぶという仕様を考えましたが、これはリンクでGETを使ってパラメータで分岐すればいいと考えています

肝心のランキング表示部分をどう作っていいのか分からないので、どなたか教えていただけないでしょうか
ソートについても色々調べてみましたが、票数を並べ替えた後の項目との関連付けをどうやっていいかよく分かりませんでしたorz
0103nobodyさん2008/07/01(火) 20:57:33ID:???
>>102
rsort (krsort/arsort)
010475です。2008/07/02(水) 02:21:42ID:/ZwHa0Ji
レスくれた方シカトしてしまってすいません。
今勉強をして、なんとか自己解決できるように
したいと思います。
SQL勉強中です。
亀レスすいません。
0105nobodyさん2008/07/02(水) 02:48:17ID:???
>>104
一回、PHPから離れて、MysqlとかでDB構築して、コマンドラインでいろんなSQL実行してみればいいと思うよ。
がんばれ。
0106nobodyさん2008/07/02(水) 02:49:38ID:???
ttp://search.net-newbie.com/php/wrappers.http.html
一番最後「HTTP リクエストで独自のヘッダを送信する」にある

ini_set('user_agent', "PHP\r\nX-MyCustomHeader: Foo");
$fp = fopen('http://www.example.com/index.php', 'r');

送信されるリクエスト
X-MyCustomHeader: Foo

とありますが、実際受信側のレスポンスを見ると、
HTTP_X_MYCUSTOMHEADER: Foo

という風に"HTTP_"が付加されていました。
そういうものなんでしょうか?
01071022008/07/02(水) 06:34:22ID:???
>>103
解決しました!ありがとうございました!
0108nobodyさん2008/07/02(水) 12:23:28ID:???
>>106
Host: www.example.com →HTTP_HOST
User-Agent: PHP →HTTP_USER_AGENT
X-MyCustomHeader: Foo →HTTP_X_MYCUSTOMHEADER
つまりはそういうこと。
0109nobodyさん2008/07/04(金) 00:37:52ID:q3bb7c0a
8953201 や 3545 や 156783 などの数字を
89.53201 35.45 15.6783にしたいのですがどうしたらいいのでしょうか?
0110nobodyさん2008/07/04(金) 00:38:48ID:q3bb7c0a
あ、すいません。三つをつなげたいわけじゃなくて2桁目に.を入れたいという意味です。
0111nobodyさん2008/07/04(金) 00:39:27ID:???
二桁目じゃなくて右から2つ目にですね…
すいません…
0112nobodyさん2008/07/04(金) 00:43:41ID:???
>>109
$a = 8953201
$a = preg_replace('/^([0-9]{2})([0-9]+)$/', '$1.$2', $a);

つまり正規表現を使えばよいのではないか。
0113nobodyさん2008/07/04(金) 00:52:45ID:???
おお、できました!ありがとうございます!!
ちなみにこれは、前半部分が$1に、後半部分が$2になってるって解釈でいいんでしょうか?
0114nobodyさん2008/07/04(金) 01:09:26ID:???
>>109 sprintf
0115nobodyさん2008/07/04(金) 01:09:53ID:???
あ。うそ。ごめそ。
0116nobodyさん2008/07/04(金) 12:20:55ID:???
mssqlに接続をやってみようと思い

<?php

$link = dbx_connect(DBX_SYBASECT, "localhost", "db", "username", "password");
dbx_close($link);

?>

とりあえずこれで、dbx関数とsybasect周りが使えるかどうかチェックしたんですけど
エラーが出てしまいました。

Warning: dbx_connect() [function.dbx-connect]: dbx: module '7' not loaded or not supported

環境はxampp1.6.6 for linuxで、apacheは2.2.8、PHPは4.4.8です。
extensionに設定されたディレクトリに、php_dbx.dllとともに、php_sybase_ct.dllを配置してあるので
読み込まれていない・・・ということは無いと思いますし(apacheの再起動は何度もかけています。)
php.iniの設定も問題なさそうです。
PHPのバージョンも、4.2.0より後発のもので、サポートもしていると思うのですが
どなたか、なにとぞ助力をお願いできないでしょうか。
0117nobodyさん2008/07/04(金) 13:10:39ID:???
linuxでMSSQLでdll???
0118nobodyさん2008/07/04(金) 14:04:56ID:???
あ、ごめん 間違えてた windows機のほうでした・・・。
マシン入れ替えていろいろ試してたら混乱してしまった。
0119nobodyさん2008/07/04(金) 15:33:23ID:???
phpinfoで確認
0120nobodyさん2008/07/04(金) 16:50:08ID:4Xa3cuiv
PHPスクリプト内の文字列の扱いについて質問なのですが
PHPバージョンは5
自動変換系は全てパス、スクリプトはUTF-8で記述、
internal_encodingもutf-8とします。
スクリプトの処理内容は
UTF−8エンコードで送られてくる文字列”あいうえお”
を受け取りそれをスクリプト内で
”あいうえお”か判断して”あいうえお”
なら真を返すてだけの単純なものなのですが
”あいうえお”を送っても真を返してくれません。
それで今度はポストするデータをEUCエンコードで送ってみると
あらふしぎ真を返してくれるんです。
PHPスクリプト内に書いてある文字列たとえば
<?php
$a="あいうえお";←ここの部分
?>
はロケールのエンコードで解釈されてる気がするのですが
(OSのロケールはEUC−JPだった)
どうなんでしょうか?舌ったらずで申し訳ありません。。。
012175です。2008/07/05(土) 00:32:52ID:MACe5BF6
euc-jpでやれば。
なんかutf-8にしないといけない理由とかあるの?
0122nobodyさん2008/07/05(土) 00:36:49ID:???
wordpressとか?
0123nobodyさん2008/07/05(土) 01:57:54ID:???
>>120
送られてくるデータってのは、GETしてるの?
POSTしてるの?
ついでに、どちらでもいいけど、ブラウザがGETorPOSTしたデータを、echoしたら文字化けするの?
真偽値取る前に、そこらへん確認してみては。
0124nobodyさん2008/07/05(土) 06:27:10ID:???
>>120
ソースの文字コードがeuc-jpだったというオチでは?
euc-jpの「あいうえお」とutf-8の「あいうえお」じゃ当然マッチしないわ。
0125nobodyさん2008/07/08(火) 22:48:01ID:nzIgHbiU
exif_read_dataってちゃんと画像の形になってないと読んでくれないんですかね?
mail_mimedecodeで添付付きメールを分解したんですが、その添付ファイルを撮影時間の名前で保存したいんです
おそらく、一度保存してからexifデータを読み込み、その後名前を変えるって形ならいけるとは思うんですが
二度手間になってしまうのでもし出来るのならと思いまして
0126nobodyさん2008/07/09(水) 01:55:27ID:U9Y+NLIi
そうだね
0127nobodyさん2008/07/11(金) 12:12:19ID:???
どなたか、解決に力をお貸し願えないでしょうか。

postfixを使って、phpからメールを送りたいのですが
うまく動作していない状態です。
環境はCentOS5上、Apache2.2.9 PHP-4.4.8 postfix-2.5.2で
全てソースからインストールしています。

直接、mailコマンドでgmailにテストメールを送信したら、正常に送信されたので
ポートの開放や、postfixそのものの設定は問題なさそうなのですが
PHPからmb_send_mailを使用して送信した場合、gmailに送信されずにいます。
php.iniのsendmail_pathには「/usr/sbin/sendmail.postfix -t -i」と
設定しているのですが、エラーログに以下の内容が出力されていました。
Jul 11 11:52:42 localhost postfix/local[31480]: fatal: open database /etc/aliases.db: No such file or directory
Jul 11 11:52:43 localhost postfix/master[23909]: warning: process /usr/libexec/postfix/local pid 31480 exit status 1
Jul 11 11:52:43 localhost postfix/master[23909]: warning: /usr/libexec/postfix/local: bad command startup -- throttling

問題点が思い当たる方いらっしゃいましたら、何卒ご助言をお願いいたします。
0128nobodyさん2008/07/11(金) 12:58:30ID:???
別にsendmail_path通さなくても
alternatives --config mtaでpostfix選択するか
system-switch-mailで切り替える方が良いよ
0129nobodyさん2008/07/11(金) 19:41:44ID:???
なんかDB周りの設定とかindex.phpとsideBar.phpとentryView.phpとadmin.phpと
loginform.phpの部分とかがおかしいみたいです。
Windowsでは動くらしいけどlinuxでは動かないとかなんとか。
もうくそ本でした。
くやしい.....
誰かなんとか動くようにはできないでしょうか。
ソースは
http://gichioka.web.fc2.com/blog.rar
です。
マルチ失礼しました。
報告までです

013075です。2008/07/11(金) 19:49:15ID:???
すいません。
129=75です。あのときブログのことで質問しました。
あの時はいろいろ教えていただきありがとうございました。
0131nobodyさん2008/07/11(金) 20:40:04ID:???
まだやってたのか
ログインできたの?
0132nobodyさん2008/07/11(金) 20:44:45ID:???
loginformはだめですが。
admin.phpはいけます
0133nobodyさん2008/07/11(金) 22:11:31ID:???
誰か助けてくれ---------------------
0134nobodyさん2008/07/11(金) 23:01:47ID:???
何を?
0135nobodyさん2008/07/12(土) 10:17:05ID:???
あんた向いてないから諦めろ
0136nobodyさん2008/07/13(日) 04:23:27ID:???
あきらめきれない。
3000もしたんだよ
0137nobodyさん2008/07/13(日) 20:06:55ID:???
画伯も大変だな
3000は大金だもんな
元気出せよ
0138nobodyさん2008/07/13(日) 21:41:45ID:???
買った本をあきらめろってことじゃなくて、
PHPの勉強をあきらめろってことじゃあ…
0139nobodyさん2008/07/15(火) 03:16:57ID:YrbWt9It
この本返そうかと思ったぜ。
ソフトバンクの本はもう買わん

0140nobodyさん2008/07/15(火) 15:59:19ID:px8EuhxF
simplexmlについて質問です。
以下のようなXMLからCountの値を取得したいのですが、
取得できません。
$string = <<<XML
<?xml version="1.0" ?>
<document>
<Hoges>
<Count>2</Count>
<Hoge>
<aa label="monar" />
<name>モナー</name>
</Hoge>
<Hoge>
<aa label="yaruo" />
<name>やる男</name>
</Hoge>
</Hoges>
</document>
XML;

$xml = simplexml_load_string($string);
foreach($xml->Hoges as $key => $tmp){
/* ここでCountの値を取ろうとしていますが
$keyが'Hoges'になっていて取得できません。
*/
}
↑のforeach内で取得する方法を教えてください。
ちなみに、$xml->Hoges->Countでは正常に取得できます。
どうかよろしくお願いします。
0141nobodyさん2008/07/15(火) 19:35:37ID:???
foreach($xml->Hoges as $key => $tmp){
echo $tmp->Count;
}
0142nobodyさん2008/07/16(水) 01:29:04ID:yQh99k9k
掲示板作ってるんですが最近英語表記のみ url大量に含まれた書き込みが大量に送り込まれ処理に困っております。
POSTで受け取っている$_POST['text']に日本語が含まれていないものを除外、urlが2つ以上含まれているものを除外したいのですが
どのようにしたらよいのでしょうか?

あと似たような問題は他にもいくらでも出てくると思うので、SPAM書き込み対策
掲示板作成の参考になるようなHPとかあるようでしたら教えてください。

よろしくお願いいたします。
0143nobodyさん2008/07/16(水) 01:37:08ID:???
ひとつはjavascriptで制御だな。
javascriptでこの文字が入っていたら除くとか
検索すれbないいよ。
もうひとつはapacheのところで、どこからきているか
を解析してそいつらはみられないようにするんだ。
0144nobodyさん2008/07/16(水) 01:51:52ID:???
>>142 BBQ
0145nobodyさん2008/07/16(水) 08:03:30ID:???
<?php
$baseball = array('鈴木'=>16, '松井'=>55, '清原'=>5);
foreach ($baseball as $key => $val){
print ($key." : ".$val."<br />");
}
?>


これの
$key の後ろの . って何のために必要なんでしょうか?
0146nobodyさん2008/07/16(水) 09:49:58ID:???
文字連結のため。
0147nobodyさん2008/07/16(水) 12:25:39ID:???
連結をしないとエラーになってしまいますが、なぜエラーになるのかがわかりません。
連結をしなければいけないときとしなくてもいいときがわからないというか?
0148nobodyさん2008/07/16(水) 13:00:16ID:???
>>147
お前はいったい何がしたいんだ?

>>145のソースでは当該箇所はどう見ても文字列を連結しようとしている
わけだから、連結演算子(.)は省けないだろう。

どうしても連結したくないなら
print $key;
print " : ";
print $val;
print "<br />";
とでもしておけ。

普通なら
print "{$key} : {$val}<br />";
で終わりだがな。
0149nobodyさん2008/07/16(水) 13:02:18ID:???
>>148

なるほど。
意味がわかったような気がします。
ありがとうございました。
0150nobodyさん2008/07/16(水) 13:20:58ID:JWV92MXF
. で連結するより、変数を{ }で囲った方が処理的負荷が少ないの?
たしか、 .で連結するより ,で連結した方が、処理的に早いって聞いた

処理速度 { } > , > .

これであってるかな?
0151nobodyさん2008/07/16(水) 13:23:05ID:???
高速化は、デカい所からやれ!!
最適化は、脳味噌に適用しろ!!

http://d.hatena.ne.jp/gegegen/20080524/1211622711より)
0152nobodyさん2008/07/16(水) 13:39:24ID:???
PHPの質問とはちょっと違うと思いますが、

例えば、a8等のアフィリエイトの場合、広告主がサンクスページ(購入完了画面) に申し込み確定タグを
imgタグで仕込みます。

流れ的には、

サイトオーナー番号の付いた a8 のタグをクリックし、クッキーを発行
http://aaaa.com/in.php?s=001

広告主サイト
http://bbbb.com/

商品購入完了画面で、imgタグにより a8 へ通知
<img src="http://aaaa.com/check.php">

という流れだと思うのですが、この時、最初に発行されたクッキーは a8 の名前で作成されるのですが、
これを商品購入完了画面の imgタグで、a8に通知した時、クッキーはa8へ渡るのでしょうか?

上記のような流れのものをPHPで作って試してみましたが、ドメインが違うためクッキーは受け取れませんでした。
もちろん、同ドメインの場合では正常に受け取れます。

サイトが違っても、imgによる呼び出し先が、発行元と同じなため、受け取れるんじゃないかと思ったのですが…
何か特別な事をしているのか、私の勘違いなのか、お知恵を貸しください。

よろしくお願いいたします。
0153nobodyさん2008/07/16(水) 13:45:17ID:???
>>150


ttp://www.phpbench.com/
echo vs. print のところを参照
0154nobodyさん2008/07/16(水) 13:51:19ID:???
>>151 嘘だよ
0155nobodyさん2008/07/16(水) 20:17:18ID:???
何が?
0156nobodyさん2008/07/17(木) 09:33:28ID:???
echo ereg_replace("[a-z]|[0-9]","",$message);

これでアルファベットと記号を消そうと思うんですが、
' とか
" とか
[ とか
も消したいときはどんな風に表記したらいいんでしょうか。
0157nobodyさん2008/07/17(木) 15:54:00ID:???
>>156
例えばこんな感じ?

$message = preg_replace('/[0-9A-Za-z@!"#$%&,_=\|\{\}\[\]\(\)\x27\x2f\x3f\x5c\x60:;\.\*\+\-]/','',$message);
echo $message;
0158nobodyさん2008/07/17(木) 16:03:43ID:???
>>156
>>157は個別に書いたけど、単純に数字〜英記号を一括削除するなら

$message = preg_replace('/[\x21-\x7e]/','',$message);
echo $message;

の方が簡単。
詳しくはPerl正規表現とそのエスケープ文字を調べること。

ereg系正規表現は日本語が混じると誤動作するし、mb_ereg系もイマイチ不安定で
パフォーマンスも低いので、文字コードに拘らないのであればperl互換正規表現
を使う方が何かと便利だと思うよ。
0159nobodyさん2008/07/18(金) 02:29:59ID:???
>>157
>>158

ご丁寧にありがとうございます。疑問が全て解けました。
0160nobodyさん2008/07/20(日) 00:29:05ID:???
perl の正規表現はいろいろ調べてみましたがあんまり良いウェブサイトが見つかりませんでした。今度、本を探してみます。

ところで、

$old = array("a","b","c");
$new = array("<strong>a</strong>","。<strong>b</strong>","<strong>c</strong>");

$wrdst = str_replace($old,$new,$wrdbr);

こんな感じで置換しているんですが、これを
「最初の10個だけ置換」
したいんですが、良い方法がないでしょうか。
0161nobodyさん2008/07/20(日) 06:45:16ID:???
preg_replace('/[a-c]/', '<strong>\\0</strong>', $str, 10)
0162nobodyさん2008/07/20(日) 11:38:30ID:???
>161

ありがとうございます!
0163nobodyさん2008/07/22(火) 19:28:46ID:???
配列の中身を

5の倍数の場合だけ<h1>を入れて返すにはどうしたらいいんでしょうか。

ifで5で割り切れるときだけどかいろいろ考えてみたんですが、いまいちうまくできません。
0164nobodyさん2008/07/22(火) 19:54:43ID:???
>>163 5の倍数の時だけあほになる方法は知ってるんだけどなあ…
0165nobodyさん2008/07/22(火) 20:00:33ID:???
答えが0か5の時はってことね
0166nobodyさん2008/07/22(火) 20:04:12ID:???
>>163
>ifで5で割り切れるときだけどかいろいろ考えてみたんですが
いやそれでok
0167nobodyさん2008/07/22(火) 20:21:02ID:???
% を知らない予感
0168nobodyさん2008/07/22(火) 20:34:06ID:???
mod を知らない予感
0169nobodyさん2008/07/23(水) 02:23:01ID:???
% は知ってまましたがmodは知らなかったっす。今から調べてみるっす!
0170nobodyさん2008/07/31(木) 13:54:43ID:F87Ghxji
文字コードのことで質問があるのですが
基本的にSJISで作ったフォームからはSJISで
EUCで作ったフォームからはEUCで文字コードが
送られてきますよね。だけど送り手が意図的
に文字コードを変えて送ってきたりブラウザ
が勝手に他の文字コードで送ってしまう場合が
あるようなのですがその場合文字コードを
適切にスクリプト内部で使用したい文字コードに
変換する方法てどんなものが考えられるでしょうか。
またみなさんはどうやってますか?
0171nobodyさん2008/07/31(木) 15:43:39ID:???
>>170 mb_convert_encoding
0172nobodyさん2008/07/31(木) 18:02:30ID:???
iteteki ni okutte kuru you na yatsu ha mushi

諢丞峙逧縺ォ騾√▲縺ヲ縺上k繧医≧縺ェ螂エ縺ッ辟。隕悶☆繧翫c濶ッ縺縺倥c繧薙Χ縺√シ縺仇ww
0173nobodyさん2008/08/01(金) 01:13:57ID:/2mMDjbG
レッツPHP! ttp://php.s3.to/bbs/bbs7.php  の「写メール掲示板」を使っているのですが、
借りているサーバーの関係でphp4からphp5にバージョンアップしたら、
写真をパソコンで表示させるページ(mailbbs.php)でエラーが出てしまい、閲覧できなくなりました。

簡単に付け足す記述があれば、是非教えていただけないでしょうか?
よろしくお願いします。 m(_ _)m
0174nobodyさん2008/08/01(金) 01:15:02ID:???
そんなのはない
0175nobodyさん2008/08/01(金) 02:46:29ID:???
>>173
まずはその問題を作成者に問い合わせろ
または、エラーを自分で読んで解決しろ
0176nobodyさん2008/08/01(金) 02:51:47ID:3wWMq3LY
とある就職支援のPHP講座について調べていたのですが、
Web申込フォーム、管理画面(データベース連携、検索など)を作成可能なレベルを目指す
という文章に対して
(つд⊂)ゴシゴシ
  _, ._
(;゚ Д゚)
とレスが返されていました。
これはどういうことなのでしょうか?
基本的なレベルだということですか?
0177nobodyさん2008/08/01(金) 03:01:39ID:cc3Gba10
まあ基本といえば基本ですな
ヌルポ
0178nobodyさん2008/08/01(金) 03:04:56ID:???
>>176
すごい基本
できても自慢できないぐらい基本

そのレスの意図なんざ知ったことではないが
0179nobodyさん2008/08/01(金) 03:11:47ID:???
>>177
>>178
なるほど。
2週間の講座なので、基本なのはまあしょうがないですね。
どうもありがとうございました。
0180nobodyさん2008/08/02(土) 17:48:44ID:qYvqcpCs
レンタルサーバーにPHPで組んだ自作画像UPローダー
を設置しようと思ってるのですが、画像をUPロードする
時に画像に関する情報(画像の説明、名前など)
をログファイルに同時に書き込む仕様になっているんです。
とりあえずテストでは問題なく動いてるのですが
もしスクリプトがなんらかの理由で途中で止まってしまったり
した場合、画像だけUPロードされてしまって
ログファイルには書き込みされない(または逆も考えられる)
ことになってしまいますよね。
こういう事態に陥らないためにはどうしたらいいでしょうか?
0181nobodyさん2008/08/02(土) 18:09:58ID:???
両方オッケーだなと判断したら保存&書き込む
0182nobodyさん2008/08/02(土) 18:16:17ID:QOTyBDTF
そんなこと考えないで、プログラム書いて
不具合がでるかどうか確かめろ。
まずはそっちだな
0183nobodyさん2008/08/02(土) 18:41:09ID:qYvqcpCs
>>181
>>182
ご返事ありがとうございます。
とりあえず不都合はまだないのですが
タイムアウト(レンタルサーバーだと30秒)
の問題もあるので結構悩んでます;;
0184nobodyさん2008/08/03(日) 01:05:38ID:a0x+ZsCK
PHPの練習用にxamppをダウンロードしたんですが
どれで練習して どこで実行したらいいんでしょうか?
ttp://phpspot.net/php/php_topics.htmlを見てるんですが
すでに実行にいってしまっていて
よろしくお願いします
0185nobodyさん2008/08/03(日) 01:13:59ID:???
http://phpspot.net/php/pgPHP%8AJ%94%AD%82%F0%82%CD%82%B6%82%DF%82%E9.html
書いてあんだろが
0186nobodyさん2008/08/03(日) 01:25:55ID:tLdg0T4F
mkdirやunlinkなんかのファイルシステム関数で
渡すパスは自動でエスケープされるようだけど
これは実際どういう文字がエスケープされるんでしょうか?
escapeshellcmdと同じ?マニュアルに特に書いてないで分かりません。
0187nobodyさん2008/08/03(日) 01:44:15ID:???
エスケープされるって何を根拠に?
01881842008/08/03(日) 01:52:39ID:a0x+ZsCK
183さん
サンクス
そのurl通りやってみたんですが
表示されませんでした
原因で考えられるのは
ttp://phpspot.net/php/pgXAMPP%82%CC%8BN%93%AE%81E%92%E2%8E%7E.html
にあるように起動後に黒背景のウィンドウが表示されないからかと思うのですが
XAMPPコントロールパネルアプリケーションでは起動 開始ボタンが押されてます
どうすれば実効されますでしょうか?
01891842008/08/03(日) 02:02:51ID:a0x+ZsCK
追記
XAMPPコントロールパネルアプリケーションはver2.5
あとはPHP editorだけダウンロードしてます
他に足らないものはないでしょうか?
ttp://de-lab.com/article/eclipse/を見るとPDTもインストールしなければならないようですが…
0190nobodyさん2008/08/03(日) 02:07:06ID:???
PDTなんていらない
01911842008/08/03(日) 02:09:54ID:a0x+ZsCK
>>190
そうですか…
では>>188に書いてあるように実行できなかったんでしょうか?
違うサイトを見てしまうと挫折してしまう気がして
よろしくお願いします
0192nobodyさん2008/08/03(日) 04:57:56ID:???
そもそも、XAMPP(ry

単純に一つ一つインストールしたほうが早くて確実だと思うけど。
0193nobodyさん2008/08/03(日) 05:28:24ID:???
ほんとXAMPPは弊害招きまくりだな
0194nobodyさん2008/08/03(日) 07:55:45ID:T3jYftlq
静岡の有名なよしのりお爺さんみたいに、IDかえまくり二十四時間打ちまくり
0195nobodyさん2008/08/03(日) 10:31:52ID:9C4HZHI8
ubuntu使うとLAMPインストール楽だよ
0196nobodyさん2008/08/03(日) 18:50:36ID:RMhtfFUN
XAMPPは使いたくない
0197nobodyさん2008/08/03(日) 19:00:15ID:???
宗教上の理由で
0198nobodyさん2008/08/03(日) 19:52:51ID:???
死んだじぃちゃんの遺言で
0199nobodyさん2008/08/04(月) 02:38:05ID:LmctVFYq
ダサさ加減で
0200nobodyさん2008/08/06(水) 23:42:16ID:???
PHP5でGDを使ってEXIFが入っているjpegをリサイズするときにEXIFを保ったままにする方法はありますか?
0201nobodyさん2008/08/07(木) 01:15:21ID:ASRrNjKq
すいません。ちょっと教えてください。
スレ違いかもしれませんが、PHPの呼び出しをしたいので、こちらで質問させていただきます。

サーバーのcronでサーバー内のPHPを毎分実行する時は、
*/1 * * * * /usr/local/bin/php /home/サーバー会社名/public_html/ドメイン名/△△.php
なのですが、
同じように毎分他サーバーのPHPファイルを指定する時はの記述を教えてください。
よろしくお願いします。
0202nobodyさん2008/08/07(木) 02:08:13ID:???
無理
0203nobodyさん2008/08/07(木) 02:51:36ID:GqYvn9Ij
質問です

php5を使って、XMLの内容を並び替える方法を教えてください。
0204nobodyさん2008/08/07(木) 02:52:26ID:???
http://jp.php.net/manual/ja/refs.xml.php
お好きなのをどうぞ
0205nobodyさん2008/08/07(木) 08:01:58ID:???
>>201
HTTP経由で他サーバーのPHPスクリプトを呼び出すPHPスクリプトをcronする
02062012008/08/07(木) 12:39:10ID:???
レスありがとうございます。

PHPスクリプトをcronすることにしました。
ありがとうございました。
0207nobodyさん2008/08/07(木) 15:24:18ID:???
普通にcronでwgetとか
0208nobodyさん2008/08/21(木) 15:50:39ID:???
初心者なんですけど
独習PHP山田 祥寛
まずこれやればいいですか?
自分のwebサーバーでphp使ったサイトとか作れるようになりたいです
0209nobodyさん2008/08/21(木) 15:52:50ID:???
まずマニュアルに目を通す
0210nobodyさん2008/08/21(木) 17:20:22ID:???
>>209
なんかマニュアル難しそうです
0211nobodyさん2008/08/21(木) 17:26:28ID:???
じゃ諦める
0212nobodyさん2008/08/21(木) 17:45:50ID:???
入門系のサイトに目を通してみたらどうか
検索すりゃ役に立つサイトから立たないサイトまでわんさか出る

マニュアルも早いうちから目を通せ
本やサイトは主観で書いてある記事だから誤解もある

0213nobodyさん2008/08/21(木) 18:25:36ID:CIze4FXP
MySQLのデータベースからデータを取り出そうとしてます
データベースはUTF8で作成しています
select文を実行する前に、
$sql = "SET NAMES utf8";
mysql_query($sql);
を実行してデータを取り出しましたが、日本語文字は『utf8』なのですが、
半角英数字は全部『ASCII』になっています

なぜでしょうか?
0214nobodyさん2008/08/21(木) 18:47:35ID:???
ASCII だから
0215nobodyさん2008/08/21(木) 20:58:15ID:???
>>212
ttp://www.standpower.com/index.html
とかでいいですか?
0216nobodyさん2008/08/21(木) 21:32:52ID:???
>>215
そんな感じ
文法や基本的な命令語を覚えれば後は使いたい関数やクラスを都度調べればいい
使う機会の多いものは自然に身についていくから
一通りのことが出来るようになった後に効率や最適化を考えればいい

あくまで趣味の一環として習得する場合だけどな

>>213
ASCIIしかないなら保存形式が何であれASCII
utf8と判断する材料がないからな
0217nobodyさん2008/08/21(木) 23:55:32ID:2yWxB/YG
PHPってばかが使う言語だろ?
0218nobodyさん2008/08/22(金) 00:09:08ID:???
釣られちゃダメだ釣られちゃダメだ釣られちゃダメだ!
0219nobodyさん2008/08/22(金) 00:10:17ID:???
>>218
もう手遅れだよ・・・・
0220nobodyさん2008/08/22(金) 09:40:04ID:???
ちなみにphpの本買ったけど書いてることが意味不明すぎてもう読むのやめたよww

そこらへんから完成品見つけてきてそれ改造してる方がよほど身につくと思う
0221nobodyさん2008/08/22(金) 10:04:01ID:???
おれも買った本はリファレンスくらいだな
ごちゃごちゃ解説読むの面倒だから辞書のように使ってた
それでもバージョン変われば役に立たんから直ぐにマニュアル見ることになるっと

完成品やサンプルソースを読んで動きを理解できるようになればいいな
パターンを覚えていけば応用が利いてくる
そのうち別パターンを自分で書けるようなるんじゃね?
02222132008/08/25(月) 20:42:58ID:???
>>214
>>216
ご返答ありがとうございます。
phpファイルはUTF8で保存して、metaタグでもUTF8を指定しています。
そういうことでは無いんでしょうか?
0223nobodyさん2008/08/25(月) 21:35:52ID:???
>>222
違う
phpのscript_encodingとかmeta(HTMLタグかよ)は関係ない
asciiはあくまでascii

0224nobodyさん2008/08/26(火) 03:06:03ID:???
>>222
大雑把かつ乱暴に言うと
半角英数と一部の記号はどのエンコード方法だろうと内部での表現方法が同じ
だから半角英数だけだと区別のつけようがないしつける必要もない
UTFとかeucとかは、日本語とかはいってくるときだけ
0225nobodyさん2008/08/28(木) 02:17:41ID:???
xamppでwebサーバー作るならphp使うのが一番簡単ですかね?
pealもつかえるようですが
0226nobodyさん2008/08/28(木) 02:33:08ID:???
何を持って簡単としてるのか分からん
0227nobodyさん2008/08/28(木) 06:20:10ID:???
余計にインストールとかしないですむという意味で
0228nobodyさん2008/08/28(木) 06:38:59ID:???
xamppは開発用で、そのためにセキュリティゆるゆるだから
まともに公開しようと思うと一から一づつ入れるより設定面倒だよ

設定に詳しくない限り止めておけ
0229nobodyさん2008/08/28(木) 08:53:39ID:???
入手する手段、パッケージの違い、適切なコンフィグ、文字コード等の環境依存要素の調整、など
全部すっとばしても構わないと思うならxamppで良いかと。
0230nobodyさん2008/08/28(木) 17:51:11ID:???
条件を言えばそのPHPを探してきてもらえる
スレがあったら誘導お願いします

0231nobodyさん2008/08/28(木) 19:41:11ID:???
自分で探せアホ
0232nobodyさん2008/08/28(木) 22:54:08ID:???
>>229
サーバの構築関連は、どのようにして知識を得るのがいいんですかね。
やっぱり書籍ですか?
0233nobodyさん2008/08/28(木) 23:12:59ID:???
ネットは断片的になりがちなので本がいいよね。
で、仮想マシンや引退したボロPCあたりで環境作っていじり倒す
0234nobodyさん2008/08/28(木) 23:18:21ID:???
本なんて著者によって偏るし古いし訂正も効かないしノウハウもTipsも無いぞ。
それでも良ければご自由に。
0235nobodyさん2008/08/28(木) 23:28:54ID:???
>>234
じゃぁ、どんな風に勉強していけばいいですか?

>>233が言っているようにネットだと情報がかなり断片的で、
しかも、本と同じでネットで情報公開している人によって偏ってたり、訂正もされないまま放置されていたりするわけなんだけど。

0236nobodyさん2008/08/29(金) 01:13:34ID:???
糞ブログでたまにある詳しくはこちらとか言って別のアドレス貼り付けるだけのやる気のない馬鹿は死んでしまえ。
0237nobodyさん2008/08/29(金) 01:14:32ID:???
ブログだけは世の中から消滅して欲しい
0238nobodyさん2008/08/29(金) 01:15:48ID:???
検索の邪魔なだけだ。中途半端なことばかりしやがって。
0239nobodyさん2008/08/29(金) 01:33:52ID:???
それは君の検索能力が低いだけだ
ttp://help.goo.ne.jp/help/article/822/#08
0240nobodyさん2008/08/29(金) 11:55:19ID:???
>>235
確かにネットも本と同じで書き手次第だが
本と違うのは書き手の数
より多くの情報を知ることで信頼出来る情報や誤解を判断出来る
(本では数読むには金がががががが)

それに基本はオープンソースなのだから、公式のドキュメントもネットにある、
ある程度の認識が身についたら、公式を押さえることを忘れるな

そして糞ブログ滅べ(特に半端な日記系)
0241nobodyさん2008/08/29(金) 15:09:59ID:???
昨日VistaにApache2.2とPHP5をいれ、
DocumentRootにphpinfo関数が書かれたindex.phpファイルを置き
PHPの情報をブラウザで表示させるところまで成功しました。

次にPOSTの勉強のために以下のform.htmlファイルをつくり
<html><head>
<title>テキスト送信のテスト</title>
<META http-equiv="Content-Type" content="text/html;
charset=Shift_JIS"></head>
<body bgcolor="#FFFFFF" text="#000000">
<font size="4">テキスト送信のテスト</font>
<form name="form1" method="post" action="view.php">
名前:<br>
<input type="text" name="onamae"><br>
<input type="submit" value="送信">
</form>
</body>
</html>

以下の内容のview.phpと一緒にDocumetRootにつっこんで
<html><head>
<title>PHPによるテキスト送信・受信・表示</title></head>
<body>
<?php
print $_POST["onamae"];
?>
</body>
</html>
ブラウザでhttp://localhost/form.htmlを表示させ名前を入力し送信ボタンを押したのですが
IEの"WEBページが見つかりません"のHTTP404エラーが出ます。
ネットで調べて色々php.ini、httpd.confの設定を書き換えてやっているのですが解決しません。。
どこの設定を直せばいいのでしょうか。お助けください。
0242nobodyさん2008/08/29(金) 15:24:11ID:???
>>241
ttp://localhost/view.php
直接呼び出して見てはどうだろう

404エラーってことはファイルがないってことだから設置場所が間違っているか
formのaction指定が正しくないかのどっちかになると思う
0243nobodyさん2008/08/29(金) 15:44:07ID:???
>>242
直接view.php呼び出しても404エラーが出ます。

設置場所はDocumentRootに指定してあるC:\Apache2.2\htdocsの中に
form.htmlとview.php二つつっこんでます。

action指定については間違ってないと思うのですが。。
0244nobodyさん2008/08/29(金) 16:04:48ID:???
>>242
htmlとphpが同じ場所にあって、htmlしか呼び出せないってのは変
(header関数でどこかに飛ばしてない限り)

htmlとphpを削除して、ブラウザで両方404になるか見てから、もう一度設置してみて
0245nobodyさん2008/08/29(金) 16:10:56ID:???
view.php.html
view.php.txt

大丈夫そうなんだけど、こういう事例も多いからいちおう。
02462422008/08/29(金) 16:21:02ID:???
245さんの言うとおりview.php.txtになってました^^;
phpファイルに変更したらちゃんと呼び出せました。

どうも皆さんすいません。
0247nobodyさん2008/08/29(金) 16:55:09ID:???
これはひどい
0248nobodyさん2008/08/30(土) 01:23:15ID:xhTnmRsd
内容:
ランダムテキストを使い「random.php」に例えば10個のリンク先を設定し、
ページの上中下で <?php require "random.php"; ?>で呼び出して使いたいんですが
ページの広告全てが同じものが表示されてしまいます。

ランダムテキストをcgiで作り、SHTMLファイルで呼び出してた時には
すべてきちんと違う広告がランダムに表示されてました・・。
1っのrandom.phpできちんとページ内の広告がバラバラに出るにはどうすればいいでしょうか?

02492482008/08/30(土) 01:23:35ID:???
ちなみにrandom.phpは検索で拾ったソースです。


<?php
// hitには相対確率を入れる。完全にランダムにするなら全部"1"にする
// rtxtには、テキストを入れる。改行はしないようにする
// テキストを増やしたりする場合は、"[ ]"の数字が0から順になるようにする
$hit[0] = 1; $rtxt[0] = '<a href="...">1</a>';
$hit[1] = 1; $rtxt[1] = '<a href="...">2</a>';
$hit[2] = 1; $rtxt[2] = ''<a href="...">3</a>';

$length = count($hit) - 1;
for($i=0; $i<=$length; $i++) {
$m += $hit[$i];
}
srand( (double)microtime()*1000000 );
$n = round(rand(1,$m) );
for($i=0; $i<=$length; $i++) {
$x = $y;
$y += $hit[$i];
if($x<$n && $n<=$y) $ad = $rtxt[$i];
}
print("$ad");
?>

よろしくお願いします。
0250nobodyさん2008/08/30(土) 01:53:03ID:???
やってみたけどランダムで出るよ一応
0251nobodyさん2008/08/30(土) 03:04:20ID:???
>>249
別の方法として
簡単にやりたければshuffleで配列($rtxt)をシャッフルしてarray_shiftで配列の先頭を取り出せばいい
array_shiftで取ると配列は1つ減るから2回目、3回目で重複することはない(同セッション内)
02522502008/08/30(土) 04:09:13ID:???
もしかして
(double)microtime()*1000000
が同じ値をシードに与えてんじゃないの?
02532352008/08/31(日) 18:33:17ID:???
遅レスすみません。

>>240
レスありがとうございます。

ネット上は断片化された情報が多くて、取捨選択が難しい上に、
あっちの情報とそっちの情報での差異が出る理由が明確に分からなくて悩ましいです。

それを調べるってことが、公式ドキュメントを読めっていうということなんですかね。

技術情報を読める程度には英語勉強しろってところですね。

板違いですんませんでした。
0254nobodyさん2008/09/12(金) 15:34:40ID:???
SQLから取り出したデータをテーブルに表示させる際にhtmlタグを無効にしたいのですが、どうしたら良いでしょうか。
今のままだと例えば<b>文字</b>で登録されているデータは太字で表示されてしまいます。
SQLはpostgresです。
現在のコード↓

$passmd5 = md5('$pass');
$sql = htmlspecialchars("SELECT * FROM table1 INNER JOIN table2 ON table1.id=teble2.id WHERE
table1.id='$id' AND table1.pwd='$passmd5';");
$rs = pg_query($conn, $sql);

$rows = pg_num_rows($rs);
if($rows==0){
print("IDかパスワードが正しくありません。<br />");
print('<a href="#" onclick="history.back(); return false;">戻る</a>');
exit;
}

print("<table border=\"1\">");
print("<tr><td>ID</td><td>パスワード</td><td>項目1</td><td>項目2</td><td>項目3</td></tr>");
while($row = pg_fetch_array($rs)) {
print("<tr>");
print("<td>".$row["id"]."</td>");
print("<td>".$row["pwd"]."</td>");
print("<td>".$row["koumoku1"]."</td>");
print("<td>".$row["koumoku2"]."</td>");
print("<td>".$row["koumoku3"]."</td>");
print("</tr>");
}
print("</table>");
0255nobodyさん2008/09/12(金) 15:39:24ID:???
htmlspecialchars
0256nobodyさん2008/09/12(金) 16:01:58ID:???
>>255
htmlspecialcharsを使うんだろうなとは思うんですけれど、何処につけたら良いんでしょうか。
0257nobodyさん2008/09/12(金) 16:12:31ID:???
print〜〜htmlspecialchars($row["koumoku1"].)〜〜
だな

出力の直前にやるのがいい
それ以前は加工する可能性があるからな
02582542008/09/12(金) 16:18:13ID:???
で〜き〜た〜!!!!
本当にありがとうございました!!
0259nobodyさん2008/09/14(日) 09:44:04ID:B7I6GMpn
プログラムじゃない質問で恐縮なのですが、質問させていただきます。

phpを勉強するのに何をしたら「俺すげぇ進化したぁ」と感じたかを教えてください。
0260nobodyさん2008/09/14(日) 09:52:22ID:???
楽して身に付けようなんて甘い考えが通用しないことを実感したときかな
0261nobodyさん2008/09/14(日) 12:14:00ID:???
PHPとか言語は関係ないが、再帰的アルゴリズムがバシッとはまると、俺すげえって思うw
0262nobodyさん2008/09/14(日) 13:35:42ID:???
フレームワークを作った時かな
車輪の〜って言われるだろうが、利用するかはともかく仕組みを考えて実装することに意味がある
と、言いつつ愛用してるが・・・
0263nobodyさん2008/09/14(日) 21:23:06ID:jIYlcJD1
phpでもなんでもそうだけど、本の書いてあること
が理解できるようになったとき。
あとショッピングカートとかブログとかその辺
のアプリができたとき。
0264nobodyさん2008/09/14(日) 22:46:57ID:B7I6GMpn
>>260,261,262,263
観念的で曖昧な質問に答えてくださってありがとうございます。

ちょっと(いや、かなり)質問の仕方が悪かったかもしれません。
「コレを頑張ったら結果をより早く導出できるようになった」という体験を伺ったのです。
「頭打ち状態からブレイクスルーした」という体験はありませんでしょうか?


>>262さんのレスを参考に「フレームワーク 車輪の」でググってみました。
「車輪の再発明」ということですね。
自分でもそういうことをしてしまっている可能性があるので参考になりました。
ありがとうございます。
0265nobodyさん2008/09/14(日) 22:54:51ID:???
その段階だと・・・ひたすら作ってひたすら無駄な労力にorzするのが一番さ
0266nobodyさん2008/09/14(日) 23:41:45ID:???
イヒ体験ってことか

メール送信でPHPが標準でsendmailしか使わんことに気付いた時
大量に送信するにはオーバーヘッドがウザいからSMTP送信をしたいのに出来ない・・・
仕方なくpopenで実装って時にSMTPっつうプロトコルの仕組みを知ってて良かった〜ってことはあった
0267nobodyさん2008/09/15(月) 00:02:57ID:???
しかし、みんな頑張り過ぎw
0268nobodyさん2008/09/15(月) 00:03:46ID:???
誤爆、失礼><
0269nobodyさん2008/09/15(月) 22:32:29ID:???
効率の良いプログラミングをしようと思ったらLL言語使いだろうと
中の仕組みを知っていたほうが良いのは当然だな。
ある程度理解していればプロトコルの詳細はRFC斜め読みでなんとかなる。
0270nobodyさん2008/09/17(水) 12:48:50ID:JTQWTwl/
理解したつもりの関数とか1日で忘れてしまう

substrとか   これなんだっけ ってなる
0271nobodyさん2008/09/17(水) 12:52:42ID:???
それはヤバイな
0272nobodyさん2008/09/17(水) 12:57:46ID:???
学校の勉強はノートに書いて覚えていくけど
プログラミングの勉強となると紙のノートじゃなくPCに依存して勉強したくなるよね
でもメモソフトと紙のノートには雲泥の差の自由度があるから勉強のためのメモとしてはあまり利用出来ないよね
0273nobodyさん2008/09/17(水) 12:59:19ID:???
プログラミングの勉強ってどんなことしてんの
0274nobodyさん2008/09/17(水) 16:13:37ID:???
プログラミングの勉強ってひたすらソース書いてナンボっしょ
0275Noone2008/09/17(水) 16:59:26ID:???
http://www.php.net
0276nobodyさん2008/09/18(木) 00:02:52ID:X0thX7wZ
あげ
0277nobodyさん2008/09/18(木) 07:48:56ID:eOfu22hG
レンタルサーバでPHPの勉強中です。
ファイルのアップロードをしているんですが、php.iniやhttpd.confが直接いじれなくて
.htaccessに

php_value post_max_size 100M
php_value upload_max_filesize 100M
php_value memory_limit 100M

と書いてそれぞれの値を変更しています。
問題は、これらの値がページをリロードする度にサーバのデフォルト値である
post_max_size 32M
upload_max_filesize 32M
memory_limit 90M
になったり、
post_max_size 100M
upload_max_filesize 100M
memory_limit 100M
になったりすることです。

こういった現象を経験された方いらっしゃいませんか?

各値の確認は、
ini_get()関数で確認しています。
0278nobodyさん2008/09/18(木) 08:58:15ID:???
共用サーバーはリソースも共用です。
0279nobodyさん2008/09/18(木) 09:48:54ID:eOfu22hG
>>278
レンタルサーバが、リソースが不足している場合.htaccessが有効にならないような設定がされているということでしょうか?
0280nobodyさん2008/09/18(木) 09:51:27ID:???
リソースが共有されてるのはいいが関係はないな
プロセスが別なのにPARDIRのディレクティブが上書きされるなんて聞いたことがない
0281nobodyさん2008/09/18(木) 10:42:43ID:???
if(!isset($_GET['aaa']) || !isset($_GET['bbb']))

これの真ん中の||とissetの前の!はどういう意味?
0282nobodyさん2008/09/18(木) 10:50:24ID:???
|| は OR と同じ、ちなみに && は AND と同じ「かつ」「または」ってヤツだな

! は反転を意味する。
issetは「初期化されていればtrue」で調べたいことは「定義されていない場合」だからfalseとなるところを!で反転して評価してるんだな
0283nobodyさん2008/09/18(木) 10:50:49ID:???
>>281
マニュアルをどうぞ
0284nobodyさん2008/09/18(木) 10:54:39ID:???
なるほど。

!は反転するということなんですね。
0285nobodyさん2008/09/18(木) 12:44:53ID:???
反転ではなく否定な
0286nobodyさん2008/09/18(木) 13:27:00ID:???
if(!isset($_GET['aaa'])) {

// 値がセットされてなければecho
echo '';
}

こういうことですよね?
0287nobodyさん2008/09/18(木) 13:37:33ID:???
もうちょっと基礎から学習したほうがいいと思うよ
0288nobodyさん2008/09/18(木) 13:50:01ID:???
! の解釈はそれで合ってるけど(まぬあるの「論理演算子」のところを読もう)

> // 値がセットされてなければ
empty() と isset() の説明や比較例を見ると良いです。
?aaa=&bbb=hoge というクエリが飛んできた場合、isset($_GET['aaa'])==TRUE。

言われてるように急がずにゆっくり取り組めばいいと思うよ。
0289nobodyさん2008/09/18(木) 13:51:32ID:???
> isset($_GET['aaa'])==TRUE
isset($_GET['aaa'])がTRUEだと言いたいんだろうがその説明の仕方はだめだw
0290nobodyさん2008/09/18(木) 14:20:02ID:???
あっ、まずかったですか。
言いたかったことはその通りなので、「isset($_GET['aaa']) は TRUE を返す」に訂正します。
0291nobodyさん2008/09/18(木) 14:34:48ID:???
age
0292nobodyさん2008/09/18(木) 14:42:09ID:eOfu22hG
>>280
レンタルサーバの会社に問い合わせたところ詳しくは教えてもらえませんでしたが
>>277で書いたような負荷がかかることはことはしないでくれとのことでした。

根本的な解決はできませんでしたが、こういった現象もあるってことで・・・

しかし、今度はどうやって高負荷時は.htaccessを無視するようなことができるのか
そっちに興味がわいてきました。
Apacheの設定にそういうことができるようなオプションがあるのかな?
0293nobodyさん2008/09/18(木) 14:46:31ID:???
単に違う設定の鯖をロードバランスしてるだけとか
0294nobodyさん2008/09/18(木) 14:56:27ID:???
すいません...

基礎を勉強したいと思います
0295nobodyさん2008/09/18(木) 15:14:50ID:???
珍しく伸びてるな
0296nobodyさん2008/09/18(木) 15:15:16ID:???
そりゃあ鯖のリミッタを外したら怒られるにきまっているだろ
0297nobodyさん2008/09/18(木) 21:33:48ID:???
>>292
だから、>>278って書いたでしょ。

興味を持つのは良い事だけど、
実験したければ、自鯖立ててやってね。
0298nobodyさん2008/09/19(金) 03:16:00ID:???
こんにちわ。
サーバー側が php4 → php5 にしますよ
と言ってきました。

バグってどれくらい出るものでしょうか。
移行された人いらっしゃいますか?
0299nobodyさん2008/09/19(金) 05:25:52ID:???
バグっていうか対応度合いの問題だろ
そんなんアプリによってまちまちとしか言えん
ていうか手元で移行検証くらいしようよ
0300nobodyさん2008/09/21(日) 15:55:59ID:G8wZRX1E
すいません、知っている方がいたら教えてください。
strip_tags()を使用してコメントタグだけを残したい場合はどうしたらよいでしょうか?
$html = strip_tags($html, "<!---->");
という書き方だとコメントタグも削除されてしまいます。
0301nobodyさん2008/09/21(日) 16:35:13ID:???
質問というかアドバイスをください。
プログラミング経験は無いわけではなくC,C++でマルコフ連鎖モンテカルロ法
の実験などを大学の研究でしたりもしているのですが、最近なんとなく
PHPのようなウェブアプリを簡単に作れる言語に興味があります。

が何を作ったらいいかわかりません。
自作で、実用レベルまで比較的に簡単に作れるもの、
というとどういうものがあるでしょうか。お願いいたします。
0302nobodyさん2008/09/21(日) 16:36:57ID:???
掲示板でも作ってみたら?
まぁ何にするにせよ実用性とは程遠いだろうが気にするな
0303nobodyさん2008/09/21(日) 17:51:38ID:???
>>301
何かのウェブアプリを作りたいからphp学びたいんじゃないの?
せめて作りたいものの目標くらい無いとモチベーション続かないと思うんだけど。
なんか目的と手段が逆になってるような気がする。
0304nobodyさん2008/09/21(日) 17:53:03ID:???
>>301
有能な君にはphpbb並の国産高機能BBSをぜひ作ってほしい
0305nobodyさん2008/09/21(日) 18:30:23ID:???
>>301
隠れマルコフモデルを応用して、
形態素解析でインターネット上の情報サンプル集積でもやってみてくれ
0306nobodyさん2008/09/21(日) 18:30:48ID:???
>>300
マニュアルに書いてあるぞ、無理ってな
strip_tagsの前後でHTMLコメントの置き換えて逃げるしかないだろうな
0307nobodyさん2008/09/21(日) 18:31:56ID:???
誤字った
誤:strip_tagsの前後でHTMLコメントの置き換えて逃げるしかないだろうな
正:strip_tagsの前後でHTMLコメントを置き換えて逃げるしかないだろうな
0308nobodyさん2008/09/21(日) 20:19:14ID:uUB1weY6
すみません、ほんとに基本の質問だと思いますが
.htmlファイルの中に
<?php
include('file.php?pass=123');
?>
としましたが、includeが実行されません
拡張子は常に.phpでなければいけないんでしょうか?前に試した出来たような気がしたんですが、、
また、上記のようなインクルードファイルに引数をつけた場合、
file.phpの中で$_GET['pass']としてを解釈することは出来るでしょうか?
どなたかご回答お願いします
0309nobodyさん2008/09/21(日) 20:28:27ID:???
無理
0310nobodyさん2008/09/21(日) 20:29:10ID:???
>>308
俺の経験では出来ない。

file.phpの中に関数f_fileを書いて以下の様にすればいい。

<?php
include('file.php'); f_file('123');
?>
03113082008/09/21(日) 20:49:34ID:uUB1weY6
>>309-310
ありがとうございました
phpは .htmlの拡張子のファイルでは動かないということでいいでしょうか?

また、二つ目の質問に関しては
http://okwave.jp/qa4336105.htmlという解決法を見つけました
>>310さんの答えと合わせて考えたいと思います
0312nobodyさん2008/09/21(日) 21:12:27ID:???
>>311
できる
addtypeでググってみ
03133002008/09/21(日) 22:14:17ID:G8wZRX1E
>>306
ありがとうございます。
自分の持ってるPHP辞典には記載されてなかったでわかりませんでした。
なんとも中途半端な仕様ですね。
0314nobodyさん2008/09/21(日) 22:33:44ID:aDAFCUyF
しつもーん。
ttp://jp.php.net/manual/ja/functions.arguments.php
> 注意: PHP 5以降、デフォルトで値はリファレンス渡しとなります。

の、主語というか目的語というか、ナニのデフォルトが参照渡しになるんでしょか。

function alter($str){
$str = $str . '!';
}
$nya = 'nya';
alter($nya);
echo $nya;

は PHP 5.2.0-8+etch9~bpo31+1 (cli) では $strを 変更せずに nya が表示されました。
0315nobodyさん2008/09/21(日) 23:03:33ID:???
それは日本語版スタッフの訳が悪いと思う。
原文読むといいかと。
http://jp.php.net/manual/en/functions.arguments.php
0316nobodyさん2008/09/21(日) 23:22:56ID:???
引数がデフォルトでリファレンスよ
やってみれば分かるが&付けなくても参照元の値も変わるぜ

余談だが
PHP4では 「&$arg=null」なんてデフォルト引数が使えないんだが、PHP5から問題なく通る
呼び出し時に引数指定したかどうかでスイッチしてんだろうなぁ
0317nobodyさん2008/09/21(日) 23:29:51ID:???
>>314では&無しでは変わってなくないか?
0318nobodyさん2008/09/22(月) 01:05:35ID:???
PHPで逆IP制限ってできる・・・?
変数$aに1が入ってる時だけ変数$bに入ってるIP以外からのアクセスがあった場合にifコマンド使って、
他の内容を表示するの。
0319nobodyさん2008/09/22(月) 01:09:02ID:???
IP見て比較すれば普通にできるんでない?
03203182008/09/22(月) 01:10:00ID:???
if ( !strcmp ( $ip_address, $list_ip ) )
これ使っていけるかな・・・・・・?
03213182008/09/22(月) 01:10:58ID:???
>>319 それなぜか思いつかなかった。トンクス。
03223182008/09/22(月) 02:51:53ID:???
txtファイルから文字列読み込んだときに改行まで読み込まれて比較ができない。
どうすればよいですか?
0323nobodyさん2008/09/22(月) 03:00:08ID:???
改行文字を除いてから比較すれば?
03243182008/09/22(月) 03:15:17ID:???
>>323どうもうまくいかなかった.........

<?php
$ip = $_SERVER['REMOTE_ADDR'];
$str = "$ip";
$len = strlen($str);

$handle = fopen('ip.txt','r');
$contents = fread( $handle, $len );
fclose( $handle );
echo $contents."<br />\n";

if($ip==$contents){
echo "成功";
}
else{
echo "失敗";
}
?>

ipアドレスの文字数分引っ張り出して比較することで回避できた。
0325nobodyさん2008/09/22(月) 03:21:01ID:???
ip.txtに入ってるIPの方が今アクセスしてる人のIPより長かったらどうすんの?
03263182008/09/22(月) 03:24:26ID:???
>>325 したら絶対IP違うからエラーでていいんでない?
03273182008/09/22(月) 03:27:42ID:???
一時的にip.txtの中に入ってる一番最初のIPの人以外見せたくないものを作るんだ。
処理が終われば解除されるようなかんじで。

0328nobodyさん2008/09/22(月) 03:39:53ID:???
212.134.32.14

212.134.32.143
0329nobodyさん2008/09/22(月) 06:54:54ID:???
>>317
変わってないな
0330nobodyさん2008/09/22(月) 12:43:54ID:???
PerlのNet-CIDRを移植したら?
0331nobodyさん2008/09/22(月) 15:10:26ID:EKIEGJ69
phpでカート作成のHP教えて
0332nobodyさん2008/09/22(月) 15:12:32ID:???
>>331
http://www.nintendo.co.jp/ds/amcj/
0333nobodyさん2008/09/22(月) 15:19:02ID:EKIEGJ69
ありがとう><;
0334nobodyさん2008/09/22(月) 16:42:16ID:???
ワラタ
0335nobodyさん2008/09/22(月) 16:44:51ID:???
>>331
ショッピングカートの基本はセッションを上手く扱うことだと思う
具体的なカート作成のサイトはなくてもセッションに関する記事は多いから、そこから学べば良いかと
どうせ学習目的とかでしょ?
0336nobodyさん2008/09/23(火) 01:10:46ID:KzC+qHTk
>>312
ありがとうございます! 助かりました!
0337nobodyさん2008/09/23(火) 12:55:10ID:BK/ZFWc8
ちょっとまてよ、>>331はPHPを使ってカートを作るHPというのを教えて欲しいんじゃないか?
0338nobodyさん2008/09/23(火) 12:59:43ID:???
さあ?
0339nobodyさん2008/09/23(火) 13:06:07ID:???
>>331-333の流れでネタのようにしか思えん
0340nobodyさん2008/09/23(火) 13:08:38ID:???
>>318は日本語の勉強から始めないと意図が伝わりにくいと思うが
まず何が目的で特定IP以外からのアクセスを制限したいかが不透明

内容からするに何らかの処理をしている期間は別の接続者を拒否したいって意味のようだが
その処理ってのが何度もリクエストを受けて完了するもだとしたら
---
アクセスがある

閲覧者IPのデータを確認する─(IP記録なし)→閲覧者IPを記録し結果表示
↓<(IP記録がある)
IP比較─(一致)→結果表示
└(不一致)→拒否
---
こんな感じでコード書けばいいだろ
記録IPをいつ削除するかは知らんけど、この処理書くどこで詰まってるの?

もし、一回のリクエストの結果表示までにすべて処理が終わってしまうようなものだったら
ファイルロックとかの方法でも調べれれ。IPを比較する意味ない

あとどうでもいいけど改行の削除は置換を使えよ
0341nobodyさん2008/09/23(火) 13:10:56ID:???
<?php
echo(">>331\n");
echo("このサイトを見れ\n");
echo("http://www.nintendo.co.jp/ds/amcj/");
?>

つまりこういうことだな
0342nobodyさん2008/09/23(火) 14:16:43ID:???
echoで括弧を付けるのはダサい
0343nobodyさん2008/09/23(火) 14:20:41ID:???
echoはカッコ付けなくてもエェ子やで
0344nobodyさん2008/09/23(火) 18:25:40ID:???
PHPなんて久しぶりに書いたから忘れてたわw
えーこと聞いた
0345nobodyさん2008/09/23(火) 19:38:04ID:???
fopenを使ってURLを開くとき
複数のURLに対して並列に処理を行いたいんだけど
どういう風にやればいいですかね?
最悪参考になりそうなサイト教えてください。
0346nobodyさん2008/09/23(火) 19:52:08ID:???
fopenはブロックするから並列処理には向かない
0347nobodyさん2008/09/23(火) 20:59:24ID:???
>>346
ブロック?とはどういうことでしょうか?
並列処理に向いているfopenに代わる関数を
教えていただけるとありがたいです。
0348nobodyさん2008/09/23(火) 21:01:16ID:???
そんなのない
0349nobodyさん2008/09/23(火) 21:05:07ID:???
じゃあfopenでがんばるとして
並列処理を行うにはどうすればよいでしょうか?

というかPHPでそんなことするなってことでしょうか?
0350nobodyさん2008/09/23(火) 21:18:43ID:???
>>345
HTTPDのプロセスを複数起動
0351nobodyさん2008/09/23(火) 21:31:31ID:???
>>345 ちなみにPHPではマルチスレッドはできない。
プロセスで何とかする。
0352nobodyさん2008/09/23(火) 22:13:13ID:???
なるほどプロセスを複数起動ですか
とりあえずその方向でググったりしてなんとかしてみます
ありがとうございました
0353nobodyさん2008/09/24(水) 23:43:55ID:???
$a=1;
$b=9;
$c=3;

「bが一番大きいです。」
と表示させたいのですが、maxだと数値しか返ってこないし・・・
教えていただけると幸いです。
0354nobodyさん2008/09/25(木) 00:11:02ID:???
>>353
変数名を取得することは出来ないから値の管理方法を変えよう
出来ないなら諦めるしかないと思う

例: 連想配列
$var = array(
 'a' => 1,
 'b' => 9,
 'c' => 3,
);
0355nobodyさん2008/09/25(木) 00:19:45ID:???
ありがとうございます!
0356nobodyさん2008/09/25(木) 00:20:07ID:???
いいてことよ
0357nobodyさん2008/09/25(木) 05:09:05ID:???
ちょっと疑問に思ったんだけど、
連想配列の場合、
$var = array(
 'a' => 1,
 'b' => 9,
 'c' => 3,
 'd' => 9,
);

この場合、どうなるんだろ?
0358nobodyさん2008/09/25(木) 05:29:20ID:???
何がどうなるんだろなのかわからないけどこういうこと?

$var = array('a'=>1, 'b'=>9, 'c'=>3, 'd'=>9);
$keys = array_keys($var, max($var));
var_dump($keys);
0359nobodyさん2008/09/25(木) 06:08:13ID:???
>>358
この出力結果ってb dってなるのかな?
0360nobodyさん2008/09/25(木) 06:21:43ID:???
お前は何を言ってるんだ
0361テスト2008/09/25(木) 23:34:41ID:???
てす
03622008/09/25(木) 23:39:24ID:???

てすと
0363nobodyさん2008/09/27(土) 20:36:51ID:Zle5Z5JO
return文と返り値がよく分からないんですが
PHPのマニュアルを見てもさっぱりです
どなたかreturn文が詳しく書いてあるサイト知っていたら教えてください
0364nobodyさん2008/09/27(土) 20:53:26ID:???
>>363
returnについてなんてマニュアル以上のことが書いてあるサイトはないと思うぞ
何が分からなくて、何が知りたいんだ?言ってくれれば答えるが
0365nobodyさん2008/09/27(土) 21:09:22ID:???
function hoge() {
0366nobodyさん2008/09/27(土) 21:15:49ID:???
$a = 'a';
0367nobodyさん2008/09/27(土) 21:18:59ID:???
return $a;
0368nobodyさん2008/09/27(土) 21:20:42ID:???
}
0369nobodyさん2008/09/27(土) 21:27:34ID:???
$huga = hoge();
0370nobodyさん2008/09/27(土) 21:31:06ID:???
この場合、$hugaには 「ああ゛っでるっ…!!たまみるくでるっ!! でっでるうっブリジットのこくまろミルクぅ」 が入ります
0371nobodyさん2008/09/28(日) 21:34:07ID:+UcDtbz0
PHPの動作確認のページが
Not Found
The requested URL /phpinfo.php was not found on this server.
Apache/2.0.63 (Win32) PHP/5.2.6 Server at localhost Port 80
と出てしまいます。どなたか教えていただけませんか?
0372nobodyさん2008/09/28(日) 21:37:11ID:???
マルチ乙
0373nobodyさん2008/09/28(日) 22:52:10ID:???
>>371
「/phpinfo.phpが無い」って書いてあるじゃないか。
これ以上何を教えろというのか
0374nobodyさん2008/09/29(月) 20:16:12ID:???
マンモス本2冊買った。1回一通り読んだけど、インストールからわけわからん。
なにをDLしたらいいのかさっぱりぜよ・・・。
0375nobodyさん2008/09/29(月) 20:39:55ID:???
それはプログラミング以外に問題がありそうだが・・・
0376nobodyさん2008/09/29(月) 22:54:33ID:ex4B3ZuI
PHPの確認動作で、phpinfo.php.txtとアドレスに表示されたまま、
画面には<? phpinfo(); ?>
と出てしまいます。
明らかに間違いですが、何がおかしいと思いますか?
どなたか教えてください。
0377nobodyさん2008/09/29(月) 23:01:53ID:???
誰か、華麗に答えてやってくれ。華麗にだぞ?
0378nobodyさん2008/09/29(月) 23:39:32ID:???
>>376
マルチ乙(どう?華麗でしょ
0379nobodyさん2008/09/30(火) 00:43:56ID:???
>>374?

0380nobodyさん2008/09/30(火) 16:45:48ID:???
>>376
拡張子txtがPHPのファイルとして定義されていないから。
0381nobodyさん2008/10/01(水) 05:38:30ID:ggjV1Mvy
getMessage()について質問させてください

ttp://www.php-labo.net/tutorial/class/pear.html
でgetMessage()が定義されてないのにエラー表示のときに表示するとありますが
どうしてなのでしょうか?
よろしくお願いします
0382nobodyさん2008/10/01(水) 06:04:37ID:???
require_once 'DB.php';
してるから
0383nobodyさん2008/10/01(水) 09:00:47ID:12eBxrbJ
http://www.php.net/manual/ja/language.operators.comparison.php
この辺のことだと思うのですが、質問させてください。

$a == $bのところで、日本語の文字を使うには、
$a == "日本語"のようにすると思うんですけど、
これは、「日本語」に等しいということですよね。

たとえば「日本」を含む文字列の条件を指定したいとき、
どうしたらいいでしょうか? 
条件の分岐で、「日本語」も「日本人」も「日本古来」もその他も
一括して指定したい、という感じなのですが。よろしくお願いします。
的をはずしていたらごめんなさい。
0384nobodyさん2008/10/01(水) 09:22:18ID:???
mb_ereg_match
0385nobodyさん2008/10/01(水) 10:43:40ID:???
できました! ありがとうございます。

もうひとつ合わせて質問なのですが、
完全に一致するものを、$a == "アメリカ"として
部分的に一致するのを、mb_ereg_match("[日本]",$a)として、
それぞれ処理をしようとしています。
else ifでつなげたほうがいいのですか? 
別のifとして分けたほうがいいですか?
それとも、どっちでもいいですか?
0386nobodyさん2008/10/01(水) 11:56:07ID:???
>>385
分けるかどうかはやりたいことによって違うからなんともいえないけど、
今回の場合は分けなくていいでしょ。
分けちゃうと一回アメリカと完全一致したものをもう一回日本が含まれてるか
判定することになるから余計な処理になる。
0387nobodyさん2008/10/01(水) 12:12:38ID:???
なるほどー! 
では、どんどんつなげていくことにしますね。
よく判る説明で、助かりました。ありがとうございます!
0388nobodyさん2008/10/01(水) 12:54:11ID:???
>>387
注意
ヒント
ある文字列が他の文字列内に含まれているかどうかを調べるためだけに preg_match() を使うのは避けた方が良いでしょう。 strpos() か strstr() 関数を 使う方が速くなります。
http://jp.php.net/manual/ja/function.preg-match.php
0389nobodyさん2008/10/01(水) 13:20:15ID:???
すみません、参照先を見たけど、書き方がよくわかりませんでした。

$aに入る文字列は数十文字くらいの短いもので、それを見ています。
早さはそんなに変わらないと思うので、このままで大丈夫ですよね?
0390nobodyさん2008/10/01(水) 22:32:30ID:HCEY5R1b
質問させて頂きます。
基礎からのPHPorやさしいPHPを買おうか迷ってるのですが、
基礎からのPHPはアプリが動作しないと聞きました。
自分は、アプリの有無よりも文法やクラス(?)、データベースの基礎を学びたい
と思っているのですが、そのような場合はアプリの動作は気にしなくてもよいでしょうか?
その他の面(参考書としての面)では良いと聞くので。

書籍スレでの質問はナンセンスだと感じたのでこちらでさせて頂きました。
ご教授願います。
0391nobodyさん2008/10/01(水) 22:49:30ID:???
動作しないわけないだろ
0392nobodyさん2008/10/01(水) 22:56:32ID:???
マジレスすると(ry
0393nobodyさん2008/10/01(水) 23:58:01ID:???
オライリーの初めてのPHP+mysqlがいいと思います。
もしくは実践マスターか。
基礎からのPHPorやさしいPHPは意味がないと思います。
特に基礎からのPHPはアプリが動作しませんでした。
びっくりです。
これは捨てました。
アプリを改造していくといろいろスキルがあがってくるので、
ただ本見てもおもしろくないと思いますし。
アプリが動くやつがいいと思います。
では
0394nobodyさん2008/10/02(木) 10:20:57ID:Qa3+G5H3
あるphpで、別のphpを呼び出すのに、こうやって書いています。
<?php include('ini.php'); ?>

この、ini.phpを、別のサーバにおいて呼び出したいのですが、
<?php include('http://別のサーバ/ディレクトリ名/ini.php'); ?>
みたいにやっても、うまくいきません。

どこでつまづいていて、どうすればいいのか、教えてください。
0395nobodyさん2008/10/02(木) 10:40:39ID:???
> どこでつまづいていて
基礎的な理解からつまづいてる

http://...をinclude = webサーバ経由でinclude
= ini.phpの「実行結果」をinclude

ini.phpの「内容」をincludeしたいなら、ftp経由にするとか、
ini.phpをincludeしたい内容の文字列を返すものにするとか。
0396nobodyさん2008/10/02(木) 10:59:48ID:Qa3+G5H3
ありがとうございます。もうちょっと勉強してみます。
0397nobodyさん2008/10/02(木) 18:21:25ID:???
うまくいかないといってもパースエラーが出るのか空文字が返ってくるのか接続できないとWarningが返ってくるのか
によって全く違う。
こういうのが「うまくいかない」しか書かない心理って何なの?
0398nobodyさん2008/10/02(木) 18:25:19ID:???
考えるのすら面倒なんでしょ
0399nobodyさん2008/10/02(木) 20:57:18ID:JC9hPbTs
>>393
ありがとうございます。オライリーですか、参考にしてみます。
にしても、やさしいPHPのレビューってないですね。
あと基礎PHPとかはもう古いのかな‥
0400nobodyさん2008/10/02(木) 21:31:32ID:PvYZxYkH
変数のスコープについての質問です。
mona.php
<?php
$a = 1;
include("giko.php");
include("fusa.php");
?>
giko.php
<?php
$b = 2+$a;
?>
ってあったときに$aがincludeされたファイル内でも利用だというのはわかったのですが
giko.phpの$bはmona.phpやfusa.phpで見れるのでしょうか?
ユーザー定義の関数の予定はないです。
0401nobodyさん2008/10/02(木) 21:41:47ID:???
100回includeのページを読め
0402nobodyさん2008/10/02(木) 21:55:19ID:PvYZxYkH
>>401
スコープの方を必死に検索かけてました
includeの方で調べればよかったんですね
ありがとうございます
0403nobodyさん2008/10/06(月) 07:28:33ID:eMKnyKHT
PHPでpearのパッケージを利用したいのですが
インストールの仕方が分かりません
ttp://www.php.net/manual/ja/install.phpには拡張モジュールしかないので
よく分かりませんでした
ttp://pear.php.net/manual/ja/installation.getting.php
に書いてあるように コマンドプロンプトを使えばいいのですが
コマンドプロンプトの使い方が分からないので
使い方を教えてください よろしくお願いします
0404nobodyさん2008/10/06(月) 07:48:42ID:???
>PEAR インストールのアップデートを行うには、 http://pear.php.net/go-pear をブラウザで表示してその出力をローカルファイル
> go-pear.php に保存します。そして次のコマンドを Windows のコマンドプロンプトで実行してください。
04054032008/10/06(月) 07:56:08ID:eMKnyKHT
レスありがとうです
多分その上の行らへんでつまずいていると思います

>PHP をダウンロードしインストールが完了したら、
>バッチファイルを実行します。 というのはダブルクリックだけでいいんでしょうか?
するとコマンドプロンプトが出てくるだけですが


>インストールしたフォルダへのパスを
>PATH 環境変数に追加します。 手動で追加する
> (スタート > コントロールパネル > システム > 環境変数)
>以上で、Windows のコマンドプロンプトから pear コマンドを使い PEAR パッケージマネージャを実行できるようになります。

pealパッケージとは PHPをインストールした時点で使用できるわけではないと思うので
多分ここでつまずいてます
よろしくおねがいします
0406nobodyさん2008/10/06(月) 08:05:35ID:???
バッチファイルの方はやらなくていいよ
go-pearの方保存して実行すればおk
04074032008/10/06(月) 08:13:05ID:eMKnyKHT
ありがとうございます
確認させてください
go-pear.phpというファイルを作ってそこに
http://pear.php.net/go-pearのソースをコピペ
そのあと保存先はC:\phpで
コマンドプロンプトで php go-pear.php
を実行するんですよね?

実行すると『内部コマンドや外部コマンド バッチファイルなどと認識されませんでした』
と表示されます
C:\PHP\PHP-pear.phpを実行しても
エディタが起動するだけでした

よろしくお願いします
0408nobodyさん2008/10/06(月) 08:15:52ID:???
phpの実行ファイルがある場所に移動してから実行すべし
0409nobodyさん2008/10/06(月) 08:19:25ID:???
> 実行すると『内部コマンドや外部コマンド バッチファイルなどと認識されませんでした』

C:\Documents and Settings\username>
で実行してるので php.exe が見つからないとかそういうオチなのかな。
04104032008/10/06(月) 08:38:03ID:eMKnyKHT
>>408-409
その通りです。。。
もう少しコマンドプロンプトの使い方勉強してきます

今から学校なので ありがとうございました
0411nobodyさん2008/10/07(火) 10:08:44ID:rx4j8OHY
PDT + xDebugはここで大丈夫かなぁ?
どっちもインスコ、php.iniを書き換えるがうまくいかない。

下のように、extensionだと、phpinfo()にxDebugの項目が現れるけど、
extension=php_xdebug-2.0.3-5.2.5.dll

下のようにzend_extension_tsの指定ではうまくいかない。
[xdebug]
zend_extension_ts = c:\php\ext\php_xdebug-2.0.3-5.2.5.dll

DebugBuildはnoで、ThreadSaftyはenabledだから、後者の書き方の筈なのだが。

で、まぁ前者で行くとして、問題は、[xdebug]の中に書いた設定が全然反映されない...orz
xdebug.remote_enable=true
とかやっても、phpinfo()で見ると、offになってる。
他の設定も同じ。

なので、eclipseでブレークポイントで止まってくれない...orz

誰かお助けを〜
0412nobodyさん2008/10/07(火) 12:08:43ID:???
zend_extension_tsじゃないとダメよん
0413nobodyさん2008/10/07(火) 12:35:01ID:rx4j8OHY
>> 412
どうもありがとうございます〜。
0414nobodyさん2008/10/07(火) 13:15:45ID:2lCZsXeT
PHPではサーブレットやmod_*、あるいはrailsなどのWebアプリのように
URIにコントローラやアクションを含めるような設計ってできるんでしょうか。
PHPのインスコ状況によるのかもしれませんが、どうも情報見つかりません。
0415nobodyさん2008/10/07(火) 13:23:31ID:???
コントローラーからビューに変数を渡したいのですが、
コントローラーで$this->set('test', 10);と書くと
exception 'Zend_Controller_Action_Exception' with message 'Method "set" does not exist and was not trapped in __call()' 〜
とエラーがでてしまいます。
setを使うのに宣言か何かが必要かと思い、調べたのですが何処を見てもsetを使えばできるとしか書いていません。
コントローラーで$test;や$test=3;はエラーが出なく、エラー文を見てもsetに原因がある気がするのですが、何が原因なのでしょうか?
0416nobodyさん2008/10/07(火) 13:41:47ID:???
>>415
フレームワークのこと知らないので適当だけど、
メッセージを見るとsetが未定義で、call(多分ビルトインの)で
トラップ(多分、未定義のメソッドが呼ばれたときに適当なメソッドを割り当てる)もできないと言ってる。
多分$thisはControllerクラスのことだと思うので(多分ばっかですんまそ)

要するにControllerクラスにsetが定義されてないんじゃないかと思います。
クラス定義やメソッド一覧するメソッドがあると思うので、確認してみては?

ちなみに今気づいたんですが、フレームワークを使ってると>>414の質問の答えはYesでしょうか?
0417nobodyさん2008/10/07(火) 14:12:15ID:???
>>414
「?name=value」が嫌ならmod_rewrite(Apache)で出来る

>>415
コントローラにsetがないってことじゃないか?
$thisじゃなくてビューのオブジェクトのsetを呼べばいいような気がする
ZendFWは使ったことないが、普通はそうだと思うぞ
0418nobodyさん2008/10/07(火) 14:28:36ID:???
>>415
もしかしてキャメルケースのアクションで引っかかってない?
04194152008/10/07(火) 14:44:42ID:???
>>415
ご指摘どおり、thisはコントローラーでsetがありませんでしたので、
中身のないsetを作ってみたところエラーは出なくなりましたが、変数の受け渡しはうまくいきませんでした(空なので当たり前ですね)
これでエラーそのもの原因は分かったので次は変数が受け渡せるように頑張ります。

>>417
確かにコントローラーに無いのでthisだと自分で処理を書くか、何処かからコピーしてこないといけないようです。
何処かからコピーしてくるんならそれを使えよって話なので、まずビューからそれらしいのがないか探して見ます。

>>418
キャメルケースが何なのか分からないのでぐぐってみましたが、命名規則(camelCaps?)の事でしょうか。
とりあえず命名規則はチェックしましたが大丈夫でした。
0420nobodyさん2008/10/07(火) 14:48:06ID:???
すまん先走ってた。俺が自分修正してるZFの不具合かと思った。
メソッド書いてないからメソッド無いと言われたっていう話ですか。(´Д`;)
04214162008/10/07(火) 15:26:57ID:???
>>415
今、どんなかなと思って近所でZendの本(緑のやつ)見てきました。
それで思ったんですが、set(value,value)って
Controllerクラスじゃなくレジスタクラス(?)のメソッドじゃないかな?
コントローラで
require "Zend::Registry" <-これ正確じゃないです。これ的な名前。
regist = new Zend::Registry(); #レジスタオブジェクト
regist.set('test', 10);
じゃないかと思います。
ただ、これはアプリ全体で共有したい変数を記憶しておくクラスということなので
このメソッドで即ビューに値が渡るかは分かりません。
Controllerクラスには$this->setBody(value)的なメソッド群がある模様。

しかし、フレームワークでの制作をコピペ等でこなすのは逆にけっこうな大冒険なのでは・・・
04224162008/10/07(火) 15:32:59ID:???
>>417
どもです。それ自分もやったことあります(CGIでw)
Apacheモジュールとして動作してるなら他といっしょかなと思ったのですが
経験者の方が耳にしたことないってことは、
少なくとも基本機能ではないってことですもんね。
参考になりました!
04234142008/10/07(火) 15:34:14ID:???
↑間違えた。414です。
04244032008/10/09(木) 04:27:43ID:???
あれからやってみたのですが
>>408-409さんの言ったとおりに
C:\>php\go-pear.phpを実行してみたのですが
go-pear.phpのエディタが出てきただけでした

それで完了されているとは思えないのですが
どこが間違っているのでしょうか?
よろしくお願いします
04254032008/10/09(木) 04:52:41ID:Sz+W15yD
追記
自分が持っている本ではgo-pear.batをコマンドプロンプトで実行すると
いくつかの質問が出てきて
最後にPHP.iniにパスを通す動作が出てくるようなのですが
それらしき質問もでません

よろしくお願いします
0426nobodyさん2008/10/09(木) 05:13:45ID:???
ドキュメントルートにアップしてブラウザからアクセスしてみ
phpが動いてるか確認してな
04274032008/10/09(木) 05:21:50ID:Sz+W15yD
>>426
レスありがとうございます
ドキュメントルートにアップして とはどういうことでしょうか?
ttp://always-pg.com/glossary/kana04_ta/document_root.htmlで調べたら
/で区切っているディレクトリのことだと思うのですが

PHPは動作してます
さっきまで簡単なソースをapacheでやっていました
0428nobodyさん2008/10/09(木) 05:25:50ID:???
http://localhost/go-pear.php
0429nobodyさん2008/10/09(木) 05:25:57ID:???
だめだこりゃ
先に基礎的な知識を身に付けてからのほうがいいと思うよ
04304032008/10/09(木) 05:30:32ID:Sz+W15yD
>>428さん
そういう意味だったんですか
表示されました
go-pear.phpをapacheの中に入れたら

>>429さん
そのことは十分理解しております
ここで聞いてたときも何度も言われました
そのため基礎的な本を買ってこの様です
頑張りたいと思うのでよろしくお願いします
04314032008/10/09(木) 05:42:21ID:Sz+W15yD
>>426さん
>>430のようにやったら出来ましたが
このあとどうすればいいのでしょうか?
04324032008/10/10(金) 15:39:02ID:6TTacjje
どなたかよろしくお願いします
php.iniを見てもパスが通っている気配がないです
コマンドプロンプトを使用してもエディタしか起動しない…
0433nobodyさん2008/10/10(金) 16:16:49ID:???
どこまでやって何が分からないん?
ブラウザでgo-pear.phpにアクセス出来たならその画面から操作するわけだが?
04344032008/10/10(金) 17:16:06ID:/lY+1YLG
>>433さん
おお そんなことだったんですか
今やってみました
ですが最後のページのhttp://index.php/
が開けれないんですが
pearが導入されたことを確認する方法ってありますか?

またphp.iniにパスが通ってないようなのですが
勝手に書き込まれるわけではないのでしょうか?

よろしくお願いします
0435nobodyさん2008/10/10(金) 19:00:50ID:???
> http://index.php/
そりゃムリだろ

最初にgo-pear.phpにアクセスした際に環境設定するじゃん
そこにインストールされる
パスが通ってるかどうかはphp.ini次第だから、そんなのあとあと
まずはファイルが配置されたかを確認

04364032008/10/10(金) 21:45:20ID:/lY+1YLG
>>435さん
レスサンクス
PHPの中のpearというフォルダにはたくさんファイルが入っていました
さらにその中のpearというフォルダにも入っていました
インストールは完了したっぽいです
これで最後にphp.iniにinclude_path=".;C:\php\pear"と最後に書いたら完了でしょうか?
0437nobodyさん2008/10/10(金) 22:04:35ID:???
>頑張りたいと思うのでよろしくお願いします
どの辺が頑張ってんだ。
0438nobodyさん2008/10/10(金) 22:40:00ID:???
画伯まだやってんのかw
0439nobodyさん2008/10/11(土) 07:38:32ID:???
この調子じゃ、この先も質問連発だね。
04404032008/10/11(土) 07:52:03ID:IbH29Qlb
>>437-439
とりあえず環境設定でいつもつまずくので
環境設定だけ完了したいんでよろしくおねがいします
0441nobodyさん2008/10/11(土) 08:05:52ID:???
頑張りたいと思ってんだろ?
頑張れ。
04424032008/10/11(土) 10:04:59ID:IbH29Qlb
試しにindex.phpをしてみたら こんなのが出ました

Notice: Use of undefined constant PEAR_CONFIG_SYSCONFDIR - assumed 'PEAR_CONFIG_SYSCONFDIR' in C:\Program Files\Apache Group\Apache2\htdocs\PEAR\pearfrontendweb.php on line 72

Warning: Can not find config file, please specify the $pear_user_config variable in /index.php

Error: the template directory (C:\php5\pear\data\PEAR_Frontend_Web\data\templates) is not a directory, or not readable. Make sure the 'data_dir' of your config file (C:\php5\pear\data) points to the correct location !


これはインストールされてないってことでしょうか?
0443nobodyさん2008/10/11(土) 12:01:25ID:???
通知: 未定義の一定の_PEAR_CONFIG SYSCONFDIR--Cで'PEAR_CONFIG_SYSCONFDIR'を仮定することの使用: 線72の上の\Program Files\アパッチGroup\Apache2\htdocs\PEAR\pearfrontendweb.php

警告: コンフィグがファイルであることを見つけることができないで、/index.phpの$洋梨_ユーザ_コンフィ
グ変数を指定してください。

誤り: テンプレートディレクトリ(C: \php5\洋梨\データ\PEAR_Frontend_ウェブ\データ\テンプレート)は、ディレクトリ、または読み込み可能です。 あなたのコンフィグファイル(C: \php5\洋梨\データ)の'データ_dir'が正しい位置を示すのを確実にしてください!

という意味だよ
0444nobodyさん2008/10/11(土) 14:23:21ID:8EU/X1Q4
教えてください。

print(mb_strwidth("※",'UTF-8'));

これををUTF-8でテキストとして保存して実行すると答えが1とでます。
なんとか正しく判定させて2と出させたいのですが、どうすればいいのでしょうか。
ちなみにSJISやEUCで試してもやはり1でした。
0445nobodyさん2008/10/11(土) 14:39:07ID:???
正しくの根拠は?
0446nobodyさん2008/10/11(土) 20:36:15ID:mQFhChia
MagpieRSSでrssを取得したくて、
http://www.vipper.org/vip951655.txt.html
のコードを動かしてみたんですが、

Parse error: syntax error, unexpected T_VARIABLE, expecting ';' in /virtual/boon/public_html/2ch/rss.php on line 28

が帰ってきます。。
よかったら、原因を教えて下さい。。
0447nobodyさん2008/10/11(土) 20:44:39ID:???
>>446
26: for ($i=0;$i
// 27:
// 28: $rss = fetch_rss($rssurl[$i]);

CGI設置について質問【Part3】
http://pc11.2ch.net/test/read.cgi/php/1176143582/
0448nobodyさん2008/10/12(日) 09:51:36ID:???
ある文字列から
<h1>と</h1>
で囲まれた部分だけを抽出して配列に格納したいのですが、どのような方法があるでしょうか。
0449nobodyさん2008/10/12(日) 10:03:24ID:???
postしてprintしただけなのに
ある日突然
"の前に\が入るようになってしまいました。これはなぜなのでしょうか?
0450nobodyさん2008/10/12(日) 10:58:55ID:???
>>448
正規表現
>>449
magic_quote
04514032008/10/12(日) 16:56:29ID:5ipLjJfb
>>443さん
レスサンクスです
翻訳サイトで僕も翻訳してましたw

Error: the template directory (C:\php5\pear\data\PEAR_Frontend_Web\data\templates) is not a directory, or not readable. Make sure the 'data_dir' of your config file (C:\php5\pear\data) points to the correct location !
という部分なのですが
C:\php5\pear\data\PEAR_Frontend_Web\data\templatesというファイルを作っても動きませんでした
これはパスを通せという注意だと思うのですが
なんのデータに何をすればいいのでしょうか?
0452nobodyさん2008/10/12(日) 17:34:56ID:???
Error: the template directory (C:\php5\pear\data\PEAR_Frontend_Web\data\templates) is not a directory, or not readable. Make sure the 'data_dir' of your config file (C:\php5\pear\data) points to the correct location !
ってことだよ
04534032008/10/12(日) 17:36:26ID:5ipLjJfb
>>452
よく分かりません
0454nobodyさん2008/10/12(日) 17:37:51ID:???
>>450

magic_quote の設定をどう変更しても¥が出てしまいます。
0455nobodyさん2008/10/12(日) 17:54:24ID:???
>>453
訳せよ
0456nobodyさん2008/10/12(日) 18:11:17ID:???
>>454
どう変更したの?
0457nobodyさん2008/10/12(日) 18:43:59ID:???
>>456

onにしたりoffにしたりして試してみました。
0458nobodyさん2008/10/12(日) 19:10:31ID:???
apache再起動すれ
0459nobodyさん2008/10/12(日) 21:45:13ID:???
>>454
ゆとり的な回答もしておくね。
つ[stripslashes]
0460nobodyさん2008/10/12(日) 22:42:57ID:B6zhuvJO
apache再起動か。
なんでできないんだろうなと思った。
こういうところまで教えないといけないのか。
04614032008/10/13(月) 03:01:56ID:5FVzcFud
ttp://www.s-memo.net/blog/2006/12/pear.php
を見て途中までインストールしたのですが
>試しにPEAR::HTTP_Downloadをインストールしてみましょう。
というとこでコマンドプロンプトを使ってダウンロードしようとしたら
最後の行で
No valid packages found
install failed
と出ました
これはC:\php\pearをコマンドプロンプトで実行したら
Usage: pear [options] command [command-options]
Type "pear help options" to list all options.
Type "pear help " to get the help for the specified command.
Commands:
という部分は出こなかったことと関係しているのでしょうか?

上のサイトにも書いてあったのですが
pear.batというファイルが出てきたらインストールできたということ
と書いてあったのでインストールは出来ていると思います

なんにせよ インストールは完了したことを確認できました
みなさんありがとうございます
0462nobodyさん2008/10/13(月) 04:03:24ID:???
>>458
>>460
apache再起動でもやっぱり¥が入ってしまいます。
0463nobodyさん2008/10/13(月) 05:33:07ID:???
http://www.pachiweb.com/futaba.txt
これはとある画像掲示板の画像削除時のスクリプトなんですが
これは1行ずつ削除該当ナンバーか照らしあわしつつ$lineに格納していって
該当ナンバーならその行は空白にすると言うスクリプトでいいのでしょうか?
fputs($fp, implode('', $line));
この部分のimplodeは要素間に改行を入れた後、
書き込みということですか?
0464nobodyさん2008/10/13(月) 07:49:18ID:???
$lineに格納したあと再度ループして比較してる。
そのimplodeは配列だった$lineを区切り文字無しで全部くっつけて一つの文字列にしてる
ちょっと前時代的な手法だね。

http://www.pachiweb.com/site-material/profile.gif
・・・ゴクリ
0465nobodyさん2008/10/13(月) 09:31:48ID:5FVzcFud
apacheを利用しているんですが
localhostでPHPの状態を見れるようにしたのですが
Notice: Use of undefined constant PEAR_CONFIG_SYSCONFDIR - assumed 'PEAR_CONFIG_SYSCONFDIR' in C:\Program Files\Apache Group\Apache2\htdocs\PEAR\pearfrontendweb.php on line 72

Warning: Can not find config file, please specify the $pear_user_config variable in /index.php

Error: the template directory (C:\php5\pear\data\PEAR_Frontend_Web\data\templates) is not a directory, or not readable. Make sure the 'data_dir' of your config file (C:\php5\pear\data) points to the correct location !

と出てきました
pearfrontendweb.phpの問題の行には
// find other config file location
$default_config_dirs = array(
substr(dirname(__FILE__), 0, strrpos(dirname(__FILE__), DIRECTORY_SEPARATOR)), // strip eg PEAR from .../example/PEAR(/pearfrontendweb.php)
dirname($_SERVER['SCRIPT_FILENAME']),
PEAR_CONFIG_SYSCONFDIR,
と出てきました
これはpearをダウンロードした場所が悪かったのでしょうか?
この場合はC:\Program Files\Apache Group\Apache2\htdocs\pearにダウンロードしなければならなかったのでしょうか?

あと気になったのがC:\php5\pear\data\PEAR_Frontend_Web\data\templatesという部分です
php5\とありますがphp5はありません
PHPという名前に変えたので これが原因でしょうか?
04664632008/10/13(月) 09:38:47ID:???
か、解説ありがとうございます、
人の癖がついたスクリプトをいじるのはほんと大変ですね。
ほんとに改造できるか心配になってきました。
プロフィールとかは気にしないで下さいw

それですごい基本的な事で申し訳ないんですが
$log = fopen('access.log','w');
fopen関数のファイルの内容をクリアする(w)などのモードの場合、
ログ内容をこの例だと$logに格納した後ログ消去するのでしょうか?
0467nobodyさん2008/10/13(月) 11:18:50ID:???
>>465
自分でテンプレートディレクトリ設定すりゃええんちゃうん?
04684652008/10/13(月) 12:18:31ID:5FVzcFud
テンプレートディレクトリってのはtempletsというディレクトリをどう設定したらいいのですか?
0469nobodyさん2008/10/13(月) 12:20:11ID:???
知るかよ何のスクリプト使ってるかも書いてないのに
04704652008/10/13(月) 12:55:01ID:5FVzcFud
>>469
すいません
スクリプト自体がどれか分からないんですが
エディタならPHPエディタです
すいません 用語をよく知らないので
0471nobodyさん2008/10/13(月) 13:01:37ID:???
じゃ調べろよ・・・
0472nobodyさん2008/10/13(月) 13:03:59ID:???
もうPEARのエラーメッセージはおなかいっぱい
冷静になって環境見直せよ、画伯
04734652008/10/13(月) 13:20:54ID:5FVzcFud
ttp://kaden.yahoo.co.jp/dict/?type=detail&id=1323
で調べてきたんですけど
コンパイラが何か分からないんです
変換という意味が分からなくて
apacheはサーバ代わりだし
0474nobodyさん2008/10/13(月) 13:28:42ID:???
画伯って何?
0475nobodyさん2008/10/13(月) 13:41:35ID:CGfh2V74
>>901
ディレクトリについて少し質問
C:\php\pear\DBだった場合 (DBはフォルダ)
C:\php\pearでもいいんでしょうか?
0476nobodyさん2008/10/13(月) 13:43:52ID:CGfh2V74
書くとこ間違えました
申し訳ないです
04774632008/10/13(月) 19:28:39ID:???
俺と間違えられてた?
0478nobodyさん2008/10/14(火) 00:30:55ID:z+viMTEc
PHP4てまだ使ってる人いるんでしょうか
0479KYOO ◆1C9DnWzrKw 2008/10/14(火) 00:34:16ID:IZm37X9Z
http://daveri.site90.net/
掲示板ってやつをつくってみたんですけど、
暇だったら見てみてください。
0480nobodyさん2008/10/14(火) 00:44:52ID:???
>>478
サポートは終了しても現行システムを移行させるまでは使うしかない
新たに始めるならPHP5だろう

dev版PHP6を見てると・・・また互換性のないUPがたんまり・・・
0481nobodyさん2008/10/14(火) 04:11:06ID:???
>>480
メジャーバージョン違いはもう別言語と思ったほうがいいよな。マイナーアップでさえry
04824652008/10/14(火) 08:40:33ID:OazE8u18
どなたか>>467をphp触って一ヶ月の俺に分かりやすく詳しく教えて下さい
0483nobodyさん2008/10/14(火) 09:46:19ID:???
>>482
PEAR_Frontend_Webの設定でテンプレートパスを正しく変更する
これでFA
0484nobodyさん2008/10/14(火) 09:54:18ID:???
FAかな…。

>>442と同じことを>>465で訊いてしまう感覚とか、
C:\php\pear(>>436等) or C:\php5\pear のどっちに PEAR を入れたのか本人もよくわかってないとか、
目先の対症療法では解決しない根深いものを感じるよ。
0485nobodyさん2008/10/14(火) 10:01:00ID:???
意識の低さが問題を深くしているんですね、この1ヶ月は無駄だったと、わかります
0486nobodyさん2008/10/14(火) 10:15:59ID:???
>>482
>>429
>>437-441
0487nobodyさん2008/10/14(火) 12:30:14ID:PhS+pU3S
超初心者的な質問ですいません

phpを使ったwebサイト作成の勉強をしているのですが

C:\Users\ユーザー名\Documents\サンプルサイトの中でwebサイトを作っているのですが
C:\xamppの中にあるhtdocs内にあるphpを読み込もうとしても上手くいきません。
phpの初心者なんで概念自体があやふやなので変な質問でしたらごめんなさい<(._.)>
0488nobodyさん2008/10/14(火) 13:06:00ID:???
apache 動かしてるのにドキュメントルートの外でサイト作らなくてもいいと思うのよ。
0489nobodyさん2008/10/14(火) 18:05:42ID:???
Cドライブ開くの面倒ならショートカット作ればいいしな
0490nobodyさん2008/10/14(火) 18:49:32ID:???
初心者はxamppやめれ
0491nobodyさん2008/10/15(水) 15:36:31ID:jArJnvnC
平分のIDとmd5で暗号化したパスワードをtxtファイルにして
それを.htaccess下のフォルダに入れました。

メインのPHPでそのファイルを読み取り認証
その後、ID.datファイルを外部から読込んで
IDごとに違うページを表示させているのですが

セキュリティ的に問題などあるでしょうか?

補足
ID.datも.htaccess下に入れてあります。
ちょっとした顧客の納期表示に使おうと思っています。
0492nobodyさん2008/10/15(水) 15:40:03ID:???
htaccess下って何だよ
0493nobodyさん2008/10/15(水) 15:42:31ID:jArJnvnC
>>492
すいません
.htaccess .htpasswordファイルを置いてアクセス制限かけたフォルダです。


0494nobodyさん2008/10/15(水) 15:43:47ID:???
>>492
「.htaccessでアクセス制限しているディレクトリ配下」くらい予測しろ

>>491
.htaccessでdeny from allしてるなら直リン出来ないからまぁ安全じゃないか?
出来ればルート外に置くのがベストだが
0495nobodyさん2008/10/15(水) 15:56:52ID:jArJnvnC
わかりづらい文章で申し訳ありません

>>494
ありがとうございました。
ルート内にあったのでルート外に置くようにしてみます。
0496nobodyさん2008/10/15(水) 17:58:29ID:9ioAzBde
PEARってセーフモードの鯖にはインストールできないんですか?
0497nobodyさん2008/10/15(水) 20:04:57ID:???
インストールはできる。
使えるかどうかはともかく。
0498nobodyさん2008/10/16(木) 00:04:07ID:???
>>490
理由は?
0499nobodyさん2008/10/16(木) 08:26:41ID:???
>>498
質問に答える側が使っていないから。
0500nobodyさん2008/10/16(木) 10:28:23ID:???
>>499
いやそれなりに使うだろ
開発でFTPとかNFSが面倒な時
開発用、テスト用の鯖作るの面倒な時もか
0501nobodyさん2008/10/16(木) 17:46:31ID:???
うん、そんなものをWebProgのWの字も知らない初心者が使うってのがそもそもおかしいだろ、な?
0502nobodyさん2008/10/16(木) 18:09:17ID:???
それもそうか
じゃぁ普通にレン鯖か
しかしレン鯖だとセーフモードやらパーミッションやら意識することが多いよな
・・・そうかそれも勉強か!
0503nobodyさん2008/10/16(木) 18:21:05ID:???
ApacheとPHPとMySQLをインストールすればいいと思うよ。
0504nobodyさん2008/10/16(木) 20:03:13ID:???
んだんだ
0505nobodyさん2008/10/17(金) 13:22:48ID:???
phpinfo()などではき出される全項目の意味を説明してあるサイトなどを、ご存じな方
教えて頂けませんでしょうか。
0506nobodyさん2008/10/17(金) 14:04:27ID:???
個別に調べればいいんでないの?
コアの部分はPHPまぬある必見
PECLの分まで纏めたサイトなんてある意味マゾだ
0507nobodyさん2008/10/18(土) 00:42:37ID:VyIaaBn5
496です。

>>497
有難うございます。
只今、PHPと共にモバイルサイト構築を勉強中で、
Net_UserAgent_Mobileがどんな具合なのか使ってみたかったんですが
自分の力では無料サーバのセーフモード下にPEARを
インストールすることが出来ませんでした…orz

・無料サーバ
・php5.25
・セーフモード下
では、やはり不可能なのでしょうか。
どなたかご教授頂ければ幸いです。
0508nobodyさん2008/10/18(土) 01:19:10ID:???
PEARをインストール・・・
ぶっちゃけ依存PEARも含めてアップロードしてパスを通せば使える
(共有ライブラリに依存しないなら)
インストーラでなければならないわけじゃない(依存が面倒なだけ)
0509nobodyさん2008/10/19(日) 13:57:02ID:???
サーバでPHP実行中に、クライアントのブラウザを閉じた若しくは別ページに移動した等の場合、
サーバ側の処理はどうなりますか?
0510nobodyさん2008/10/19(日) 13:59:27ID:???
http://jp2.php.net/ignore_user_abort
0511nobodyさん2008/10/20(月) 11:13:17ID:???
あの〜、すみません。
メール送信フォームのフォーム入力の所についてなんですけど
間違ってたら警告出して
間違ってなければ確認画面に飛ばすように書きたいんですけど
飛ばすと入力情報が消えてしまいます。
if (isset($_POST['oshibotan'])){
if (isset($_POST['namae']=="")){
echo "名前書いて<br>";
}
}else{
   $url = "kakunin.php";
   header("Location:$url");
}
}
なんとなく「そりゃ飛ばないわな」って思うんですが
わからない〜( p_q)
0512nobodyさん2008/10/20(月) 11:48:59ID:???
>>511
つセッション
05135112008/10/20(月) 14:03:24ID:???
ああ・・その前にフォー文がわからなくなった・・・・
上の通り書いてもエラー(「名前書いて」)が出ない・・すぐに飛んでしまう( p_q)
0514nobodyさん2008/10/20(月) 14:22:25ID:???
まずissetの使い方が違う
issetはその変数がセットされているかどうか
その中に==とか入れてる時点で間違ってる

次にecho "名前書いて<br>"; と飛ばす処理は同階層なので
今の書き方だとどちらかしか発生しない

あとLocationの使い方がその書き方でも飛ばしてくれるブラウザは多いが
書き方は間違っている
正しくはhttpとかスキーマからはじめないとだめ
0515nobodyさん2008/10/20(月) 14:24:12ID:???
あ、すまん

次にecho "名前書いて<br>"; と飛ばす処理は同階層なので
今の書き方だとどちらかしか発生しない

これ忘れて1個}が多いので読み間違った
まぁどちらにせよどちらかしか発生しないが・・・
0516nobodyさん2008/10/20(月) 14:24:16ID:???
nullの時と同じ扱いだから別に間違っちゃいない思う
0517nobodyさん2008/10/20(月) 14:30:59ID:???
>>516
どう見ても間違いだろうが

if ($_POST['namae']==""){

これなら使っているWebアプリ等は多々あるが

if (isset($_POST['namae']=="")){

これはまず無い
というかこういう書き方出来るのかと思って
さっき試したらParse error出たし
0518nobodyさん2008/10/20(月) 14:45:13ID:???
ああそもそも括弧付いてなかったのね
05195112008/10/20(月) 18:00:40ID:???
>>514>>516
あんがと!!

自分で色々やってたらなんか出来た。
「なんか出来た」だからちゃんとわかってないかも
明日もまた質問するかもしれないけど
ありがとね!

issetはstrlenにしたよ。
よくわかってないのに見よう見まねで使ってる。
たぶんまだバグだらけ。
0520nobodyさん2008/10/20(月) 18:48:20ID:???
strlen($_POST['namae']=="") にしたのかな。
0521nobodyさん2008/10/21(火) 09:15:38ID:???
質問させてください。
webサイトの作成に役立てようと、phpを勉強しはじめました。
入門書を一通り読んだのですが、webサイトにどう役立てるかわかりません。
テンプレート的なものをイメージしていました。
次に具体的に何を学べばよいのでしょうか?
0522nobodyさん2008/10/21(火) 10:23:27ID:???
phpをちゃんと理解してから次行ってくれ
05235112008/10/21(火) 11:17:14ID:???
>>520
うん、そうしました。
0524nobodyさん2008/10/21(火) 11:46:03ID:???
なぜに strlen($_POST['namae']=="") w
0525nobodyさん2008/10/21(火) 13:43:59ID:5M3hbzoP
やるなら
if (isset($_POST['namae']) && strlen($_POST['namae']) == 0) {
    echo "名前書いて<br>";
}

かな・・・
0526nobodyさん2008/10/21(火) 14:36:34ID:???
テキストファイルを書き換えたくてスクリプトを作ったのですが
windows上では動作するのにレンタルスペースで動かすと
ファイル削除、コピー、書き込みができません。どうしてですか?
0527nobodyさん2008/10/21(火) 14:43:57ID:???
windowsのレンタルスペースじゃないからじゃない?
0528nobodyさん2008/10/21(火) 15:10:40ID:???
質問させてください。
人生に役立てようと、女心を勉強しはじめました。
入門書を一通り読んだのですが、人生にどう役立てるかわかりません。
テンプレート的なものをイメージしていました。
次に具体的に何を学べばよいのでしょうか?
0529nobodyさん2008/10/21(火) 15:31:51ID:???
>>528
2点
0530nobodyさん2008/10/21(火) 16:12:30ID:???
>>528
つまらん。
0531nobodyさん2008/10/21(火) 16:50:07ID:FLMyajbO
>>528
つまらなすぎ
05325112008/10/21(火) 17:39:59ID:???
ちょっとPHPとはあまり関係ないんだけど
原因わかる人教えて
テーブルタグ使ってて
<table>
<tr><td>ユーザID</td><td><input type="text" name="userid" maxlength="10" size=20></td>
<tr><td>パスワード</td><td><input type="password" name="pswd" maxlength="10" size=20></td></tr>
</table>
ってやってるんだけど
フォームの長さがサイズ指定しても変わってしまう。
input typeをpasswordにしてから。
これは直せないのかなぁ?
0533nobodyさん2008/10/21(火) 17:45:31ID:???
>>532
CSSで縦横指定してやるとよろし
0534nobodyさん2008/10/21(火) 19:04:47ID:???
なんでそこだけダブルクオーテーションがないんだ
コピペPGの悪例だな
0535nobodyさん2008/10/21(火) 19:42:03ID:???
よくみりゃ<tr>も閉じてないな
0536nobodyさん2008/10/21(火) 20:02:57ID:???
>>535
よくみろ<tr>は閉じてある
0537nobodyさん2008/10/21(火) 20:05:18ID:???
>>536
よくみろ
0538nobodyさん2008/10/21(火) 20:26:31ID:???
よくみた<tr>は閉じてない
0539nobodyさん2008/10/21(火) 21:43:31ID:???
・SQLインジェクションという言葉を知らない
・コメント欄を読まない
・問題の詳細についてググりすらしない
・未知の脆弱性に対して敏感でない
・精神的に幼稚である
0540nobodyさん2008/10/21(火) 21:56:30ID:???
php入門系/phpリファレンス系のサイトでサイト内コンテンツを一括ダウンロードできるようにしてある
サイトはどこかにないですかね?

社内LAN環境で鯖を立ててphpを動かそうと思っていますが
NETにつなげないため調べ物ができず困っています…

サイトダウンローダー等も試してみたのですが
CGIに対応しているダウンローダーが無くうまく落とせませんでした
0541nobodyさん2008/10/21(火) 21:59:56ID:???
>>540
本でも買え
0542nobodyさん2008/10/21(火) 22:02:37ID:???
>>540
少しは調べたのかな?
http://docs.php.gr.jp/
0543nobodyさん2008/10/22(水) 08:23:23ID:P24H2Ub2
>>539
一通りの攻撃の手法と防御法は覚えたけど未知の脆弱性に対してどうすればいいか正直わからない。

この機会に教えてください。
05445112008/10/22(水) 09:39:01ID:???
""ってつけるのとつけないのはどっちがいいんでしょうか?
コピペではないのですが、つけたりつけなかったりです。
CSS、今から調べてみます。
調べるのが遅いんですよね・・・効率悪い探し方をしているのかも。
0545nobodyさん2008/10/22(水) 09:49:17ID:???
>>544
とりあえず、つけておいた方がいい
05465112008/10/22(水) 09:55:50ID:???
わかりました。
05475112008/10/22(水) 13:49:18ID:???
DBからID、PWを取り出して認証するログインスクリプトなんですが
認証実行(ログインボタンを押した時)した際
DBからID、PWを全て取り出して
1つ1つ合っているかどうか検証するのですよね。
if($user==(DBから取り出したID) && $pswd==(DBから取り出したPW)){
    $url = "index.php";
    header("Location:$url");
    }else{
        echo "ちがうがな!";
    }
}
こんな感じですよね?
この(DBから取り出した・・)の部分にどう書けばいいのかわからなくて・・
いっぱいあるわけですよね
複数のID&PWを1つにまとめて出して確認する方法が良くわからない
0548nobodyさん2008/10/22(水) 14:01:45ID:???
>>547
どんだけ無駄な
DBならSQLのWHEREでIDとパスワードを照合しろよ
結果の行数が1か0かで判断出来るじゃん
0549nobodyさん2008/10/22(水) 14:05:08ID:???
先輩が最初そうやってるのを見た
意外と陥りやすい罠かもしれない
0550nobodyさん2008/10/22(水) 14:25:22ID:???
まじかよ・・・
DBを使ってる理由を問いたいくらいだ
05515472008/10/22(水) 14:27:34ID:???
なるほど、WHEREで照合ですか・・・
だいぶググってみましたが
よくわからないです。
入門サイト見ながらやってるんですが

>>548,549
のっけから間違っちゃってるってことでしょうか?
0552nobodyさん2008/10/22(水) 14:29:57ID:???
DBとPHPの入門書を各々一冊ちゃんと読んでからのほうがいいと思うよ
05535472008/10/22(水) 14:40:12ID:???
先輩にも「そういう質問が来るとは思わなかった」と言われました。
先輩2人は参考書も買わずに半日かからずに出来たそうです。
僕は2日かかってます。
自分でも何故こんなに理解力が無いのかと思うと嫌になります。
今日は帰りに入門書を買って帰ります。
ありがとうございました。
0554nobodyさん2008/10/22(水) 14:55:22ID:???
>>553
認証部分なんて30分もかからん、多分その先輩もそうだろう
理解力ではなくて基礎が足りん
PHPの文法やアルゴリズム、DBの基礎とSQL構文、知っておくべきことを知らないから時間がかかる
知った後は早いもんだ
0555nobodyさん2008/10/22(水) 15:18:05ID:???
DBに生パスワード置いとくなよ
絶対やるなよ

「パスワードをハッシュ化(暗号化)保存することを法律で義務化するくらいのことが必要だと思う」
ttp://neta.ywcafe.net/000910.html
05565532008/10/22(水) 15:44:06ID:???
ログインが出来ればハッシュ化してやり直すつもりですが
とりあえずログインをやろうと思って
DBに追加したIDとPWをちゃんと読み込めるかどうか試そうと思って。
それでずっとつまづいてます。
自分でもすぐ出来ると思ったんですが・・・
今日中に終わらせると言ったもんだから今日中に終わらせないと
0557nobodyさん2008/10/22(水) 15:57:40ID:???
そしてSQLインジェクション可能なのをまた1つ生み出すと・・・

05585532008/10/22(水) 16:03:03ID:???
if ($_SERVER["REQUEST_METHOD"]=="POST"){
$user = $_POST['userid'];
$pswd = $_POST['pswd'];
if($user==$row['name'] && $pswd==$row['pass']){
$url = "index.php";
header("Location:$url");
}else{
echo $error;
}
この$row['name']ってところは配列ですよね。
ここに配列の中身全部出せばいいんじゃないかと思ってます。
「やさしいPHP」という本を見てるんですが、詳しくは載ってなくて
0559nobodyさん2008/10/22(水) 16:03:06ID:???
というかDBの用意はできてるの?
mysql_connect()とかで接続できてるの?
SQLの構文は知ってるの?
君がどこまで理解してるのかが全然わからないw

AUTHとか使って簡単に済ませちゃえば?
05605532008/10/22(水) 16:21:52ID:???
DBにはアクセスできてます。
構文はスコシしか知らないと思います。
追加や一覧表示、削除は出来ました。
0561nobodyさん2008/10/22(水) 16:56:11ID:???
>>560
>>558で$rowを事前に用意しようとするのが間違い

postのuseridとpswdでDBに対してSQL発行(SELECT文)して存在するかチェック
>>555の点を注意するならハッシュ化したpswdで比較)
で、結果に応じて表示を行う

な?単純なものならこれだけだ
05625532008/10/22(水) 17:27:48ID:???
>>561
ありがとう、わかったようなわからないような
でもなんとなく・・・いや、とりあえずもう少し頑張ってみる。
またきます。
0563nobodyさん2008/10/22(水) 18:23:44ID:???
>>562
>>552
05645622008/10/22(水) 19:58:59ID:???
AmazonでMySQLとPHPの参考書
人気高いやつを注文したっす
金曜日には届きますけど、それまで教えて貰いたいです。
あの・・・もしよければソースそのまま
どこかのアップローダにアップするので
訂正もしくは、ここは訂正すべき、という部分を指摘してもらえないでしょうか?
0565nobodyさん2008/10/22(水) 20:23:07ID:???
>>511を見る限り、DBとの連携に手を出すにはまだ早い気がする。
0566nobodyさん2008/10/22(水) 20:27:00ID:???
この程度でも手出せるのがPHP
0567nobodyさん2008/10/22(水) 21:01:02ID:???
>>564
表面だけ取り繕っても大抵上手くいかないからやめとけ
0568nobodyさん2008/10/22(水) 21:46:42ID:Qg6SK/1U
初心者です。
<?php echo"<〜>" ?>
<?php if(〜) {
echo"<iframe src〜 />"; } ?>

と、あって、3行目のecho(iframe)が表示される時1行目の
<?php ?>を丸ごと消去したいのですが、どうしたらいいですか?
0569nobodyさん2008/10/22(水) 21:54:58ID:???
elseに書くか変数に入れりゃよかろ
05705642008/10/23(木) 04:51:02ID:???
http://amezolog2.hp.infoseek.co.jp/source/up1633.zip
一応これのlogin.phpなんですけど〜〜(;;;;;;
8行目から23行目にかけてのとこなんすけどぉ〜
ここにDBから呼び出したIDとPWを書いて認証したいんですけど
DBの書き方がわからへん・・・。
0571nobodyさん2008/10/23(木) 05:04:50ID:???
>>570
>>552
0572nobodyさん2008/10/23(木) 08:47:21ID:???
そこ取り繕っても後が続かないんじゃないかな。
その後、たぶんセッション引き回すんだろうし。
0573nobodyさん2008/10/23(木) 08:56:53ID:???
>>570

$sql = "SELECT * FROM user_pwd WHERE user ='$user'and pass = '$pswd'";
$res = mysql_query($sql,$conn);

$resになにが入ってるか理解できてないと思う
$resにはDBのuser_pwdテーブルのuser列が$userで更にpass列が$pswdのオブジェクトが入ってる
言い換えると
$userと$pswdが一致してるレコードがあれば$resに格納
つまり君の言う認証はSQL文を発行した時点で完了してる

>>561さんが言ってるんだけどねw
0574nobodyさん2008/10/23(木) 09:05:17ID:???
>>573
とりあえず間違ってる
0575nobodyさん2008/10/23(木) 09:20:09ID:???
>>573
おまいも理解してねぇのか
結果セットはレコードそのものじゃねぇ、発行結果のオブジェクトだ

あとこの場合のSELECTはCOUNTで行数数えるだけでいい
で、結果セットからnum_rowsして1か0かで判断
05765702008/10/23(木) 09:37:43ID:???
どうも。
今からやります。
できるかなあ。
05775702008/10/23(木) 10:23:21ID:???
ひとつずつ取得すればいいと言われたのですが
$kekka="SELECT pass FROM user_pwd WHERE user=".$userid;

if ($_SERVER["REQUEST_METHOD"]=="POST"){
if($kekka=$pswd){
echo "Okie.";
}
elseif($kekka!=$pswd){
echo "bad.";
}
else{
echo "noID.";
}
}
こうですか・・??
0578nobodyさん2008/10/23(木) 10:37:20ID:???
>>577
ダァァーー理解してねぇ
$kekkaにはSQL文が入るのに、なぜ$pswdと比較出来る!

動作だけならこう

$uid // POSTからとったユーザIDとする
$passwd // POSTからとったパスワードとする

$sql = "SELECT COUNT(*) FROM tablename WHERE userid='$uid' AND passwd='$passwd'"
$res = mysql_query($sql);
list($nums) = mysql_fetch_assoc($res);

if ($nums == 0){
//NG
}else{
//OK
}
0579nobodyさん2008/10/23(木) 10:37:55ID:???
データベースどこ行ったんだよ。
0580nobodyさん2008/10/23(木) 10:46:08ID:???
>>578
そんな危ないスクリプト教えんなよ
05815772008/10/23(木) 10:49:49ID:???
$userid = $_POST['userid'];
$pswd = $_POST['pswd'];
$sql = "SELECT COUNT(*) FROM user_pwd WHERE user='$user' AND pass='$pswd'";
$res = mysql_query($sql);
list($nums) = mysql_fetch_assoc($res);
if ($_SERVER["REQUEST_METHOD"]=="POST"){
if($nums==0){
echo "bad";
}else{
echo "okie";
}
}
こうですか?
出来ないよーーーーーーーーーーーーーーーーーーーーわからない
焦る 軽いノイローゼ状態だー
0582nobodyさん2008/10/23(木) 10:51:35ID:???
>>570を見た.結論からいうと>>552
何も分かってないのに偶然うまく動くとかえって自分の首を絞めるよ.

>>570のコードも addtest.php って本人が書いたわけじゃなくて
職場の既存コードのコピペじゃないの?
SQLインジェクション脆弱性あるよ.

>>578 $uid と $passwd をエスケープしないのは初心者にとって有害な例示だと思うよ.
0583nobodyさん2008/10/23(木) 10:52:51ID:???
@接続する。
ASQL文を作る。
ユーザーリクエストを含めるときはインジェクション対策のために専用エスケープを忘れずに。
B発行する。
C結果セットを受けとる。
Dループさせるなり取り出すなりして表示。
E接続を切る。
05845702008/10/23(木) 10:55:53ID:???
職場のではないですが、解説サイトのを少し見よう見まねしてます。
といってもSQL構文のところだけです。
他はナントナクはわかって書いてます。

「とりあえず動かしてミロ」とのことなので
セキュリティの事は後に言われると思います。
0585nobodyさん2008/10/23(木) 10:56:30ID:???
>>579
そこからなのか・・・
>>580
そんなこと言ったら「担当替えろ」で終わりだ
そもそもモデル化してないのにゴチャゴチャやったら>>581みたいなことになる
まずは最低限の動作、そこから拡張しかないのだ、この場合

>>581
DBのオープンすらやってないってことでFA?
そのスクリプトには事前処理とかないわけ?
mysql_connectはどこかで使ってるか?(認証処理より前の段階で)

0586nobodyさん2008/10/23(木) 10:57:06ID:???
それと認証して一致するユーザーは1人だろうから

if($nums==1){
//OK
}else{
//NG
}

のほうがいいような。
0587nobodyさん2008/10/23(木) 10:58:17ID:???
先輩のチェックが入るんだから、
まずは動くところまで持っていくしかないな
そこから先輩もツッコミや指導を予定してるんだろうし
0588nobodyさん2008/10/23(木) 11:11:28ID:???
>>585
モデル化とか関係ないし
とりあえずの動作も必要だが
それ以上にSQLインジェクションの事を考えさせる事の方が重要
05895812008/10/23(木) 11:13:20ID:???
みなさんのレスをコメント化して見ながらやってるので
ソースもだいぶごちゃごちゃしてました。まとめますと今こんな事書いてます。
http://amezolog.hp.infoseek.co.jp/source/up8378.zip
0590nobodyさん2008/10/23(木) 11:15:11ID:???
>>588
考えさせる・対策させる大切さは重々わかっとるが、
さすがに手順を踏まないと>>570がハゲないか?
0591nobodyさん2008/10/23(木) 11:20:45ID:???
>>589
見た

WHEREのところで「user=」ってなってるけど、
user_pwdテーブルはIDとpassフィールドなんだよな?
じゃぁ「ID=」にしないと
0592nobodyさん2008/10/23(木) 11:28:25ID:???
4行目から10行目までは認証処理だから、
11行目のifの中に入れたほうがいい
理由は、今のままじゃ毎回SQL発行しちゃうから
05935892008/10/23(木) 11:52:15ID:???
今先輩が来て「こうすんだよ」と言って
ささっと解決しました。情けない。
たぶん「あらら、出来てないのね」と思われたと思います。
>>591
そう訂正されました。はい。

>>592
その通りでした。
そう訂正されました。

みなさん、ありがとうございます。
だけど、まだまだわかってないなぁ。
次はMD5化して登録と、ログインです。
これは出来そうな気がする・・・。
05945892008/10/23(木) 13:06:38ID:???
if ($_SERVER["REQUEST_METHOD"]=="POST"){
$userid = $_POST['userid'];
$pswd = $_POST['pswd'];
$pswd2= md5($pswd);
$host = "localhost";
$conn = mysql_connect($host, "root", "");
$db_selected = mysql_select_db('webauth', $conn);
$sql = "SELECT * FROM user_pwd WHERE name='".$userid."' AND pass='".$pswd2."'";
$res = mysql_query($sql);
if(mysql_fetch_assoc($res)){
$url = "index.php";
header("Location:$url");
}else{
echo "エラー";
}
}
一応のせときます。
結局こうしました。
0595nobodyさん2008/10/23(木) 14:23:32ID:???
お前な、まずココで聞く前に先輩に聞けよ。
2chで聞いてるなんてバレたら首にされかねんぞ。
05965942008/10/23(木) 15:03:26ID:???
それもそうですね・・・確かに。
家だけにしときます。
忠告ありがとうございます。
0597nobodyさん2008/10/23(木) 15:56:27ID:vhIkvqq/
でもさ。こんなのも教えられない先輩は間違いなく無能。
ここで聞くのもわるくない。
客先行く前にきちんと疑問点は解消しておけ。
出て行って大変だよ。
0598nobodyさん2008/10/23(木) 16:18:43ID:???
それは違くね。
「とりあえず自力でやってみろ、教えるのはそれからだ」ってことじゃない?
何でもほいほい教えちゃうのはよくない。
0599nobodyさん2008/10/23(木) 16:59:24ID:???
俺が先輩でも多分最初は突き放すな。検索すりゃ少なくとも動くもの作れるし、
作れないってことは検索力が欠けてるってことがわかるし。
ま、2chとか掲示板で聞いてたらぶん殴るがw
0600nobodyさん2008/10/23(木) 17:05:54ID:???
まったく基礎が無いように見えるが、
どうしてそんな職に就いたかねぇ・・・
0601nobodyさん2008/10/23(木) 18:07:36ID:???
>>600
そんなもんさ
俺の下についてる連中もやる気だけある素人だし
その方が変なクセとか勘違いとか腐ったプライドとかなくていいがの
0602nobodyさん2008/10/23(木) 19:27:42ID:vhIkvqq/
がんばってほしいな
0603nobodyさん2008/10/23(木) 20:17:53ID:???
それは同意だが頑張り方が間違ってる気もするけどな
都合が悪い意見は無視とかいい性格してるし
0604nobodyさん2008/10/23(木) 21:19:01ID:???
mysqlのインストールがうまくいかない・・・
verは5.0.5なんですけど、インストールが終わって設定もやって、最後のチェックで、必ず一番下の
Apply security settingsでエラーになります

大学の研究でPHPはじめたのですが、環境そろえる段階でこけています。
どなたかお力をお貸しください
0605nobodyさん2008/10/23(木) 21:21:20ID:???
インストールされてね?プログラムからチェックしてみ
それとなんでわざわざ古いの使うのか
0606nobodyさん2008/10/23(木) 21:53:51ID:LaxpC4NS
先輩方おねがいしマス。


掲示板 / 問い合わせフォーム / UPロダ / ショッピングカート


PHPを独学で↑を0から作成できるレベルになりましたが、実際の
PHPプログラマとして就職するには、次に何を作れたら良いでしょう?

どれ位のレベルになれば、PHPプログラマとして雇ってもらえますか?

ちなみに今は、本屋のバイト(23歳)です。
0607nobodyさん2008/10/23(木) 21:55:09ID:???
作った奴見せてみ
0608nobodyさん2008/10/23(木) 21:58:25ID:???
自動車メーカーに就職するのに、自動車が作れる必要はないと思います。
本当の勉強は就職してから始まるので、いまは面接のレベルを上げた方がいいと思います。
0609nobodyさん2008/10/23(木) 22:00:36ID:???
面接のレベルだけ上げても薄っぺらい人間ができあがるだけだと思うが
0610nobodyさん2008/10/23(木) 22:08:27ID:???
>>605
一度アンインスコしてから入れなおしましたが、必ず上記の項目でエラーが出ます
原因わからず・・・

verですが、研究室で使用しているのがこれなんで、使えとのことです
06116062008/10/23(木) 22:10:01ID:LaxpC4NS
知り合いに頼まれて問い合わせフォームを1万円でつくりました。

feiz−design.コム/inquiry.ピエチピ
0612nobodyさん2008/10/23(木) 22:11:35ID:???
>>606
ん、十分じゃね。本屋のバイトなら対人もある程度大丈夫だろうし。
技術的な部分は就職してからでいいし。自信もってGo。
0613nobodyさん2008/10/23(木) 22:23:55ID:???
>>611 見たけど、漏れなら雇わないかな。。

valueの値をクォーテーションで囲ってないのと、
メールアドレスバレバレ。。
0614nobodyさん2008/10/23(木) 22:26:31ID:???
これで30歳超えならアウトだが23歳なら全然おk
0615nobodyさん2008/10/23(木) 22:33:52ID:???
でもお金もらってんだぜ?
0616nobodyさん2008/10/23(木) 22:36:04ID:???
>>611
というか、ここに自分のつくったページの URL を掲載する時点で……
0617nobodyさん2008/10/23(木) 22:39:31ID:???
これで16歳女子高生ならおkだけど、23歳だと厳しいかも。
バカ専門学校出ててもこんなふうには作らない。

でも、こういうことは独学じゃわからないことだから、
まず就職した方がいいよ。2ちゃんでぐだぐだ言い合ってるより。
06186062008/10/23(木) 22:39:41ID:LaxpC4NS
>>613
『htmlspecialchars』でやれば上手くでしょうか・・・
『’』なしてもテスト送信できたのでスルーしてしまいました(汗


そんで、私はどーすれば・・・
今後の目標なんかを・・・
0619nobodyさん2008/10/23(木) 22:42:19ID:???
まぁ ここでいうのもなんだがPHP以外の事を勉強するのが一番だと思う
0620nobodyさん2008/10/23(木) 22:50:22ID:???
>>618
よし次はMVCで掲示板だ
0621nobodyさん2008/10/23(木) 23:10:49ID:???
俺22だけどなんか凄い安心した
0622nobodyさん2008/10/23(木) 23:13:29ID:???
>>621 自分より下を見て安心してどうする
0623nobodyさん2008/10/23(木) 23:15:38ID:???
>>618
まず人生を2chに委ねるのをやめる
0624606さんへ2008/10/24(金) 00:15:22ID:wH/GxTYw
phpで作るのはもういいから。十分とはいわないけど。
基本はわかっていそう。
次はそうだな。サーバー立てて自分でUPしてみて。
もちろんここにさらす必要はないから。
でその作った掲示板とショッピングカートをのせる。
後HTML+CSSの練習かな?
feiz−design.コム/inquiry.ピエチピ
って自分で全部は作っていないんでしょう?



0625nobodyさん2008/10/24(金) 00:27:34ID:???
画伯に慰められるならもうおしまいだ
0626nobodyさん2008/10/24(金) 01:01:51ID:wH/GxTYw
すいません。
俺の責任でつね
0627nobodyさん2008/10/24(金) 01:31:05ID:???
PHP である文字列が正当な書式にのっとったメールアドレスかどうか判定するような関数はありますか?
0628nobodyさん2008/10/24(金) 03:32:30ID:???
>>627
無い
正規表現でチェックするのが一般的
0629nobodyさん2008/10/24(金) 03:46:06ID:???
>>628
やっぱりそうなのですね。ありがとうございました。
0630nobodyさん2008/10/24(金) 04:26:04ID:???
だが厳密に判定しようとするとえらいことになる。
うちでは@数えるだけ。
0631nobodyさん2008/10/24(金) 05:00:30ID:???
>>630
そうですね。ごく簡単に判定することにします。
CPAN の Email::Valid や Mail::CheckUser みたいなものが提供されているかと期待したのですが。
0632nobodyさん2008/10/24(金) 05:03:30ID:???
>>631
それなら移植すれば良いのではー・・・
0633nobodyさん2008/10/24(金) 05:07:25ID:???
>>632
そんな実力あったらいいですけどねーっw
0634nobodyさん2008/10/24(金) 05:21:44ID:???
中見て置き換えるだけじゃん
0635nobodyさん2008/10/24(金) 05:25:14ID:???
じゃあお前がやれと
0636nobodyさん2008/10/24(金) 05:27:02ID:???
なんでだよwどんな必要性がw
0637nobodyさん2008/10/24(金) 08:50:51ID:???
そういうライブラリがあるかと思ったって話じゃないのか
移植すれば?とかアホかと
0638nobodyさん2008/10/24(金) 09:16:03ID:???
ライブラリならZFとかPEARとかに多分あるだろ
0639nobodyさん2008/10/24(金) 12:48:51ID:???
function f($text, $num)
{
if (mb_strlen($text) > $num) {
$after = mb_substr($text, 0, num);
return $after.'<略>';
} else {
return $text;
}
}

という,文字列が一定以上の長さならそこで切って、
語を付加する関数を作ろうとしたのですがうまくいきません
なぜなのか分かる方いらっしゃいませんか?
0640nobodyさん2008/10/24(金) 12:51:59ID:???
num
0641nobodyさん2008/10/24(金) 13:03:57ID:???
>>639
そんなもん作るな・・・
http://jp.php.net/mb_strimwidth
0642nobodyさん2008/10/24(金) 17:48:45ID:45nbMWSd
$url = "http://localhost/test.xml";
$xml = simplexml_load_file($url);
var_dump($xml);

↑この結果が↓このようになります。
objet(SimpleXMLElement)#1 (2) { ["社員番号"]=> string(5) "00001" ["氏名"]=> string(7) "ABC DEF" }

社員番号を表示したいのですが
echo($xml->社員番号);
とやっても表示されませんでした。
XMLの要素名が日本語なのが問題なのでしょうか?


0643nobodyさん2008/10/24(金) 20:15:35ID:???
>>641
さ、さすがphp・・・
どうもありがとうございました
0644nobodyさん2008/10/24(金) 21:18:49ID:???
>>643
MVC的にはビュー側で対応したほうがいいかも
>>642
出たよ
0645nobodyさん2008/10/25(土) 03:08:02ID:???
>>642
どうせソースの文字コードとXMLの文字コードが違うとかいうオチだろ
0646nobodyさん2008/10/25(土) 09:29:46ID:hQkPyR+6
社員番号の要素をIDにして
$xml->IDだと表示されたので
要素名が日本語だとまずいのかなと思ったです。
0647nobodyさん2008/10/25(土) 13:24:59ID:???
そうか
0648nobodyさん2008/10/26(日) 18:47:14ID:???
http://www.gyao.jp/tag/?keyword_id=2518

のようなgyaoのURL(tag/?keyword_id=****)からHTMLソースを取得する方法はないでしょうか
fsockopenを使うような気がしたのですがうまく取得できません

PHP4.43
0649nobodyさん2008/10/26(日) 19:34:59ID:???
fopenじゃだめなのか?
0650nobodyさん2008/10/26(日) 20:31:06ID:???
fopenで他鯖にアクセスできたっけ?
0651nobodyさん2008/10/26(日) 21:48:04ID:???
できなかったっけ?
0652nobodyさん2008/10/27(月) 01:44:12ID:???
httpラッパーが有効なら出来るよ
レン鯖では無効にしてる場合も多いけど
0653nobodyさん2008/10/27(月) 11:28:17ID:???
file_get_contentsじゃだめなの?
0654nobodyさん2008/10/27(月) 11:33:39ID:???
file_get_contentsで他鯖にアクセスできたっけ?
0655nobodyさん2008/10/27(月) 11:40:20ID:???
できなかったっけ?
0656nobodyさん2008/10/27(月) 12:15:24ID:???
httpラッパーが有効なら出来るよ
レン鯖では無効にしてる場合も多いけど
06576482008/10/27(月) 13:18:28ID:???
$fp = @fopen("http***********", "r");
でできるようです
Anhttpdでローカルテストしてたんですが、実はAnhttpdだと上のような外部fopenが強制終了されてしまうというオチでした
file_get_contentsも同じく
さーてこまった
0658nobodyさん2008/10/27(月) 13:52:47ID:???
できるんならいいじゃん
0659nobodyさん2008/10/27(月) 14:05:00ID:???
anhttpd使わなきゃいいから困らない
0660nobodyさん2008/10/27(月) 14:05:47ID:???
自分で「AnHTTPd を捨てれば解決しそうです」って書いてるんだから
困ってるように見えない。

ところでよその鯖から取って来るときってあんまりファイルポインタの操作に
用事はないような。たいてい file_get_contents() な感じの用事じゃないのかな。
06615872008/10/27(月) 15:48:44ID:???
アパッチ2.2.10入れたもののサードパーティ製のphp4apache2.dllないとPHP4が動かない仕様らしくしかもそのサードパーティサイトが死んでて何もできなそうです
PHP5入れてみます

やりたいことは他鯖からとってきたHTMLデータから特定の部分を抽出して、置換して整形してから表示したいっていう感じです
0662nobodyさん2008/10/27(月) 15:51:25ID:???
今更PHP4使うこともない、最初からPHP5でGO
0663nobodyさん2008/10/27(月) 15:53:47ID:???
レンタ鯖かなんかが4なんだろ
0664nobodyさん2008/10/27(月) 16:00:00ID:???
そこはPHP4対応箇所と5対応箇所を確認すれば問題なさそう
Zend1互換モード使えばクラス関係以外はPHP4として動作するしな

あとHTMLを改変する場合コピーライト注意な、公開してると無断転記となる場合も・・・
0665nobodyさん2008/10/27(月) 16:42:05ID:???
php4にapache2.2になにが問題あるのかと思ったら難解だなこりゃ。
30分粘ったが投げた。
0666nobodyさん2008/10/27(月) 18:20:29ID:???
PHP5にて、以下のような何十行かの文字列が入った配列から>>を探しだし、
マッチしたらマッチしたのが後から何番目の配列か知りたいのですが何か良い方法はないでしょうか?
>>はかならず配列の後から数えて数番目という位置にあり、前から順にマッチさせていくとすごく時間がかかってしまいます。

aaa
bbb
ccc
ddd
eee
ff>>f
ggg
0667nobodyさん2008/10/27(月) 20:16:21ID:???
>>666 配列の要素数を求めて、for で後ろから検索する。
0668nobodyさん2008/10/27(月) 20:20:31ID:???
str_replaceで全部まとめて変換すりゃいいんじゃないの?
06696662008/10/27(月) 21:42:44ID:???
>>667
できました。ありがとです。
0670nobodyさん2008/10/29(水) 17:11:52ID:???
035
0430

みたいな数桁の数字の、頭のゼロを一律に削除する方法はないでしょうか
0671nobodyさん2008/10/29(水) 18:23:27ID:???
(int)でキャストしてしまえ
0672nobodyさん2008/10/29(水) 19:09:05ID:???
http://blog.ohgaki.net/php_5_3_namespace
0673nobodyさん2008/10/29(水) 19:15:52ID:???
PHPの入門書を読んでいて次のプログラムの「&」の意味がわかりません。
$mdb = &MDB2::factory($DSN);
どなたか教えてください。
0674nobodyさん2008/10/29(水) 19:18:20ID:???
参照返しでぐぐれ
0675nobodyさん2008/10/29(水) 19:22:28ID:???
>>674
ありがとうございました。
0676nobodyさん2008/10/30(木) 00:40:27ID:???
>>670
str_replace("^0+","",$str)
0677nobodyさん2008/10/30(木) 02:43:57ID:???
>>676
str_replaceで正規表現ですか、そうですか
0678nobodyさん2008/10/30(木) 02:50:00ID:???
ereg_replaceですよねもちろん
0679nobodyさん2008/10/30(木) 03:01:55ID:???
pregの方が良い
大抵はpregの方が速い

と言うか>>671のが一番速そうに思う
速さうんぬんの処理内容じゃないが・・・
0680nobodyさん2008/10/30(木) 07:18:03ID:???
んじゃ俺も
>>670
035 += 0
0681nobodyさん2008/10/30(木) 10:03:00ID:???
"^0+"
この正規表現の場合は多分eregの方が早い
0682nobodyさん2008/10/30(木) 10:44:09ID:???
sendmailの使い方が分からない…
大学の研究でPHP使うことになったんだが、俺プログラムなんてシタコトナイシ…
この機能はPHPとアパッチ入れただけでは動かんとですか?
なにがなんやら…
出来ましたら詳しく解説しているサイト、もしくは書籍を紹介してもらえると助かります
0683nobodyさん2008/10/30(木) 10:57:04ID:???
暇だからテストしてみた

preg match   :0.0012149810791016
ereg match   :0.0011699199676514
preg replace :0.0017139911651611
ereg replace :0.0032238960266113
ltrim            :0.00061607360839844
cast            :0.00018191337585449
+=0             :3.2901763916016E-05

0684nobodyさん2008/10/30(木) 11:04:19ID:???
桁を合わせてくれw
0685nobodyさん2008/10/30(木) 11:28:13ID:???
(誰も指摘してないが、>>670は8進数だったりして)
0686nobodyさん2008/10/30(木) 16:17:42ID:???
>>683

で、どれが早いの?
0687nobodyさん2008/10/30(木) 16:48:27ID:???
見た感じキャストじゃね?
PHPコアでも当たり前のように自動キャストしてるから、実装が最適化されてて速いのかな
0688nobodyさん2008/10/30(木) 18:51:35ID:???
>>687
どっからどう見ても+=0じゃねーかw
0689nobodyさん2008/10/30(木) 18:58:05ID:???
684 名前:nobodyさん[sage] 投稿日:2008/10/30(木) 11:04:19 ID:???
桁を合わせてくれw

686 名前:nobodyさん[sage] 投稿日:2008/10/30(木) 16:17:42 ID:???
>>683

で、どれが早いの?

687 名前:nobodyさん[sage] 投稿日:2008/10/30(木) 16:48:27 ID:???
見た感じキャストじゃね?
PHPコアでも当たり前のように自動キャストしてるから、実装が最適化されてて速いのかな
0690nobodyさん2008/10/30(木) 23:03:26ID:???
php.iniのsmtpの設定をサービスプロバイダのSMTPに書き換えているのに
Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in

このエラーが出るのっておかしいですよね?PHPのインストールがまずいのでしょうか?
0691nobodyさん2008/10/30(木) 23:05:01ID:???
違うphp.ini読んでるんじゃね
0692nobodyさん2008/10/31(金) 02:57:43ID:???
あとはサーバを再起動してないとか(モジュール版
0693nobodyさん2008/10/31(金) 10:12:49ID:???
>>689
やばすぎww
0694nobodyさん2008/10/31(金) 11:05:03ID:???
なんで684がだめなんだ
0695nobodyさん2008/10/31(金) 13:02:12ID:???
683のは1000回まわした時のデータ

1回の時はこんなんになった
正直な話どれを使おうが気にするレベルでも無い

preg match      :1.0013580322266E-05
ereg match      :1.7166137695312E-05
preg replace    :6.9141387939453E-06
ereg replace    :1.4781951904297E-05
ltrim               :4.0531158447266E-06
cast               :3.0994415283203E-06
+=0                :3.0994415283203E-06
0696nobodyさん2008/10/31(金) 13:38:06ID:???
じゃあ気にせずこんな処理してみた。

$v = '0430';

$num = 0;
$a = array_reverse(str_split($v));
for($i=0;isset($a[$i]);$i++)$num+=is_numeric($a[$i])?pow(10,$i)*$a[$i]:0;

echo $num;
0697nobodyさん2008/10/31(金) 20:27:56ID:???
PHPで1日一回、毎日同じ時刻に処理をするってできるんでしょうか?
具体的には、1日一回、データベースにあるデータを取り出してメールを送信したいんですが……
0698nobodyさん2008/10/31(金) 20:41:57ID:???
くだ質スレのテンプレに載ってる
0699nobodyさん2008/10/31(金) 21:24:23ID:???
>>697 こう書くのが定石

for ( ;; ) {
if ( date( 'His' ) == '000000' ) mail( ... );
}
0700nobodyさん2008/10/31(金) 21:34:36ID:???
こらこら
0701nobodyさん2008/11/01(土) 00:07:09ID:???
複数行の変数内に現れる>と<の間に挟まれた文字列内にある"だけを全角に変える方法はないでしょうか
配列展開してからのforでの処理でもかまいません

例)
たちつ>てとなに"ぬね<のはひふへほ

たちつ>てとなに”ぬねのはひ<ふへほ

PHP5.25
0702nobodyさん2008/11/01(土) 00:19:59ID:???
素直にDOM使えw
0703nobodyさん2008/11/01(土) 12:16:03ID:???
PHPでリダイレクトする際にRefererを指定する方法はありますか?
0704nobodyさん2008/11/01(土) 12:38:29ID:???
ttp://antenname.com/
0705nobodyさん2008/11/01(土) 13:20:17ID:???
>>701
preg_replace('/(?<=>)(.*?)(?=<)/se', 'preg_replace("/\\"/", "”", "$1")', $str);

>>703
任意に指定するのは不可能。
Location の代わりに Refresh でジャンプさせれば、ブラウザによっては Referer が空になる。
07067032008/11/01(土) 14:09:59ID:???
>>705
回答くださり、ありがとうございます。
確認ですが、サイトBから以下のようにサイトCへリダイレクトした場合、
サイトCから見たリンク元はサイトBになるということですよね?

サイトA→サイトB→サイトC
07077012008/11/01(土) 14:46:02ID:???
>>705
ありがとうございます。うまくいきました。
神を見ました。来世までに解読できるようがんばります。
07087052008/11/01(土) 18:38:19ID:???
>>706
リダイレクトしても普通はリンクを踏んだページが Referer になる。
サイト B で Location を出した場合 → サイト C から見たリンク元はサイト A
サイト B で Refresh を出した場合 → 送信されない

サイト C から見たリンク元をサイト B にしたければ JavaScript を使うか、
もう一度リンクを踏んでもらうしかないと思う。
0709nobodyさん2008/11/02(日) 09:59:21ID:???
>>705
>preg_replace('/(?<=>)(.*?)(?=<)/se', 'preg_replace("/\\"/", "”", "$1")', $str)
当方もHTMLタグ内以外の"を全角かなんかに置換したくてこれ応用したいんですけど自分の場合、
$str = <a href=http://aaa.html>;宇宙"人</a><a href=http://aaa.html>;未来"人</a><a href=http://aaa.html>;超能力"者</a>;
みたく連続で並んでいるデータに対して置換を行いたいんです。
>>705のままだとふたつめ以降の<a>タグの"が全部全角に置き換わっちゃうので試行錯誤してみたんですがうまくいきませんでした。
解決のすべはあるでしょうか?PHP 5.26です。
0710nobodyさん2008/11/02(日) 12:30:59ID:???
>>709
正規表現でぐぐれ
07117052008/11/02(日) 16:38:15ID:???
>>709
タグの間には <> が出てこないから、単純にこれでいいかも。
アサーション使わずに > < 込みで二番目の置換に渡しても結果は同じになるし、
二番目の置換は正規表現使わない方が高速だわ。

preg_replace('/>[^<>]*</se', 'str_replace("\\"", "”", "$0")', $str);
0712nobodyさん2008/11/02(日) 17:50:57ID:tL8xHBO4
すごいね
俺昔タグ内のname=""の中にさらに"があるアホデータの置換断念したことあるわ
0713nobodyさん2008/11/02(日) 18:29:46ID:6l/MEBbz
翔泳社の「独習PHP」読んでるんだけど
代数演算子の記述が変な気がする。

前置加算→ $i++
後置加算→ ++$i
前置減算→ $i--
後置減算→ --$i

前置と後置が逆になってるような・・・
0714nobodyさん2008/11/02(日) 18:32:13ID:???
記述が間違ってることに気付くことこそがその本の狙いなんだよ
0715nobodyさん2008/11/02(日) 22:29:09ID:???
そだうったのか!!!1!
0716nobodyさん2008/11/03(月) 02:43:21ID:q5+iesG+
PHP5以降でセッションデータをデータベースに入れて管理したいのですが、どのようにするのが王道なのでしょうか??
PEARのHTTP_Session と PEAR_DB を使う方法でしょうか??
他にセオリー的なものがあれば教えて頂けると幸いです。
0717nobodyさん2008/11/03(月) 03:08:13ID:???
つマニュアル
0718nobodyさん2008/11/03(月) 17:55:37ID:???
関数多過ぎだろPHP どんだけぇ〜
0719nobodyさん2008/11/03(月) 17:58:50ID:???
低能乙
0720nobodyさん2008/11/03(月) 23:52:41ID:???
>>716
ここは素直に session_set_save_handler でいいんじゃない?
session_start を使った既存のコードを変更したくない場合はおすすめ。

マニュアルでは全く触れてないけど、書くときはロックに気を付けろ。
本来はセッションに限ったことじゃないんだけど、セッションはフレーム
ページとかで読み書きのタイミングが重なりやすいので、特に同時接続を
意識して書かないと再現しにくいバグに悩まされる。
0721nobodyさん2008/11/04(火) 05:44:06ID:???
>>716 自分でcookie発行して管理してもいいと思われ
0722nobodyさん2008/11/05(水) 21:07:53ID:5ZwaVGRj
name="upfile" を name="upfile[]" にしただけでWarning: htmlspecialchars() expects parameteが出たんだけど
解決方法を教えて下さい
0723nobodyさん2008/11/05(水) 21:12:38ID:???
配列のそれぞれの要素に対してエンティティ化するように変える
0724nobodyさん2008/11/05(水) 22:36:27ID:vFTAkKc1
Apacheのhttp.confで設定したSetEnvの値をPHPで取得するときの方法を教えてください
apache_getenvはブラウザ経由で取れるのはわかったんですが、
コンソールで取得できないものでしょうか?
0725nobodyさん2008/11/05(水) 22:37:11ID:???
コンソールって?
0726nobodyさん2008/11/05(水) 22:57:21ID:???
>>723
配列って何?ってレベル
エンティティ化ってレベル
0727nobodyさん2008/11/05(水) 23:03:04ID:???
配列も知らんのか そりゃもう無理だ
0728nobodyさん2008/11/05(水) 23:15:41ID:???
プチ
07297242008/11/05(水) 23:30:40ID:???
>>725
Linuxなどのシェルで、

% php hoge.php

とか実行したときに取得できないのかな、と。
0730nobodyさん2008/11/05(水) 23:32:08ID:???
それにApacheがどう関係してんの?
07317242008/11/05(水) 23:38:38ID:???
Apacheのサブプロセスの環境変数はブラウザからアクセスしないとapache_getenv()が実行できないらしくて。

シェルから実行したときにApacheの環境変数を取得したいということです。
0732nobodyさん2008/11/06(木) 00:27:55ID:???
>>731
apache経由してないのにどうやって取得するんだよ
0733nobodyさん2008/11/06(木) 00:41:43ID:???
724「だからそれを聞いてるんだろう!!」
0734nobodyさん2008/11/06(木) 00:55:35ID:???
>>724 80番ポート経由で
0735nobodyさん2008/11/06(木) 00:58:22ID:???
>>731
% su - apache
% env
0736nobodyさん2008/11/06(木) 06:28:31ID:???
>>731
file(httpd.conf)
0737nobodyさん2008/11/06(木) 07:26:41ID:???
cliとmod_phpの区別がついてないんだろうなぁ・・・
0738nobodyさん2008/11/06(木) 12:35:47ID:xueniZPL
$tinko=50;
$unko=30;
if($unko=30 && $tinko=50) {
$tunko=100;}
else { $youko=1;}

$tinko=50 && $unko=30 ? $tunko=100:$youko=1;
0739nobodyさん2008/11/06(木) 12:51:43ID:???
>>724
telnet でも使っとけ
0740nobodyさん2008/11/08(土) 10:54:06ID:???
フォームを使わずにファイルをアップデートする方法はありますか?
どのあたりの勉強をすればよいか、キーワードだけでも教えてもらえませんか?
0741nobodyさん2008/11/08(土) 11:00:40ID:???
意味がわからんのだが・・・。
リンククリックだけでローカルのファイルをアップロードさせるっつー話なら無理。
0742nobodyさん2008/11/08(土) 11:10:06ID:???
http://php.birdlab.com/freephpscript007.html
ここのスクリプトが使いたくて、書いてある通りにやってみたら
display(1); ?>  … display(2); ?>  … display(3); ?>  … 設定ファイルがうまく書けていたら
このような結果になりました。

phpの埋め込みで失敗しているのか、私本人がよくわかってないのか、
鯖がCentos5 で Mysql のコードはutf8 だからmb_encodingとか
やってeucにしなきゃいけないのか、もう気絶しそうです。
0743nobodyさん2008/11/08(土) 11:47:24ID:???
>ここのスクリプトが使いたくて、書いてある通りにやってみたら
>display(1); ?>  … display(2); ?>  … display(3); ?>  … 設定ファイルがうまく書けていたら
>このような結果になりました。
何を言っているのか良く分からん
0744nobodyさん2008/11/08(土) 12:04:25ID:???
>>743
配布サイトの説明文の通りにやってみた結果です。
0745nobodyさん2008/11/08(土) 13:12:13ID:???
いや日本語が良く分かりません。自分で読んでみてください
0746nobodyさん2008/11/08(土) 13:48:52ID:???
> 設定ファイルがうまく書けていたら
これも結果の一部って、写す範囲広すぎだろう。ここは説明だぞ。

> <? $vote->display(1); ?>
こんな風に書かれてるんだから、自分が short open tag を通す設定にしてるかどうかぐらい
把握してから気絶してほしい。
0747nobodyさん2008/11/08(土) 14:50:43ID:???
まさか説明文までプログラムに書いてたのかw
んでもってshort_open_tagが有効にされてないせいで全文表示されてたとw
0748nobodyさん2008/11/08(土) 18:49:51ID:???
だからタイトルどおり、実にくだらんですゃ
0749nobodyさん2008/11/08(土) 20:32:38ID:f7jJ+9vB
-> って何ですか?
0750nobodyさん2008/11/08(土) 20:34:01ID:???
htmlコメントのなれの果て
0751nobodyさん2008/11/08(土) 21:59:22ID:???
一週間くらいかけて色んなCGIとかの勉強してみたけどいざ設置するとわからないことばかりだお
ttp://pbs.darkgray.net/のPbsChatっていうのを設置してみたはいいんだけど携帯三キャリア対応のはずなのに何故か入室できない(名前を書く欄がない)
PCからは普通に入れるんだけど・・・
ちなみに使ってるサーバーはwww4.atpages.jp
サンプルのほうも名前欄が出なくて入室できない・・・
サイトの方にはその辺詳しく書かれてないからよくわからないんだお・・・
誰か助けてくれ・・・
0752nobodyさん2008/11/08(土) 22:20:11ID:???
マニュアルには

1-4-2. 携帯対応
携帯用のページを用意するには、option/ディレクトリ内のkt.php,ktchat.php,ktin.php,ktout.php,ktset.phpをindex.phpと同じ場所にアップロードします。
携帯用のトップページはkt.phpとなります。
携帯用の設定はktset.phpで行います。

ってあるけどこのあたりはちゃんとやってるのか?
0753nobodyさん2008/11/08(土) 22:40:37ID:???
一応
携帯用のページを用意するには、option/ディレクトリ内のkt.php,ktchat.php,ktin.php,ktout.php,ktset.phpをindex.phpと同じ場所にアップロードします。
↑確実にやった
携帯用のトップページはkt.phpとなります。
↑よくわからない
携帯用の設定はktset.phpで行います。
↑設定画面を開いたら以下記述のとこだけ書き換えるみたいだったけどなにを書けばいいかわかんなかったお・・・

## 設定項目 ここから↓ -------------------------------------------- #

## チャットルームからの戻り先URL(絶対パスまたは相対パスで指定)
$BURL = "./kt.php";

## 戻り先URLへのリンク文字列
$BMES = "戻る";

## ROM表示行数
$ROMSL = 5;

## 設定項目 ここまで↑ -------------------------------------------- #


0754nobodyさん2008/11/08(土) 22:49:17ID:???
とりあえずふざけた語尾をやめてくれ
0755nobodyさん2008/11/08(土) 22:53:51ID:???
ごめん(;ω;)
0756nobodyさん2008/11/08(土) 23:09:08ID:???
>携帯用のトップページはkt.phpとなります。

がわからん時点でもうダメなんじゃないのか。
要するに携帯でアクセスするときはこっちじゃないとダメってことだろ。
0757nobodyさん2008/11/08(土) 23:10:12ID:???
>>753
滅茶苦茶詳しく書いてあるじゃねーかw
php以前に日本語の勉強しろよwwww
0758nobodyさん2008/11/08(土) 23:28:35ID:???
え、そうなの?でもkt.phpのほうにアクセスしても携帯用に表示されないんだが・・・
トップページを二つ作らなきゃ駄目なのか?
07597402008/11/08(土) 23:30:32ID:???
>>741
わかりにくくてすみません。
ブラウザ経由ではなく、サーバでPHPプログラムを実行しただけで、
他サーバの画像を落としたいのです。
現在、cronで自動実行したプログラムでRSSを取得していて、
そのなかの画像ファイルをローカルに保存したいです。
0760nobodyさん2008/11/08(土) 23:31:19ID:???
file_get_contents(URL)
0761nobodyさん2008/11/08(土) 23:32:14ID:???
ちなみにkt.phpにアクセスすると以下みたいに表示される

Warning: include(set.php) [function.include]: failed to open stream: No such file or directory in /usr/local/www/htdocs/naritya/public_html/pbschat25/kt.php on line 11

Warning: include() [function.include]: Failed opening 'set.php' for inclusion (include_path='.:/usr/local/lib/php') in /usr/local/www/htdocs/naritya/public_html/pbschat25/kt.php on line 11

0762nobodyさん2008/11/08(土) 23:33:16ID:???
ファイルがないよ
0763nobodyさん2008/11/08(土) 23:39:40ID:???
というか>>761はとんでもないことをやらかしたって自覚はあるのだろうかw
0764nobodyさん2008/11/08(土) 23:47:14ID:???
どうでもいいがfusianasanは名前欄に入力してくれ
0765EM119-72-40-107.pool.e-mobile.ne.jp2008/11/08(土) 23:52:45ID:???
アッー!!!
ウラルでとるがな・・・まぁいいや
ファイルってなんぞ?
07667402008/11/08(土) 23:53:08ID:???
>>760
回答ありがとうございます。
色々調べて実装してみます!
0767nobodyさん2008/11/09(日) 00:15:50ID:???
>>765
kt.phpの11行目がエラー吐いてるから見てみろよ
0768nobodyさん2008/11/09(日) 00:55:43ID:???
>>765
お前本当にphp勉強してたのか? 基本が全然ダメっぽいが。

で、「set.phpが開けねーぞボケ」ってエラーなんだがset.phpはどこに置いたのさ。
パッケージ見る限りちゃんと入ってるから正常にアップロードできてりゃ問題ないはずなんだが。
0769nobodyさん2008/11/09(日) 12:58:05ID:???
設置スレに行くべきお客さんが間違ってここに来ただけのような。
0770nobodyさん2008/11/09(日) 14:39:19ID:???
勉強したって言っておけば誘導されなくて済むと思ったんだろう
0771nobodyさん2008/11/09(日) 14:44:33ID:???
ラーメンを食いたいのに間違って吉兆に行ったようなもんか
0772nobodyさん2008/11/09(日) 15:17:02ID:???
残りもん食わされんぞ、それw
07737652008/11/09(日) 17:25:53ID:???
いやいや、設置に関しては出来てんだよ。ただ携帯からアクセスすると変になるんだよ。
質問の仕方が悪かったかもしれん。すまん。
このチャットを携帯からも使用出来るようにしたいんだが、どうすればいいのだろうか・・・というのが聞きたかっただけで。
違うスレで質問した方がいいなら移動します
0774nobodyさん2008/11/09(日) 17:32:27ID:???
質問させてください。
SQLiteを使っていて、UNIQUEなフィールド"hoge"からある値のレコードを抽出しています。

$db = sqlite_open("hogehoge.sqlite");
$command = "SELECT * FROM articles WHERE hoge = 'ある値'";
$query = sqlite_query($db,$command);

この時、ある値のレコードが存在する場合の処理と存在しない場合の処理を分けたいのですが、
どのように条件文を設定すればよいでしょうか?

if($query){
}else{
}

で分けようとしたのですが、うまくいきませんでした・・・
0775nobodyさん2008/11/09(日) 17:36:48ID:???
>>773
だから設置がちゃんとできてりゃ>>761なんてエラー出さねーんだって。
なにを根拠にちゃんとできてるなんて言い張るんだお前は。
もういいや、とりあえずphpの話じゃなくなってるから↓行ってこい。

CGI設置について質問【Part3】
http://pc11.2ch.net/test/read.cgi/php/1176143582/
0776nobodyさん2008/11/09(日) 17:50:15ID:???
>>774
$queryの中身を見てみるといい
07777742008/11/09(日) 17:57:16ID:???
>>776
なんだかよくわからないんです、
常にNULLみたいで・・・
sqlite_fetch_allをした後に判断するしかないということでしょうか?
0778nobodyさん2008/11/09(日) 18:04:45ID:???
どうでもいい指摘だけどそこで$queryって変数名はおかしい
$resultとかにしてよ$rowsとかにしてください
0779nobodyさん2008/11/09(日) 18:07:22ID:???
commandかぁ。懐かしい感じだ。

常にnullって値入れてないんじゃないのかw
07807782008/11/09(日) 18:10:22ID:???
ああ
$queryに結果が入ってるのかと思ってた
じゃあ$stmtとかかなあ
07817742008/11/09(日) 18:39:25ID:???
ごめんなさい。
動作確認したつもりだったんですが、ソースにバグがありました。
修正後にechoで中身を見てみたところ、
中身があるときには、
Resource id #148
ないときには何も表示されませんでした。

これは先ほどの
if($query){
}else{
}
で処理がわけられるということでしょうか?
0782nobodyさん2008/11/09(日) 18:44:23ID:???
is_null($query)でいいんじゃね?
07837742008/11/09(日) 19:11:21ID:???
なんだか混乱していて申し訳ないです。
中身があるときもないときも
Resource id #148
のようなものが入っているみたいです。
その後のsqlite_fetch_allをした後なら空の配列ができるようですが、
空の配列かどうかを調べる関数はありますでしょうか?
07847742008/11/09(日) 19:16:48ID:???
自己レスすみません。
empty関数を使って場合わけできました。
結局、sqlite_fetch_allを行った後の返り値で行いました。
みなさんありがとうございました。
0785nobodyさん2008/11/09(日) 19:35:24ID:???
empty使うくらいなら変数そのままでいいだろw
07867742008/11/09(日) 19:53:29ID:???
>>785
そうだったんですか・・・
アホですみません
0787nobodyさん2008/11/09(日) 20:00:29ID:???
あとわざわざfetchしなくてもsqlite_queryの結果でいいじゃん
07887742008/11/09(日) 20:05:13ID:???
>>787
ごめんなさい
781では中身がないときは何も表示されないと書いたのですが、
基本的にはResource idとかいうのが入っていたみたいです。
空に見えたのはなにかのソースバグだったのかもしれません。
0789nobodyさん2008/11/09(日) 21:23:22ID:???
すみません。
↓テキストボックスにキーワードを入力して、ボタンを押すとURLに飛ぶといったプログラムを
作っているのですが、、、
<?
if($val == "1")header("LOCATION:http://blogsearch.google.com/blogsearch?hl=ja&ie=UTF-8&q=$txt&btnG=ブログ検索&lr=lang_ja");
if($val == "2")header("LOCATION:http://groups.google.co.jp/");
if($val == "3")header("LOCATION:http://blogsearch.google.com/");
if($val == "4")header("LOCATION:http://jp.youtube.com/");
?>

<form action=link.php method=POST>
<input type=text name=txt>
<input type=radio name=val value=1>ブログ
<input type=radio name=val value=2>グループ
<input type=radio name=val value=3>書籍
<input type=radio name=val value=4>YouTube
<input type=submit value=送信>
</form>

http://blogsearch.google.com/blogsearch?hl=ja&ie=UTF-8&q=$txt&btnG=ブログ検索&lr=lang_ja
↑$txtと書いてますが、ここにキーワードが入るわけですが、文字化けしちゃうんです><
誰か助けて><
0790nobodyさん2008/11/09(日) 21:28:08ID:???
なんでJavaScriptじゃなくてわざわざPHPでやってるのかは置いといて
敬語使ってても「><」が入ると舐め腐ってるようにしか見えないのも置いといて

文字のエンコード確認しろ茄子
0791nobodyさん2008/11/09(日) 21:32:58ID:???
>>790
全然なめてなんかないんですが、
文字のエンコードですか??アップするファイルはSHIFT-JISです。
サーバはxrea使ってるのでわかりません。
0792nobodyさん2008/11/09(日) 21:33:27ID:???
&ie=UTF-8
これは何を意味してんの?
07937892008/11/09(日) 21:38:23ID:???
>>792
あそっか!
$txt=mb_convert_encoding($txt, "UTF-8", "auto");
を付け加えたら治りましたwありがとうございます
0794nobodyさん2008/11/09(日) 21:38:30ID:???
>>790
>敬語使ってても「><」が入ると舐め腐ってるようにしか見えないのも

同意します><
07957892008/11/09(日) 22:01:55ID:???
やっぱ何かうまくいってないみたいなのでjavascriptにします
0796nobodyさん2008/11/10(月) 01:14:00ID:???
Web制作板から流れてきました。

Windows Vista Ultimate でXAMPPを使用を試みています。
Apacheが起動できておりません。
(以下のようになってしまいます)

E:\xampp>apache_start.bat
Diese Eingabeforderung nicht waehrend des Running beenden
Bitte erst bei einem gewollten Shutdown schliessen
Please close this command only for Shutdown
Apache 2 is starting ...
(OS 10048)通常、各ソケット アドレスに対してプロトコル、ネットワーク アドレス、ま
たはポートのどれか 1 つのみを使用できます。 : make_sock: could not bind to addr
ess 0.0.0.0:443
no listening sockets available, shutting down
Unable to open logs

Apache konnte nicht gestartet werden
Apache could not be started
続行するには何かキーを押してください . . .

port443が使用されているということは分かったのですが、
何のソフトが使用しているのか判断ができません。
どうしたらポートを使っているソフトが分かりますでしょうか?
0797nobodyさん2008/11/10(月) 01:16:54ID:???
初心者がxamppはやめなさい
0798nobodyさん2008/11/10(月) 01:23:35ID:???
>>797
助言ありがとうございます。
了解しました。

使用しない方がいい理由を教えていただけますか?
想像しているのは

・初期構築のスキルが付かない
・Windows上に構築するよりLinux上の方が楽

等ですが正しいでしょうか?
0799nobodyさん2008/11/10(月) 01:25:18ID:???
443ってのはSSLだろうな
既にwww鯖が入ってる とかでは?
0800nobodyさん2008/11/10(月) 01:32:25ID:???
>>798さん

>port443が使用されているということは分かったのですが、
>何のソフトが使用しているのか判断ができません。
>どうしたらポートを使っているソフトが分かりますでしょうか?

「セキュリティが強化されたwindowsファイアウォール」を見て一歩前進です。

Secure Socket トンネリング プロトコル (SSTP 受信)

が受信でport443を使用している模様です。
0801nobodyさん2008/11/10(月) 02:09:47ID:???
jpg画像をリサイズしたいのですが、
以下のように実装したら色がかなり落ちてしまいました。


$img = file_get_contents("他サイトのURL");
$im = imagecreatefromstring($img);

$outputResourse = fopen("保存先パス","w");
flock($outputResourse,LOCK_EX);
fwrite($outputResourse,$img);
list($width , $height) = getimagesize(保存先パス);

$dstImage = imagecreate(100,100);
imagecopyresampled($dstImage, $im, 0, 0, 0, 0, 100, 100, $width, $height);

fclose($outputResourse);

$outputResourse = fopen("保存先パス2","w");
flock($outputResourse,LOCK_EX);
imagejpeg($dstImage,"保存先パス2");


調べてみるとimagecopyresampled関数にはパレットイメージの制限(255+1色)による問題というのがあることが分かったのですが、
そのせいなのでしょうか?
だとすればどのように対処したらよいかアドバイスをいただけませんか?
0802nobodyさん2008/11/10(月) 02:12:20ID:???
>>801
http://www.google.com/search?q=php+%E3%83%AA%E3%82%B5%E3%82%A4%E3%82%BA
08037162008/11/11(火) 23:05:59ID:pJUkayYB
>>720
>>721
レスありがとうございます。御礼遅れてすいません。
参考にさせて頂きますm(_ _)m
共用サーバ使ってるとセッションデータはデフォルトのままだと漏れることがあると聞いたんで独自に書いてDBで管理しようかと思っているんですが・・けっこう大変そうですね。
しかし共用サーバでなければデフォルトのままでもいいのかなとも思うんですがどうなんでしょう。DB管理にするとI/Oが増えるんじゃないかとも思うんですが。
0804nobodyさん2008/11/11(火) 23:24:31ID:???
>>803
DBで管理した事あるけど
DB鯖次第かな・・・

I/Oはreadに1回updateに1回あとsession破棄とGCの時に1回ずつだから
それ程気にする必要もなかったと思う
0805nobodyさん2008/11/12(水) 00:47:38ID:???
>>803
そのサーバの設定にもよるけど、
セッションファイルは apache ユーザで 600 で作られるから、
一般ユーザは apache なんかに su できないから、まあ安全。

どれくらい安全かというと、セッションIDを推測されるのと同じくらい。

負荷はサイトのアクセス数による。1時間に1万アクセスくらいならなんでもかまわない。
08067162008/11/12(水) 11:17:06ID:oEcWCu5N
>>804
>>805
おお。レスありがとうございます。非常に参考になります。

>セッションファイルは apache ユーザで 600 で作られるから、
http://www.ibm.com/developerworks/jp/opensource/library/os-php-secure-apps/
この記事の「セッションを保護する」の欄で、
共有サーバーではセッション・ファイルを読み取るスクリプトを攻撃者が作成し、値を取得することができてしまう。
みたいなことが書いてあります。
この記事、色々と記述に問題があるようなのですが、このセッションの問題は本当にあるんじゃないかなーと。オーナーapacheでパーミッション600ならやられそうな気がしますが、どうでしょう。

>I/Oはreadに1回updateに1回あとsession破棄とGCの時に1回ずつだから
それ程気にする必要もなかったと思う
>負荷はサイトのアクセス数による。1時間に1万アクセスくらいならなんでもかまわない。

ウェブ製作会社でバイトしてるんですが、DBの負荷で一番高いのがセッションのテーブルのようなのです。
やはりPV増えるに連れてボトルネックとなりそうですね・・
0807nobodyさん2008/11/12(水) 13:18:13ID:???
>>716
攻撃するにもファイル名を総当たりしなきゃいけないので、
それは外部からのセッションIDの総当たりとあんまり変わらないと思われ。
逆にセッションファイル内を読まれても安全に作っておくべき。
パスワードを平文で保存しないとか。

$_SESSION['passwd'] = 'passwod'; // ×
$_SESSION['passwd'] = md5( 'passwod' ); // ○

セッション管理なんてインデックス張ってればDB処理でもいちばん軽い部類の処理だから、
その設計が悪いと思われ。
0808nobodyさん2008/11/12(水) 14:02:54ID:???
単なる認証だけでセッションにパスワード入れるのはマジキチがやることだけどな
0809nobodyさん2008/11/12(水) 14:06:36ID:???
セッションにパスワード入れる必要なんてあんの?
0810nobodyさん2008/11/12(水) 14:18:19ID:oEcWCu5N
レスありがとうございます。

>攻撃するにもファイル名を総当たりしなきゃいけないので、
む、そうなんですか。
攻撃者が作るスクリプトってJavaScript??って思ったんですがどういうスクリプトなんでしょう。
JavaScriptはあまり分からないですし、何かサーバ側のファイルの一覧を取得できてしまうようなスクリプトが作れるのかなと思ってました。
でもよくよく考えたら、そんなことできたらセッション以外の点でも大問題ですね汗
0811nobodyさん2008/11/12(水) 14:29:42ID:???
>>810
セッションファイルの安全性というのは文字列の複雑さだけで保たれてます。例えば、

http://exsample.com/?PHPSESSID=1234

だと駄目だけど、

http://exsample.com/?PHPSESSID=99bcf96055818a3b68faa0f348740e84

ならまあ許容できるよね。ぐらい。んで、セッションファイルも

drwxrwx--- 2 root apache 131072 2008-11-12 14:26 .
-rw------- 1 apache apache 53 2008-11-09 01:28 sess_vptubrcd9dr9bjc7o0lbunep56

なんて保存されているので、root か apache ユーザに su できなければ、
セッションファイルのファイル名もわからないのです。
なので総当たりするしかないのですが、その総当たりするスクリプトのことだと思います。
0812nobodyさん2008/11/12(水) 15:08:08ID:???
open_base_dirが設定されていないサーバで
sessionファイルが全て同一ディレクトリに保存されている場合
phpからアクセス可能なんじゃないの?

ini_get等で保存ディレクトリ取得

ディレクトリ内スキャン

ファイルを読み取り

全てPHPで組めばアクセスできると思うが・・・
0813nobodyさん2008/11/12(水) 15:37:32ID:???
あ、SESSIONIDとファイル名は関連があるからな
0814nobodyさん2008/11/12(水) 22:36:42ID:???
超初心者スレならばまずはPHPとはなんぞやと言う事を説明せよ。
そして俺を一人前のPHPerに育て上げるのだ。
わかったな?
〇〇嫁!は禁止。
キチガイ等と言うやつは負け組
↓では開始
0815nobodyさん2008/11/12(水) 22:45:09ID:???
ググレカス
0816nobodyさん2008/11/12(水) 22:50:58ID:???
ググレカレーも禁止
0817nobodyさん2008/11/12(水) 22:57:12ID:???
>>814 まずはお前が「一人前のPHPer」とはなんぞやを説明してからだ
0818nobodyさん2008/11/12(水) 23:12:17ID:???
>>817
PHPもしらんのに答えられるはずもなかろう。
愚かもの
0819nobodyさん2008/11/13(木) 08:15:49ID:???
質問

mbstring.encoding_translation = On
になってる PHP 環境があります。

php.ini も .htaccess も変更出来ない場合
他に Off にする方法はありますか。
0820nobodyさん2008/11/13(木) 08:18:54ID:???
自分で明示的にencodingを指定すれば?
0821nobodyさん2008/11/13(木) 09:21:03ID:???
超初心者なのでわかりません > <
0822nobodyさん2008/11/13(木) 09:25:26ID:???
mbstring.internal_encoding を指定しても POST データは translation されちゃいますよね。
受け取ったデータをまた変換し直してやるしかないのかな。
0823nobodyさん2008/11/13(木) 11:32:40ID:???
質問させてください。

unixtojd関数を使用したかったので、--enable-calenderをつけてphpを再インストールし
phpinfoで--enable-calenderが表示されていることを確認したのですが
いまだCall to undefined function: unixtojd()とエラーが表示されたままになってしまいます。
この関数を利用するのに、別に必要なものがあるのでしょうか?

環境はcentos5.0、apache2.0、PHP4.4.8で、会社のローカル開発用サーバで運用しています。
0824nobodyさん2008/11/13(木) 19:04:30ID:lI0vnur7
ピーエイチパーって流行ってるの?
0825nobodyさん2008/11/13(木) 21:47:24ID:+wSFnCZL
Apache2.2 + mod_fcgid + php-cgi5.2.6で大きなファイルをアップロードできません。

下記に書いたコードを上記環境で動かすと10KB-20KB程度のファイルは正常に
アップロードできるのですが、それ以上となるとエラーとなってしまいます。
php.iniのアップロードサイズなどは問題ないようなのですが。

原因がわかりません。
なんででしょう?


<html>
<head></head>
<body><?php
$uploaddir = '/tmp/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Possible file upload attack!\n";
}
echo 'Here is some more debugging info:';
print_r($_FILES);
print "</pre>";
?>
<form enctype="multipart/form-data" action="<?php print($_SERVER['PHP_SELF']); ?>" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
Send this file: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>
</body>
</html>
0826nobodyさん2008/11/13(木) 21:59:17ID:???
>>825 エラーログを見たまへ
0827nobodyさん2008/11/13(木) 22:06:05ID:Z/0actP/
お願いします
登録してある複数のメアドに一斉にその内容の
メールするフォームのCGIを紹介してください
できればメアド登録もWEB上で行いたいのですが
0828nobodyさん2008/11/13(木) 22:32:45ID:???
>>827
スレ違い
0829nobodyさん2008/11/14(金) 00:39:38ID:???
つ無料メーリングリストサービス
0830nobodyさん2008/11/14(金) 12:41:20ID:???
>>825
自分で
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
って指定してるからだろ
このvalueはbyteだPHPはこれもチェックしたはず
0831nobodyさん2008/11/14(金) 13:06:06ID:???
>>824
 ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ・∀・)< PHPの時代は終わった。今から勉強しても使えません。
 ( 建前 )  \_______________
 | | |
__(__)_)______________
 ( _)_)
 | | |
 ( 本音 )  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( 。A。)< 新参の商売敵は潰しておくか
  ∨ ̄∨   \_______________
0832nobodyさん2008/11/14(金) 15:44:43ID:Xq4mZFEa
超ド級初心者ですが、質問させてください。
TOP画面で「こうげき」「まほう」のボタンがあり、敵のHPが100あります。
それを、こうげきした場合はランダムに「1〜10」の間で敵のHPを減らす。
まほうなら「20〜30」で減らす様にして、繰り返す。
敵のHPがゼロになったら、結果の別画面へと言う物をPHPで制作しているのですが、
「こうげき」したら⇒HPが「1〜10」減って表示が100から引かれる処理がイマイチわかりません。
rand自体の動きはわかるのですが、それを応用して上記の様な処理の仕方がわかりません。
お願いします。
0833nobodyさん2008/11/14(金) 16:01:48ID:???
値の保持の仕方が分かってないんだね
Cookieとかセッションを使うと良いよ
0834nobodyさん2008/11/14(金) 17:31:37ID:Xq4mZFEa
>>833
ありがとうございます。
色々と調べて、試してみます!
0835nobodyさん2008/11/14(金) 22:45:07ID:???
if(@is_file(THUMB_DIR.$time.'s.jpg'

この@ってどう言う意味があるんでしょ?
0836nobodyさん2008/11/14(金) 22:50:48ID:???
自己解決しました、エラーを出ないようにするんですね。
0837nobodyさん2008/11/15(土) 04:48:34ID:INPBoIvZ
今日apacheとphpを導入したのですが
<?php phpinfo(); ?>を行っても文字だけがlocalhostに出るだけで
phpがうまく実行されません
一通り見たのですが間違ってないような感じでした
また、index.phpでのファイルはなんともないのですが
test.phpを見ようとするとファイルのダウンロードになってしまいます


このような状況のときapacheの設定が悪いのか phpの設定が悪いのかどっちなのでしょうか?
apacheは2.0.63でphpは5.2.6です
よろしくお願いします
0838nobodyさん2008/11/15(土) 04:55:04ID:???
AddHandlerかましてるか?
08398372008/11/15(土) 14:23:50ID:INPBoIvZ
>>838
レスサンクス
AddHandlerがどのような状態になっていればいいんでしょうか?
ttp://jp.php.net/manual/ja/configuration.php
を見たらaddoverride allにすればいいと書いてあったのでした結果
次はlocalhostの画面に何も写らなくなりました
PHPと認識していないのでしょうか?
0840nobodyさん2008/11/15(土) 14:44:32ID:???
>>837
まさかその程度の知識で鯖を立ててるんじゃあるまいな?
08418372008/11/15(土) 14:49:04ID:INPBoIvZ
そのつもりですが
そのほかにどういう知識が必要なんですか?
まだ初めたばっかです
0842nobodyさん2008/11/15(土) 17:09:43ID:???
基礎から勉強しろ

まさか「どうやって勉強すればいいですか?」とか聞くまいな
0843nobodyさん2008/11/15(土) 17:15:09ID:k8oNRHMF
今勉強用に弄ってるサンプルソースに
if(!$img_tmp) {
echo $this->error("ファイルを入力してください");
echo $this->html_foot();
exit;
} elseif(($img_size/1024) > $this->max_file) {
echo $this->error("ファイルサイズが大きすぎます");
echo $this->html_foot();
exit;

error〜は自分で定義するエラーだと分かるんですが
こんなソースがあったんですけど$this->の部分がよくわかりません。
これってなんでしょうか?
0844nobodyさん2008/11/15(土) 17:17:11ID:k8oNRHMF
日本語がおかしすぎますねorz
0845nobodyさん2008/11/15(土) 17:25:43ID:???
そんなレスする暇があったら訂正したほうが・・
$this->っていうのはクラス内でローカルメンバを扱いたいときに遣う
0846nobodyさん2008/11/15(土) 17:50:25ID:k8oNRHMF
>>845
クラス内でローカル変数とかをグローバル変数と区別するための決まり事ってことでOKでしょうか?
0847nobodyさん2008/11/15(土) 18:51:39ID:???
全然違う
0848nobodyさん2008/11/15(土) 19:14:34ID:???
ローカル変数でもグローバル変数でもない、インスタンス変数だ。
オブジェクト指向プログラミングの基礎。phpではPHP5から本格的に導入された。
現代的なプログラミングをする上での必須知識だから、早めに習得したほうがいい。
class Person{
 private $name;
 function sayName(){
  echo 'My name is ' . $this->name . "\n";
 }
 function setName($var){
  $this->name = $var;
 }
}
$a = new Person();
$b = new Person();
$a->setName('Andrew');
$b->setName('Brian');
$a->sayName(); // My name is Andrew
$b->sayName(); //My name is Brian
$a->getName()を呼ぶ時、getName()内の$thisは$aを指す。$b->getName()の時は$bを指す。
0849nobodyさん2008/11/15(土) 19:17:21ID:???
sayName lol
0850nobodyさん2008/11/15(土) 19:33:28ID:???
echo $a->getName();
って感じでサンプル書いたら「getName()の最後のreturnってなんですか><」とか言われる可能性があるだろダラズ。
0851nobodyさん2008/11/15(土) 21:03:33ID:k8oNRHMF
>>848
サンプルまでつけていただいてありがとうございます。
オブジェクト指向の理解がちゃんとできてないので何となくですが、
1つのクラスから複数のインスタンスを生成した際にごっちゃにならないために・・・・??
理解力なくてすみませんorz
0852nobodyさん2008/11/15(土) 21:14:43ID:???
じゃオブジェクト指向理解すれ
08538452008/11/15(土) 23:46:02ID:???
すまん
ローカルメンバとか言わないんだな・・
0854nobodyさん2008/11/16(日) 06:07:17ID:QRvDYE1C
以下の変数$csvにはCSV形式のデータが入っており、
これを配列$csv_arrに置き換えたいと思っています。

$csv = <<EOF
2008-11-13, りんご, 10
2008-11-14, みかん, 20
2008-11-15, めろん, 30
EOF;

$csv_arr = array(
           array("2008-11-13", "りんご", "10"),
           array("2008-11-14", "みかん", "20"),
           array("2008-11-15", "めろん", "30")
           );

どうぞ宜しくお願いします。
0855nobodyさん2008/11/16(日) 06:48:23ID:???
foreach (explode("\n", $csv) as $val) {
  $csv_arr[] = explode(",", $val);
}
0856nobodyさん2008/11/16(日) 12:30:43ID:???
$csv_arr = array_map('explode', array_fill(0, count(file('a.csv')), ','), file('a.csv'));
08578542008/11/16(日) 13:00:43ID:QRvDYE1C
>>855
そのものずばりの回答ありがとうございます!


>>856
質問が言葉足らずで誤解させてしまい申し訳ないです。
今回の私の質問は、csvファイルからの読み込みではなく、
変数$csvにCSV形式の文字列が入っているという意味で
質問させていただきました。

ただ、ご回答いただいたコードは、ネットで探すサンプルよりも
ワンライナーでとても簡潔にまとめられていて参考になります。
ありがとうございます!
0858nobodyさん2008/11/16(日) 17:35:39ID:???
>>854
$csvに入る内容にもよるが
データに,とか\r\nとか”があった場合の挙動って考えなくて良いの?
厳密なCSV定義からのパースだとしたら今出てる物では不十分

因みに厳密なCSV定義=RFC4180ね
08598542008/11/16(日) 23:14:23ID:QRvDYE1C
>>858
特定のWebページを取得してCSV形式で整形したものが、今回の$csvと
なるので、今回については特殊な文字列が含まれることはありません。

ご指摘された場合も想定しないと予期せぬ不具合につながりますね。
アドバイスありがとうございます。
0860nobodyさん2008/11/16(日) 23:18:21ID:???
それは普通CSV形式とは言わない
0861nobodyさん2008/11/17(月) 09:37:37ID:KhW4/uRq
質問があります
if(1000==(1100/1.1)){echo "ok";}
これでは判定は真にならずokと表示されません
何故ですか

ちなみに
if(1000==(900/0.9)){echo "ok";}
これだと真と判断されてokと表示されます
0862nobodyさん2008/11/17(月) 10:36:30ID:???
>>861
仕様
http://jp.php.net/float
0863nobodyさん2008/11/17(月) 11:01:28ID:KhW4/uRq
>>862
ありがとう御座います
例えばリンク先の例に挙げられているfloor((0.1+0.7)*10) の場合
echo floor((0.1+0.7)*10);
とすると結果は7と表示され、
想定される結果である8とは違う事から
リンク先に書いてあるように計算精度に問題がある事が分かりますが

echo 1100/1.1;
とすると1000と表示され、想定された通りの計算結果になります
この値はあてにならないということでしょうか
0864nobodyさん2008/11/17(月) 11:22:13ID:???
ファイルの排他制御って参照しかしない場合でも必要なんですか?
0865nobodyさん2008/11/17(月) 11:25:42ID:???
場合による
0866nobodyさん2008/11/17(月) 12:00:46ID:???
>>863
ならない
0867nobodyさん2008/11/17(月) 12:40:07ID:KhW4/uRq
>>866
ありがとうございます
判定はbcdivを使う事で判定する事が出来るようになりました
0868nobodyさん2008/11/17(月) 12:48:40ID:???
>>867
Windows以外で任意精度数学関数を使う場合は
--enable-bcmathつけてコンパイルしてある必要があるので気をつけて
0869nobodyさん2008/11/17(月) 12:57:48ID:???
出来るようになったって言ってんだろカス
0870nobodyさん2008/11/17(月) 15:08:00ID:???
>>863
floor((0.1+0.7)*10);
の例にしても、echo 0,1+0.7なら0.8と表示されるよ。
0871nobodyさん2008/11/17(月) 15:11:02ID:???
そりゃ丸められてるからだろ
0872nobodyさん2008/11/17(月) 15:48:18ID:???
そう。だから1100/1.1も1000と表示されるけど実際には丸められてる
0873sage2008/11/17(月) 16:44:22ID:fS1MxP+5
超初心者です。
XAMPPのDBにアクセスしてるPHPを読んでてわからなかった事があるのですが、
PHPのはじめの所が「<?」や「<?php」ではなく、
「<?=」となっていて、

<?=$TEXT?>
という感じで変数を表示してたところがありました。
これはechoと何が違うのでしょうか?

これの様に左辺が無い場合はどういう動作になるのでしょうか・・・
よろしくお願いします。
0874nobodyさん2008/11/17(月) 16:54:17ID:???
>>873

http://jp.php.net/echo

echo() には、開始タグの直後に等号を付ける短縮構文もあります。 この短縮構文は、設定オプションshort_open_tag  が有効な場合のみ使用可能です。
0875nobodyさん2008/11/17(月) 17:20:33ID:???
>>874
ありがとうございます!
echoとの違いではなくて、echoの短縮だったんですね。
スッキリしました。
0876nobodyさん2008/11/17(月) 19:55:05ID:G7bu0AqY

コノスレイイ。

ロムってたけど。

\(^o^)/イイ。
0877nobodyさん2008/11/17(月) 19:55:43ID:???
マニュアルも読まないなんて
0878nobodyさん2008/11/18(火) 08:21:36ID:???
作られたhtmlファイルが文字化けしてしまうのですがなんでなのでしょうか。

<?php
$word = '漢字';
$word = mb_convert_encoding($word, "UTF-8");
$page =$word.'.html';
$str = mb_convert_encoding($page, "UTF-8");
$fp = fopen($str,"w");

?>
0879nobodyさん2008/11/18(火) 08:31:36ID:???
何がしたいのか意味不明
0880nobodyさん2008/11/18(火) 08:48:01ID:???
>>879
漢字.htmlというファイルを作りたいのですが、
文字化けしてしまうんです。
0881nobodyさん2008/11/18(火) 08:50:08ID:???
ちゃんとエンコード元を指定すべし
0882nobodyさん2008/11/18(火) 08:54:43ID:???
>>881
$str = mb_convert_encoding($page,"UTF-8","auto");

autoでもSJISでもできないんです。
0883nobodyさん2008/11/18(火) 09:04:13ID:???
autoは指定になってない
php.iniの設定とソースの文字コード、ブラウザの文字コードによっても変わる
detectもしつつ色々試行錯誤してみ
0884nobodyさん2008/11/18(火) 09:06:01ID:???
>>878
何を元にhtmlファイルが文字化けてると言ってるの?
何かソフトで見た場合の事?
0885nobodyさん2008/11/18(火) 09:08:54ID:???
>>883
<?php
$word = '漢字';
$word = mb_convert_encoding($word,"UTF-8","SJIS");
$page =$word.'.html';
$str = mb_convert_encoding($page,"UTF-8","SJIS");
echo mb_detect_encoding($str);
print '<BR>';
echo mb_detect_encoding($page);
print '<BR>';
echo mb_detect_encoding($word);
$fp = fopen($str,"w");
?>
結果は
UTF-8
UTF-8
UTF-8
なんですが。
0886nobodyさん2008/11/18(火) 09:21:39ID:???
>>884
ファイル名が"髮区誓・ス・「髯・html"になるんです。
0887nobodyさん2008/11/18(火) 09:23:18ID:???
>>886
何で見た時に?
0888nobodyさん2008/11/18(火) 09:26:22ID:???
>>887
ローカルで作成しているので、自分のパソコンで見たときにです。
0889nobodyさん2008/11/18(火) 09:44:19ID:???
ファイルの内容のエンコードとファイル名のエンコードは関係ないぞ。
環境は?OSとか
0890nobodyさん2008/11/18(火) 09:49:02ID:???
>>888
OSの文字コードで書き出さないと化けたように見える
0891nobodyさん2008/11/18(火) 10:06:07ID:???
どっちにしても漢字ファイル名はクライアントの環境やブラウザの仕様によって読めないケースがあるから
使わない方がいいな
0892nobodyさん2008/11/18(火) 12:40:23ID:???
windowsの文字コードは普通jisだわな
0893nobodyさん2008/11/18(火) 12:48:09ID:???
>>889
windowsです。
0894nobodyさん2008/11/18(火) 12:48:43ID:???
>>892
普通はCP932(SJIS-WIN)
0895nobodyさん2008/11/18(火) 13:13:57ID:???
ああそれで俺もファイル名の文字化けに悩んだ記憶がある
0896nobodyさん2008/11/18(火) 14:27:45ID:VeQnY2gN
今IDとパスのログイン画面で次回からログインを省略するチェックボックス
を作ってます。チェックを入れるとsession_set_cookie_paramsを
1年に設定してるんですが一度ブラウザを閉じるとセッションも切れてしまいます・・・
下に簡単なソースを載せますので
すいませんがアドバイスよろしくお願いします。

login1.php
<?
session_set_cookie_params(365*24*3600);
session_start();
$_SESSION["name"] = "こんにちは";
echo "セット";
echo "<a href=\"login2.php\">移動</a>";
?>

login2.php
<?
session_start();
echo $_SESSION["name"];
?>
0897nobodyさん2008/11/18(火) 16:17:38ID:???
やってみたけど俺の環境だと残ってたよ
firefox?
08988962008/11/18(火) 16:33:43ID:???
>>897
返答ありがとうございます。
環境はIE7、Firefoxです。
最初にlogin1.phpにアクセスし
セッションを設定して移動をクリックすると
login2.php にもセッションが引き継がれるんですが
その後ブラウザを閉じ次にlogin2.phpにダイレクトにアクセスすると
$_SESSION["name"] = "こんにちは";が表示されず
真っ白になります・・・
0899nobodyさん2008/11/18(火) 17:09:56ID:???
自動セッション開始のディレクティブも考慮して、
クッキーの有効期限はsetcookieで設定した方がいいぜ
session_startする前に実は開始してて、有効期限の上書きが出来ないことがあるから
0900nobodyさん2008/11/18(火) 17:36:13ID:s+xeZpDT
質問です。
変数$strをintにキャストしたいのです。
ご教授お願いします。
$str = "ST012300";
$str = (int)$str;
$num = 100;
$num += $str;
echo $num; ←ここで出力


0901nobodyさん2008/11/18(火) 17:57:13ID:???
STのところが必ず2文字ならsubstrで切り取ってからキャストすればいいんでないの?
0902nobodyさん2008/11/18(火) 18:34:52ID:???
>>900
適当に書いたがこんな感じか?

function toInt($string) {
$temp = "";
for ($i = 0; $i < strlen($string); $i++) {
if (preg_match("/[0-9]/", $string[$i])) {
$temp .= $string[$i];
}
}
return (int)$temp;
}
0903nobodyさん2008/11/18(火) 18:40:56ID:???
>>902 おまえアホだろ。なんのためにpreg_matchつかってるんだよ。
0904nobodyさん2008/11/18(火) 18:53:16ID:???
>>903
1文字ずつ分解するのが無難なやり方でないかと
preg_match_allが俺の環境じゃ使えないから使わなかっただけというのもあるけど
preg_matchだけでくり抜ける?
例に出てるST012300なら簡単だけど
o89WE342hEU44とか2バイト文字が入ってきたりすると
俺のレベルじゃ1回の正規表現で抜き取れない
09058962008/11/18(火) 18:54:44ID:???
>>899
session_startする前に開始している時もあるんですね。
アドバイスいただいたやり方で一度やってみます。
ありがとうございました!
0906nobodyさん2008/11/18(火) 18:54:48ID:???
元質問者の必要なものがどれかによるだろうけど、
飛び飛びの数字くっつけて1つの数字にすることに意味があるのか?
0907nobodyさん2008/11/18(火) 18:56:46ID:???
is_numericでいいじゃん
あと引数に配列渡された場合どうすんのとか
0908nobodyさん2008/11/18(火) 19:15:25ID:???
>>907
is_numericでもいいけどpreg_matchでもいいじゃん
>>903の突っ込みはpreg_match使うなら1回で抜けってことではないの?
その方法が思いつかなかったから聞いてるんだけども
>あと引数に配列渡された場合どうすんのとか
それは配列用のを別に作るべきでしょ
PHPじゃオーバロードできないけど
0909nobodyさん2008/11/18(火) 19:20:22ID:???
preg_matchで行うことに何の利点があるの?
0910nobodyさん2008/11/18(火) 19:26:49ID:???
強力な正規表現が使える。
逆に言うと正規表現がわからないと混乱するだけ。
0911nobodyさん2008/11/18(火) 19:34:38ID:???
>>909
普段よく使うから使っただけだよ
is_numericなんて使ったことなかったし

まぁ気になったんで
>>902で書いた関数で文字列に適当なwebサイトをfile_get_contentsしたものを使って
is_numericとpreg_matchの比較ベンチとってみたけど
is_numericのほうが早いね

速度面では特に利点はないみたいだ
ただ>>910もいってる通りうまく使える人なら1行でスッキリと1回で抜けると思う
オーダなんかは1文字ずつ比較するのとたぶん変わらないと思うけど
0912nobodyさん2008/11/18(火) 20:47:26ID:???
$str = "ST012300";

という前提があるなら、漏れなら、

ereg( '(\d+)', $str, $regs );

echo $regs[1];

と書く。
0913nobodyさん2008/11/18(火) 20:52:15ID:???
どういう前提だよw
文頭がアルファベットか?文字数が8文字か?数字が0〜3までか?
数値が連続してるなんて前提ねーよw
0914nobodyさん2008/11/18(火) 20:55:45ID:???
>>900
盛り上げていただいてありがとう御座います。
参考にさせていただきます。
0915nobodyさん2008/11/18(火) 20:56:46ID:???
お前はすっこんでろ
0916nobodyさん2008/11/18(火) 20:57:31ID:???
最初に現れた数字列を引っ張ってくるという前提だ。
0917nobodyさん2008/11/18(火) 21:48:50ID:/cO8JIvu
開発環境はXAMPPで作ってる初心者で質問なんですが、
PHPからDB2に接続するにはどうしたらいんですか?
MySQLからDB2に移行したいんです!何か特別な設定とかいります?

カタログ接続とかの意味がよく分からないです^^;
0918nobodyさん2008/11/18(火) 21:57:01ID:???
初心者ならXAMPPを使うな
0919nobodyさん2008/11/18(火) 22:05:18ID:???
>>917
それより何故DB2? MySQLの方が圧倒的に楽じゃん。
0920nobodyさん2008/11/18(火) 22:05:36ID:???
>>917
XAMPPはDB2じゃないからあきらめてね
DB2使うならPEARかPDO使えば
0921nobodyさん2008/11/18(火) 22:32:54ID:???
>>917 ODBC経由
0922nobodyさん2008/11/18(火) 23:49:32ID:???
<?php
$file ='test.html';
$fp = fopen($file,"w");
$str = array('aaa\n','bbb\n');
file_put_contents($file, $str );
fclose($fp);
?>

複数行の書き込みをしたいのですが、これだとできません。
教えて下さい。
0923nobodyさん2008/11/18(火) 23:51:48ID:???
なんでarrayなの?
0924nobodyさん2008/11/18(火) 23:54:15ID:???
'aaa\n'と"aaa\n"は違う
0925nobodyさん2008/11/19(水) 00:04:54ID:???
>>924
できました。ありがとうございます。
0926nobodyさん2008/11/19(水) 01:53:56ID:???
条件分岐をさせてMySQLのデータを削除しようとしているのですが

$pass1 = $_POST["pass"];
  if($pass1=="●●"){
  $sql = "delete from object where id = $id";
  mysql_query($sql);
  echo "削除されました";
  exit;
}

●●の部分をMySQLに格納しているパスワードに
したい場合はどうすればいいのでしょうか?
MySQL側の質問になってしまうかもしれませんがお願いします。
0927nobodyさん2008/11/19(水) 02:16:00ID:???
htmlタグをprintするときに、
"のエスケープをせずに済む方法ってありますか?
大量のhtmlタグをprintするのが大変なのでそのような関数があれば
教えていただきたいです。
0928nobodyさん2008/11/19(水) 02:22:55ID:???
>>926
それの前にクエリ発行して格納しているパスワードを取ってくれば?
>>927
シングルクオートにすれば?
0929nobodyさん2008/11/19(水) 02:22:59ID:???
関数じゃないけどヒアドキュメント
0930nobodyさん2008/11/19(水) 02:30:59ID:???
>>929
ヒアドキュメントの中に変数って使えますか?
09319262008/11/19(水) 02:32:56ID:???
>>928
うぉぉぉぉできました!!!
すっごい単純なことだったのに完全に頭が固くなってました!
ありがとうございます!!
0932nobodyさん2008/11/19(水) 03:07:53ID:???
>>928
>>929
アドバイスありがとうございました。
テンプレート作って置換したら簡単にできました。
0933nobodyさん2008/11/19(水) 09:43:10ID:???
すいません
ご存じなかたがいらっしゃったら教えていただけると幸いです

自作のスクリプトをばらまこうと思ってるのですが
ファイル構成やパーミッションまわりが複雑だったりするので
インストールウィザードをつけたいと考えてます
自己解凍形式みたいに
フォルダやパーミッションや簡単な設定項目(置換)を指定すると
そのとおりに設定して展開してくれるようなスクリプトはありますでしょうか?

なければ作ろうかと思うのですが
需要ありますでしょうか?

一通り探したつもりですが見つかりませんでした

よろしくお願いします
0934nobodyさん2008/11/19(水) 10:15:16ID:???
>>933
パーミッションってことはOSX含めたUnix系OSだよね?
RPMパッケージでも作ればいいんじゃない?
というか展開したファイルのパーミッションを変えるスクリプト1つ置くだけでいいのでは?
複雑な設定項目とかはインストール後に管理スクリプトからやればいいだけだし
そもそもサーバでそんなもの展開してインストールするようなのは自鯖か専鯖持ちぐらいでしょ
ターゲットの範囲が狭すぎてそのためにわざわざ凝った作り考えるのもあほくさいわ
09359332008/11/19(水) 10:58:08ID:???
>>934
レスありがとうございます

移動中の携帯からの投稿だったため情報が足りませんでした
ここでいうスクリプトはPHPのスクリプトで
ターゲットはLinux+レン鯖を考えています

処理の流れ的には
1.自己解凍PHPにWEB経由でアクセス
2.DIRパスやそのスクリプトの起動に最低限必要な定数を設定
3.指定DIRに展開
4.自分自身を削除(オプション)+そのスクリプトの設定画面へリダイレクト(あれば)

単一ファイルにまとめたかったのは
・配布しやすそう?
・WEB公開DIRに必要ないファイル(incとか)を置きたくない
 (必要ないファイルの置き場所は自由なため、公開DIRからの相対パス指定は難しい)

確かにインストールスクリプトを一個用意しておけばいい気もしますね・・・
0936nobodyさん2008/11/19(水) 13:10:11ID:???
>>935 需要あれば作るんじゃなくて、
作ったあとに需要あれば使って下さいの方がいいと思うよ。

ぞれより自己解凍PHPってのがなんなのか気になる
0937nobodyさん2008/11/19(水) 13:22:48ID:???
たとえば$msg=htmlspecialchars($_POST['message'],ENT_QUOTES);で、POST(message)を取得したとして、その中身がなかった場合って$msgは存在しないことになるんですかね。
if($msg)ってやったらfalseでした。
それとも$msgってなまえの変数は有っても中身がない場合はfalse?
0938nobodyさん2008/11/19(水) 13:27:45ID:???
htmlspecialchars関数の戻り値ぐらいマニュアルに載ってない?
09399332008/11/19(水) 14:03:57ID:???
>>936
確かに
作ってみます

ありがとうございます

自己解凍PHPとか言ってますが
単純に自身のPHPにファイルやらディレクトリ構成を埋め込んでるだけです
アクセスすると入力域が現れて・・・てな感じです
0940nobodyさん2008/11/19(水) 14:29:26ID:???
> 単純に自身のPHPにファイルやらディレクトリ構成を埋め込んでるだけです
> アクセスすると入力域が現れて・・・てな感じです

それが気になる。ウェブ上からインストールできるってこと?
0941nobodyさん2008/11/19(水) 14:53:34ID:???
インストールスクリプトでないなら意味が分からん.圧縮してんの?
なんで初心者なのに用語を自作するのか
0942nobodyさん2008/11/19(水) 15:21:15ID:???
ひらがな・カタカナ・数字・アルファベット・シフトJIS第一・第二水準漢字
以外の物を調べるにはどうしたらいいですか?
具体的にはJIS補助漢字・第三・第四水準漢字や台湾、中国語などには
エラーと表示させたいです。
0943nobodyさん2008/11/19(水) 15:29:40ID:???
>>942
ttp://euc.jp/i18n/charcode.ja.html
どの文字コードを使うかによって変わると思うけど
こういったとこで範囲しらべて正規表現でチェックするといいかも?

ここも参考
ttp://www.phppro.jp/phptips/archives/vol9/1

0944nobodyさん2008/11/19(水) 15:57:48ID:???
>>943
ありがとうございます。
09459332008/11/19(水) 16:07:24ID:???
>>940
はい、そのとおりです
適当な公開ディレクトリにファイルを一個ぽいっとおいて
アクセスしてWEB上でパスの設定などをしてsubmitすると
設定に基づいて展開したりシンボリックリンクを作ったり文字コード変えたり設定情報を書き込んだりします

>>941
申し訳ない
PHPで自己解凍みたいのできたらいいなイメージから思いついたので・・・
今動いているのは圧縮してないですが、あとでgzipをかけたいと考えています

低機能なインストールスクリプトと思ってください
最低限の設定を行ってさらに設定が必要なら(データベース作るとか)それぞれの設定WEBにリダイレクトします
既存のインストールスクリプトと違うところは
・ファイルひとつだけでOK
・複数台のサーバ配布に対応(scpばらまき)・・・予定(作成中)

結局のところ展開してアップすればええやんって気もしてきましたorz
09469332008/11/19(水) 16:29:07ID:???
似たようなの見つけました
ちょっと機能は違いますがコンセプトは似ているような気がします
ttp://labs.cybozu.co.jp/blog/kazuho/archives/2008/11/post_3.php
0947nobodyさん2008/11/19(水) 19:46:11ID:???
>>933 まずは作ってみようよ
0948nobodyさん2008/11/20(木) 03:17:06ID:???
改行がなくならないように
mb_convert_encodingを使う方法ってありますか?
0949nobodyさん2008/11/20(木) 03:17:23ID:???
なくなんないべ
0950nobodyさん2008/11/20(木) 03:21:12ID:???
>>949
ありがとうございます。
勘違いしていたようです。
0951nobodyさん2008/11/20(木) 04:28:16ID:???
ファイルの最終更新時間のUNIXタイムスタンプを
取得したいのですが、
time()は引数がないのでどうしたらいいですか?
0952nobodyさん2008/11/20(木) 04:31:17ID:???
3行目が意味不明だけど
filemtimeかstat
0953nobodyさん2008/11/20(木) 04:38:25ID:???
>>952
ありがとうございました。
0954nobodyさん2008/11/20(木) 05:24:16ID:???
正規表現でマッチしない行を
削除するにはどうしたらいいのでしょうか。
0955nobodyさん2008/11/20(木) 07:43:03ID:???
マッチした行を連結すればいいだけ
0956nobodyさん2008/11/20(木) 07:54:07ID:???
マッチさせて空白に置換すりゃいいじゃん
0957nobodyさん2008/11/20(木) 14:54:48ID:???
$logは
sample(9)
sample(241)
sample(3234)
などの複数行のファイルでカッコ内の数字が一ケタの場合
その行を削除したいのですが、
$search="/.+\([0-9]\)/";
$log = eregi_replace($search,"",$log);
これだとできません。教えて下さい。


0958nobodyさん2008/11/20(木) 15:21:21ID:???
preg_replace("/.*?\(\d\)\n/", "", $log)

こうかな
0959nobodyさん2008/11/20(木) 17:03:07ID:???
>>958
できないです。
0960nobodyさん2008/11/20(木) 17:16:11ID:???
できました。
0961nobodyさん2008/11/20(木) 17:17:34ID:???
今後のためにもどうやったらできたのか教えてよ
0962nobodyさん2008/11/20(木) 17:24:44ID:???
>>961
すいません。
>>958さんの方法でできました。
他のところが間違えてました。
0963nobodyさん2008/11/21(金) 04:12:35ID:???
$logは複数行あるテキストファイル
$logArray = explode("\n",$log);

for($i=0;$i<=count($logArray);$i++)
{
$dat[$i] = substr($logArray[$i],0,10);
print $dat[$i].'<BR>';
}
結果はちゃんとprintされているんですが、
Notice: Undefined offset: 80 C:\Program Files(略) on line 24
っていうのがでるんです。
24行目は$dat[$i] = substr($logArray[$i],0,10);です
0964nobodyさん2008/11/21(金) 05:54:07ID:???
$logArray = explode("\n",$log);



$logArray = @explode("\n",$log);
0965nobodyさん2008/11/21(金) 07:11:18ID:???
$i<count($logArray)

ループ条件はこうちゃいますのん?
0966nobodyさん2008/11/21(金) 07:17:08ID:???
>>963
大域(forの外)で$datは宣言されてるの?
$dat = array();
あとループ条件は>>965
ちなみにエラーが出たラインの1行前(つまり23行目)に原因がある場合があるから
付近のソースを出すのが望ましい
0967nobodyさん2008/11/21(金) 07:19:59ID:???
$dat[$i] = substr($logArray[$i],0,10);
print $dat[$i].'<BR>';

というかfor文の外で$dat使わないなら
echo substr($logArray[$i], 0, 10);
でいいのでは?
それとも他の部分でも使ってるのかな?
0968nobodyさん2008/11/21(金) 07:31:53ID:???
>>967
何が違う?
>>964-967
つか単に$logArray[80]が無いよって言ってるだけだろ
0969nobodyさん2008/11/21(金) 08:08:07ID:???
>>968
やってることは違わないけど
変数に入れる必要がないってこと
他で使ってるなら別だけど
0970nobodyさん2008/11/21(金) 08:09:10ID:???
>>969
違う前半部分について
もしかしてただの引用か
0971nobodyさん2008/11/21(金) 08:11:48ID:???
>>969
あぁ
>をつけるべきだったね
すまぬ
0972nobodyさん2008/11/21(金) 08:12:25ID:???
>>969じゃなくて>>970
0973nobodyさん2008/11/21(金) 09:24:31ID:???
次スレそろそろ頼む
うち規制中だった
0974nobodyさん2008/11/21(金) 19:13:59ID:???
>>963ですが、>>965さんの方法で解決しました。
$datは使い回すので新しい変数を作りました。

0975nobodyさん2008/11/21(金) 19:35:00ID:???
ほうほう,それで?
0976nobodyさん2008/11/21(金) 22:09:32ID:???
質問

ウチが使ってるレンタルサーバーが

>CGI版をラッパーを使用し
>所有者の権限にて動作させる

>一部の動作で、モジュール版と
>挙動が違う可能性があります。

っていう方式なんだが、これってどういうこと?
0977nobodyさん2008/11/21(金) 23:07:45ID:???
>>976
http://www.google.com/search?num=50&hl=ja&safe=off&q=PHP+CGI+%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB+%E9%81%95%E3%81%84&lr=lang_ja
0978nobodyさん2008/11/22(土) 01:09:16ID:3EI7zmLa
先生方、質問させてください。
以前からHTMLでサイトを作っていたのですが、どうしても静的なものしかできずに
ただ見てもらうだけのサイトしか作れません。
なので、サイト訪問者にデータを追加してもらったりデータの閲覧ができたりと
もっと双方向での情報交換ができるサイトを作りたいと思ってます。
なのでPHPを勉強しようと思っているのですが、今私が目指しているところは
PHPを勉強するという道で間違ってはいないでしょうか?
そして、PHPを勉強するにあたって、わかりやすいお勧めの本やサイトがあったら教えてください。
知識としてはHTMLで見せるだけの簡単なサイトを作れる程度です。
どこから勉強すればいいのかわからないのですが、PHPに入るときに読む本、
PHPを実用的に使えるような本があったら教えてください。
お詳しい先生方、ぜひよろしくお願いいたします。
0979nobodyさん2008/11/22(土) 01:16:08ID:???
>>978
先生でも何でもないけど、PHPマニュアルに勝る良書は無いかと。
http://www.php.net/manual/ja/
PHPは「いかに楽してウェブシステムを作るか?」っていう言語だと俺は思う。
それで良いなら選べば良いしそれが嫌なら他の言語を選ぶといいかなと。

勉強については、まずHTMLの<form>タグの概念が分かってないならそれからまず勉強。
あとは自分が作りたいと思うもの(例えば掲示板)のPHPスクリプトソースをネットから拾ってきて、
それを少し改造してみるとかね。
PHPって良い意味でも悪い意味でも適当な言語なので、多分何とかなると思う。
0980nobodyさん2008/11/22(土) 01:22:31ID:???
PHPでもできるけどPHPだけが選択肢じゃないことに注意
目的のものを達成するPHPのフリーソフトにPukiWikiやXOOPSなんていうものがあったりする
自分で作るより手っ取り早いのはそれらをインストールして利用すること
PHPは公式マニュアルが充実しているのでそれを読むのがお勧め
http://jp.php.net/manual/ja/index.php
また入門本として
PHP4徹底攻略(通称:赤マンモス本)がpdfで無料公開されている
http://www.sra.co.jp/people/t-ishii/php_new/php4_new.html
現時点のPHPの最新版はPHP5でもうじき6が出るので
少し情報は古いがどんなものかをつかむには最適な本なので
無料ということもあるのでちょっとかじる程度に読んでみてはいかがだろうか?
0981nobodyさん2008/11/22(土) 01:57:14ID:???
>>978
まずはxamppのインストールからだな。
インターネットの接続にルーターはかませてるよね?
0982nobodyさん2008/11/22(土) 01:58:07ID:???
>>979
まずはphpを実行できる環境を整えるところからでしょ。
いきなりphpのマニュアルを勧めてどうするの。
0983nobodyさん2008/11/22(土) 02:03:21ID:???
>>978
http://www.google.co.jp/trends?q=php%2Cruby%2Cperl%2Cpython

phpを選択したことは正解です。
0984nobodyさん2008/11/22(土) 02:16:26ID:???
何言ってんだ。
いきなり実行環境を作るより
プログラミングの基礎と概念を理解する方が先だろう。
何でもかんでも手を動かしてやりゃいいってもんじゃない
0985nobodyさん2008/11/22(土) 02:20:06ID:lJIGiW+2
大核本
0986nobodyさん2008/11/22(土) 02:28:04ID:???
>>984
と言って自著を買わせる教授なのであった
0987nobodyさん2008/11/22(土) 02:31:54ID:???
巷の入門本なんて、サンプル載せてさぁ打ってみましょう動いたらあなたもプログラマーです!
みたいなもんばっかだろう
0988nobodyさん2008/11/22(土) 03:24:41ID:???
質問者はこういうことをする場合PHPを使えばいいのか?と聞いていて
PHPを使えばいい場合勉強するにあたってお勧めの本やサイトを教えてくれと聞いてるわけだ
0989nobodyさん2008/11/22(土) 03:25:53ID:???
うん、だからどうした
0990nobodyさん2008/11/22(土) 03:54:53ID:???
キメエっつってんだよ
0991nobodyさん2008/11/22(土) 04:04:23ID:???
実行環境云々は余計なお世話ということだ
0992nobodyさん2008/11/22(土) 04:25:38ID:???
要するに>>981がPG的にもコミュニケーション的にも低脳ってこtか
0993nobodyさん2008/11/22(土) 05:55:15ID:???
揉めるなら新スレ立ててからにしろ
0994nobodyさん2008/11/22(土) 06:36:46ID:???
くだすれPHP(超初心者用)5
http://pc11.2ch.net/test/read.cgi/php/1227303362/
0995nobodyさん2008/11/22(土) 07:04:30ID:???
クラス内の関数に別のphpファイルをincludeして
その中に関数を入れることってできますか?

test.phpの中身が
<?php
class test{
private $_text;
function test()
 {
  $_text = 'abc';
  include 'aaa.php';
  aaa();
 }
}
?>

aaa.phpの中身が
<?php
function aaa()
{
 print $this->_text;
}
?>
0996nobodyさん2008/11/22(土) 08:46:33ID:???
そこまで書いといて実行させない神経が理解できない
マニュアルも読まない神経が(ry
0997nobodyさん2008/11/22(土) 08:56:44ID:???
>>996
aaa.phpの中身を
<?php
print $this->_text;
?>
にすれば実行できるので
どこかが間違っているのか、元々できないのかわからなかったんです。
0998nobodyさん2008/11/22(土) 09:01:58ID:???
関数$aaaはオブジェクトじゃないんだから$thisはnullじゃん
0999nobodyさん2008/11/22(土) 09:31:01ID:???
>>998
どうすればいいんですか?
1000nobodyさん2008/11/22(土) 10:52:28ID:???
1000
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。