くだすれPHP(超初心者用)3
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2007/10/25(木) 16:04:31ID:???もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
PHP使いが優しくコメントを返しますが、
お礼はPHPの布教と初心者の救済をお願いします。
PHP Home Page
http://www.php.net/
http://jp.php.net/
---前スレのテンプレここまで---
前スレ: くだすれPHP(超初心者用)2
http://pc11.2ch.net/test/read.cgi/php/1164617202/
適当に関連スレ(マルチはだめぽ)
【PHP】下らねぇ質問はここに書き込みやがれ 57
http://pc11.2ch.net/test/read.cgi/php/1193062236/
△▲ WebProg 初心者の質問 Part16 ▼▽
http://pc11.2ch.net/test/read.cgi/php/1187729623/
完走したら、雑談スレで待機でどうでしょう
【総合】 Webprog板質問雑談スレッド 1
http://pc11.2ch.net/test/read.cgi/php/1131016915/
0002nobodyさん
2007/10/25(木) 16:05:30ID:???PHPプロ!PHP講座
ttp://www.phppro.jp/school/phpschool/
では、ドゾー
0003nobodyさん
2007/10/26(金) 01:14:43ID:???ほかに無料Webスペースで使えるスクリプト言語が少ないっていう程度
Perlよりわかりやすい言語っていう程度
変な言語仕様だ
即死回避
0004nobodyさん
2007/10/26(金) 01:15:22ID:???0005nobodyさん
2007/10/27(土) 00:52:57ID:???0006nobodyさん
2007/10/29(月) 21:43:11ID:???function hoge(){
$a = array("X", "Y");
return($a);
}
戻り値の 配列の要素にアクセスする場合に、戻り値を一旦変数に入れるのではなく直接参照することは出来ませんでしょうか。
$r = hoge();
print($r[0]);
hoge()[0] //<-- こんなようなこと出来ない?
0007nobodyさん
2007/10/29(月) 22:06:52ID:???0008nobodyさん
2007/10/29(月) 22:51:03ID:???0009nobodyさん
2007/10/29(月) 23:26:14ID:???0010nobodyさん
2007/10/30(火) 01:25:10ID:???0011nobodyさん
2007/10/31(水) 06:13:37ID:???Submitボタンを押すと入力した内容が含まれたtxtファイルのダウンロードが始まる
というようなサイトを作りたいのですがphpで可能ですか?
当り前っちゃ当り前なのかもですがprint関数で試してもファイルを保存ではなく
中身がブラウザに表示されてしまいそれを手動で保存してもらわないといけないので
そこをなんとかしたいです。
0012nobodyさん
2007/10/31(水) 06:35:32ID:???http://jp2.php.net/header
0014nobodyさん
2007/11/01(木) 18:50:02ID:???画像の左右5pxに黒い背景をつけたいのですが
どのようにすればいいのでしょうか?
黒の画像と合成してみましたが画像の端が消えてしまいました。
0015nobodyさん
2007/11/01(木) 19:12:21ID:???0016nobodyさん
2007/11/02(金) 12:05:48ID:???指定したタグをそのまま残して他はhtmlspecialcharsみたいに
そのまま表示をしたい。
そんな関数ある?
0018nobodyさん
2007/11/03(土) 11:41:40ID:???例えば「☆」だと化けませんが「☆あ」だと「?#63908;」みたいに化けます。
なぜですか。
0019nobodyさん
2007/11/03(土) 13:38:29ID:???0020nobodyさん
2007/11/03(土) 16:38:34ID:GrGF3a3n0021nobodyさん
2007/11/03(土) 18:39:13ID:???gattai(Human ore, Human anata) {
return ore.gattai(anata);
}
みたいな?
こういうことやるためには
HumanクラスにgetTypeメソッド
public function getType() {
return "Human";
}
を実装
function gattai($ore, $anata) {
if(is_Human($ore) && is_Human($anata)) {
return $ore->gattai($anata);
} else {
throw Exception();
}
}
function is_Human($human) {
return $human->getType() == "Human" ? true : false;
}
とでもしないと駄目なんかね。
0022nobodyさん
2007/11/03(土) 18:51:02ID:EkQ97k6rメールフォームを作ったんですが、なぜか入力確認画面の表示のところでparser errorが出てしまいます。
# エラーが出ているところ
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
# それより上の部分
function check_html(){
global $homeurl,$title;
if(NAME_FLG){
$name_chk = MARK;
}
if(EMAIL_FLG){
$email_chk = MARK;
}
if(COMMENT_FLG){
$comment_chk = MARK;
}
if($_POST['copy'] == "on"){
$copy_flg = "E-mailで受信する";
}else{
$copy_flg = "E-mailで受信しない";
}
?>
<?php echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
以上ですよろしくお願いします。
0024nobodyさん
2007/11/03(土) 18:55:29ID:???0025nobodyさん
2007/11/03(土) 18:58:57ID:UiuKYuS+デザインとロジックを分けて作ってあるのですが
デザインのhtmlファイル内の各所に
{rval hr} とか index.php?{rval param} のように
{rval --} とあります。
htmlファイル内にphpを埋め込む際は下記のような記述が基本だと思っていたのですが、くくられていなかったりaltタグの中に入っていたりします。これはどういうことでしょうか?
<?php
?>
0026nobodyさん
2007/11/03(土) 19:05:47ID:???まぁ自力でも置換できるけど
0027nobodyさん
2007/11/03(土) 19:06:47ID:EzkHevL1【PHP】下らねぇ質問はここに書き込みやがれ 58 立ててくる。
0028nobodyさん
2007/11/03(土) 19:11:31ID:???0029nobodyさん
2007/11/03(土) 19:15:50ID:???「下らねぇ〜」がない間、ここに居候させてもらってた皆さんは移動。
【PHP】下らねぇ質問はここに書き込みやがれ 58
http://pc11.2ch.net/test/read.cgi/php/1194084457/
0030nobodyさん
2007/11/03(土) 19:18:03ID:???まったく同じように機能するわけじゃないけどね
http://jp2.php.net/language.oop5.typehinting
0032超初心者
2007/11/05(月) 18:43:22ID:s8UgZp9yカウンターを造るところで一つ疑問点が
<?php
$fp = fopen("count.txt", "r+");
$iCount = fgets($fp, 64);
flock($fp, 2);
fseek($fp, 0);
$iCount++;
fputs($fp, $iCount);
fclose($fp);
print $iCount;
?>
だとカウントがあがらない
$iCount++;を$iCount = $iCount + 1;にするとカウントがあがります。
$iCount++;が効かないのかと思いましたが
違うスクリプトで
<?php
$filename = "count.dat";
$file = fopen($filename, "r+");
flock($file,2);
$count = fread($file, filesize($filename));
$count++;
print "$count";
rewind($file);
fwrite($file, $count);
flock($file,3);
fclose($file);
?>
これだとカウントが上がります
どなたか説明していただけないでしょうか
0034nobodyさん
2007/11/05(月) 18:57:07ID:???$iCount++; の動作がおかしいと思ったら、その前後で変数を調べてみればいい
おそらく $iCount に余計なスペースが含まれているのが原因
$i = "1 "; の場合、$i++ ではカウントアップしないが、$i = $i+1; では増加する
あと、flockのタイミングに問題があるのでファイルロックについても一般的なお勉強が必要と思う
0035超初心者
2007/11/05(月) 19:13:14ID:Sif87GT6やっぱり家のは上がらないです。
0036nobodyさん
2007/11/05(月) 19:14:52ID:???0037nobodyさん
2007/11/05(月) 19:18:07ID:???0038nobodyさん
2007/11/05(月) 19:21:01ID:???原因は>>34と似たようなもんだったけど。
同じソースのはずなのにどこの違いで
みんなの結果が違うのかが気になる。
0039nobodyさん
2007/11/05(月) 19:39:54ID:???0041超初心者
2007/11/06(火) 16:36:17ID:blXO/asx<?php
$fp = fopen("count.txt", "r+");
$iCount = fgets($fp, 64);
flock($fp, 2);
fseek($fp, 0);
$iCount++;
fputs($fp, $iCount);
fclose($fp);
print $iCount;
?>
count.txtを変数化しました。$db
そして$iCount=fgets($fp,filesize($db));
にしたらカウントが上がりました。
php5です
0042nobodyさん
2007/11/06(火) 17:01:40ID:???0043nobodyさん
2007/11/06(火) 18:33:16ID:???34氏と40氏のレスが全てだと思う
インクリメント演算子は数値型(intその他)の他に文字型(string)に対しても
有効なんだけど、NULL、boolean以外にコントロールコードを含む文字列に
対しては無効。
だから、PHPスクリプトに読ませるファイルのデータにも注意しないとね。
例えば初期値0を書き込んだファイルの16進ダンプを取った時に
30
のみ書かれている場合は良いけど、その後ろにCR+LFやLFが付いている
30 0d 0a 又は 30 0a
などのデータは余分なコントロールコードを排除しないかぎり
そのままではインクリメント演算子で加算はできないよ。
0044nobodyさん
2007/11/07(水) 12:10:07ID:???(またはその逆のケース)って、どういう場合が考えられますか?
0045nobodyさん
2007/11/09(金) 18:37:25ID:/x/z4zSE200711 2007101 などを
20070101 20071001 に
変換する関数とかってないでしょうか?
ない場合どうやって分離するか教えてください。
0046nobodyさん
2007/11/09(金) 18:40:13ID:/x/z4zSE0047nobodyさん
2007/11/09(金) 18:41:57ID:???0048nobodyさん
2007/11/09(金) 18:49:12ID:???2007年1月10日がきたら「2007110」になるし
2007年10月1日がきたら「2007101」になるし
2007年10月10日がきたら「20071010」になるし
0049nobodyさん
2007/11/09(金) 18:51:54ID:???例えば2007121が
20071201、20071021のどちらかを見分けられないから無理ぽ
取得する時にそのようにするしかないかと
0050nobodyさん
2007/11/09(金) 18:53:49ID:???0052nobodyさん
2007/11/10(土) 00:26:51ID:???PHP5.24では使えないのでしょうか。
4.4.1のサーバーで使えてたファイルを
PHP5.24にアップしたら、エラーがでます。
メールフォームで全角で入力された文字を、
次の確認画面で、半角で表示させたいのですが、
もしmb_convert_kanaが使えないなら、他の方法はありますでしょうか。。。
0053nobodyさん
2007/11/10(土) 01:54:48ID:???mb_convert_kanaはわからんけど、
preg_replaceでがんばってみては。
http://jp2.php.net/preg_replace
もしくは全角が入力されてたらエラーページにいくようにしたりとか。
携帯向けってわけじゃないなら、JavaScriptあたりで、全角のチェックいれてみたり。
携帯だったら、inputタグにistyleとか要素突っ込めば、IMEのデフォルトを半角に出来たりしたきがする。
0054nobodyさん
2007/11/10(土) 02:25:51ID:???使えるよ、変換できるよ
そのサーバーでmbstringが有効になっていて、かつ、mb_convert_kanaに
適切なオプションを引数として渡して駄目ならわからん
0055nobodyさん
2007/11/10(土) 09:18:23ID:???>>54が使えるっていってるし、とりあえず、
phpinfo();
あたりでmbstringが有効になってるか確認することが必要なのかね。
0056nobodyさん
2007/11/10(土) 10:43:48ID:???0057nobodyさん
2007/11/10(土) 11:31:39ID:???phpinfo();でみたところ、
mbstriongが有効になってませんでしたorz
preg_replace、やってみましたが、どう使えばいいのか・・・(汗)。
たとえば身長を全角で入れて、その数字をわり算したいのですが、
全角だとそのわり算部分でエラーがでるので、
半角に事前に変換した上で、わり算に持っていきたいのです。
無難にjavaスクリプトでエラーチェックしたほうがよいのかもですね。。。
0058nobodyさん
2007/11/10(土) 12:02:20ID:kqDw9Pxy0059nobodyさん
2007/11/11(日) 00:35:28ID:???おそくなっちゃったけど
たとえば、全角が表示されてたときにエラーページに行くためのフラグを立てるだけだったら、
if( preg_match("/^[0-9]*$/", $_POST["sincho"]) ){
//半角数字で記述されてた場合
}else{
//それ以外のまちがった記述の場合
}
とかにするとかかな。
preg_replaceで置換する場合は
$str = preg_replace("/A/", "A", $_POST["shincho"]);
とかやると、全角Aで書かれた文字が半角Aになる。
変換表を作って変換させなきゃいけなくてうざいけど。
そして、もっと効率のいい方法があるきがするけど、思いつかなかった。
0060nobodyさん
2007/11/12(月) 00:29:44ID:jDp7PoYPPHPをやろうと思いどうすればできるのかを
調べたのですがどうすればPHPを使えるのかがよくわかりません・・・
apacheを使ってやろうとしているのですが
あるサイトでhttpd.confの中にある文を書き加えるというのがあり
やったのですが上書き保存しようとすると
「フォルダを作成できません。パスおよびファイル名が正しいか
確認してください」と出てきます・・・
それとapacheをstartさせてもerrorと出てきてしまい
どうすることもできません。
わかる方教えてください。
0061nobodyさん
2007/11/12(月) 00:48:04ID:???0062nobodyさん
2007/11/12(月) 02:37:46ID:hPj5yJAtお返事ありがとうございます。
どこがおかしいのでしょうか・・・?
ちなみにhttpd.confの書き換えのやつは保存というか
無理矢理ぶち込んでできたんですが相変わらず
エラーと出ます・・・
というかずっとググってたんですがyahooで検索してみたら
PHPエディタというのが出てきたんですが
初心者はこっちでやったほうがいいんでしょうか
0063nobodyさん
2007/11/12(月) 11:55:27ID:cLhnRAhSよくわからんがSSHで操作するのがいいと思うんだが。
質問です、メールを解析するのに
PEARのMail_Mimeを使う方法ではできました。
これを自分で解析する場合、かなり手間暇かかりますか?
めちゃくちゃアバウトな事言ってるのは承知の上での質問で申し訳ないですが…
0065nobodyさん
2007/11/12(月) 14:14:19ID:cLhnRAhS現状では添付ファイルなど
内容を解析して
本文やヘッダーを抜き出したり
ファイルのアップロード程度です。
この程度なら作れそうかなと思いました。
解答ありがとうございます。
0066nobodyさん
2007/11/12(月) 17:36:32ID:mA3HDDMgエラーになります。なぜエラーになるのか指摘おねがいします。
$dir = "tetess";
$rc = mkdir($dir, 0777);
if ($rc) {
print "成功";
} else {
print "失敗";
}
0067nobodyさん
2007/11/12(月) 17:42:25ID:???0068nobodyさん
2007/11/12(月) 17:43:37ID:cLhnRAhS作ろうと思ってるディレクトリのパーミッションは?
0069nobodyさん
2007/11/12(月) 17:55:22ID:???007066
2007/11/12(月) 18:36:45ID:???無事できました!
意見くれたみなさんありがとうございます。
0071nobodyさん
2007/11/12(月) 19:43:02ID:???0072nobodyさん
2007/11/12(月) 20:46:49ID:???go-pear.bat実行してpear_env.regして、pear.batを実行したら「コマンドまたはファイル名が違います」ってなります。
win98環境です。pearのキャッシュライトは個別にダウンロードして使えてます。
最悪、PEAR::HTTP_Requestを使えるようになれば良いのですが、どうしたら良いでしょうか?
0073nobodyさん
2007/11/12(月) 22:55:28ID:???どうしても使いたいんなら直接落としてrequireしてやれば?
0074nobodyさん
2007/11/12(月) 23:02:11ID:???同時に落さないといけないらしく、だからコマンドで関連性のあるもの一気に落としちゃいましょう的なサイトしか見付ける事が
出来ませんでした…orz
0075nobodyさん
2007/11/12(月) 23:28:42ID:???だったらそれを落としてくればいいじゃない。
それとdocumentぐらい嫁
0076nobodyさん
2007/11/12(月) 23:51:23ID:KsyPxw5Nお返事ありがとうございます。
そのやり方調べてやってみようと思います。
バージョンによってやり方って変わるのでしょうか?
やり方が書いてあるサイトは5.2.3で説明してるんですが
自分は新しい5.2.5をダウンロードしてやりました。
ちなみにそのサイトは
ttp://www.standpower.com/
です。
0077nobodyさん
2007/11/13(火) 02:23:32ID:???ありがとうございます。
Warning: Division by zero in C:\Program Files\Apache Group\Apache2\htdocs\sample\pati\test.php on line 2
Warning: include(php) [function.include]: failed to open stream: No such file or directory in C:\Program Files\Apache Group\Apache2\htdocs\sample\pati\test.php on line 2
Warning: include() [function.include]: Failed opening 'php' for inclusion (include_path='.;C:\php\includes;C:\php\pear') in C:\Program Files\Apache Group\Apache2\htdocs\sample\pati\test.php on line 2
ここから先に進めませんが、どうしたらいいでしょうか?
0078nobodyさん
2007/11/13(火) 18:58:47ID:???まず調べてから言えば?
1番目のエラーは
検索したら3件目に出た。
エラーが2行目にあるんだから2行目に使ってる物をechoでもしてみろ。
2番目も3番目を調べたらすぐわかる。
甘えんな。
0079nobodyさん
2007/11/13(火) 19:03:37ID:???0082nobodyさん
2007/11/13(火) 19:48:42ID:???最初から読む気がないのか、読もうとしたけど読めないのか、読んだ上であえて質問しているのか。
それぞれに対して突っ込みどころはあるんだけども。
純粋に気になる。
008477
2007/11/13(火) 22:03:22ID:???今から調べてみます!
0085nobodyさん
2007/11/13(火) 22:26:14ID:???エラーメッセージは検索窓にフレーズをそのままぶっ込むもんです。
「英語だからわかんない」とか思ってそういう手に走ると
failed to open stream 「ストリームを開くために、失敗されます」
Failed opening 'php' for inclusion 「包含のための失敗した初めの'php'」
余計わからなくなる。
0086nobodyさん
2007/11/13(火) 22:31:28ID:???0087nobodyさん
2007/11/13(火) 23:00:02ID:???「opening」は「初めの」という訳しか思いつかないのかよ。
・ストリームを開くことに失敗しました
・includeで'php'というファイルを開けませんでした
素で疑問なんだが、もしかして現役中学生なの?
高校生なら英語の授業でもっと難しい英文やってるだろ?
正直、プログラミングをやるにはまだかなり早いんじゃないかと。
プログラム言語って英文法の構造を元に設計されているから。それに当然エラーメッセージやドキュメントは英語だし。
英語を先に高校レベルまで勉強したほうがいい。真面目な話。
0088nobodyさん
2007/11/13(火) 23:18:00ID:???0089nobodyさん
2007/11/14(水) 17:43:26ID:???ローカルでサーバを作ったのはいいのですが
PEARなどのパッケージをインストールするのに
SSHなどで起動したいのですが
127.0.0.1やlocalhostで接続しても接続できません。
ローカルの場合どうやって起動すればいいのでしょうか?
Puttyを使ってやってSSHで接続してました。
0090nobodyさん
2007/11/15(木) 10:12:38ID:???と、あるサーバーに対して、Accept-Encoding: gzip リクエストヘッダーを付加して、
GET メソッドにてアクセスし、レスポンスヘッダーに
Content-Encoding: gzip
Content-Length: xxx
と、返ってきたので gzuncompress を使用した所、以下のエラーが…
PHP Warning: gzuncompress(): data error in paipan.php on line 277
使っている PHP は Windows 版の 5.1.6 でマニュアルには、バイナリビルトインされているとの事なので
php.ini は特に編集していません。gzdecode, gzinflate を試しても以下のエラーが…
PHP Fatal error: Call to undefined function gzdecode() in paipan.php on line 277
PHP Warning: gzinflate(): data error in paipan.php on line 277
これは、サーバー側のデータがおかしいのでしょうか?
phpinfo.php の zlib の所はこうなってます
ttp://www.imgup.org/iup502722.png
009190
2007/11/15(木) 10:29:50ID:???fopen のパス名の接頭語に圧縮ストリーム compress.zlib:// ラッパー識別文字列を
付加する事によって、コンテンツを取得した際に解凍されて戻ってきました…
でも、なんかスッキリしない…これで、いいのでしょうか?
0092nobodyさん
2007/11/16(金) 13:25:48ID:???そこで疑問に思う事があるのですが、PEARやSmartyは必要でしょうか?
もちろん使う環境によって違うのでしょうが、oopを理解してPEARなどの各ライブラリのオプションを覚えて使いこなすのは手間に感じてなりません。
初心者の戯言ですが、ご意見お願いします。
0093nobodyさん
2007/11/16(金) 13:34:45ID:???つくれるかどうかだ
0094nobodyさん
2007/11/16(金) 18:43:48ID:???0095nobodyさん
2007/11/16(金) 21:48:15ID:SDmAZVUYまあ初心者相手にそう悶えるな初級者くん
>>92
自分で遊んで使うのには、まったくいらんと思うよ俺は
0096nobodyさん
2007/11/17(土) 01:30:35ID:LKV8TtnR>PEARなどの各ライブラリのオプションを覚えて使いこなすのは手間に感じてなりません。
ライブラリやフレームワークはそういうデメリットがあるよ。
要するに楽して作るためのものなんだけど、そのメリットが上回らないなら使う意味はないです。
それに、内部でどんな処理をやっているのか理解していないとはまることも多いし、勉強中
ならこれらを使わず書いていった方がいいとおもうよ。
PHPの質問はいろんな掲示板で見かけるけど、意味もわからず本か何かのサンプル打ち込んで
簡単なエラーに対処できなかったりトンデモなソース書いたりしてる人多いし。
どういう目的で利用するためのもので、どんなものがあるのか知っていれば十分かな。
習熟したころに思い出して、必要と思ったときに使えばいいと思う。
0098nobodyさん
2007/11/17(土) 10:07:21ID:gYmumvx4するとブラウザ上にスペースができてしまいます。
スペースができない様に書く方法はありますか?
0099nobodyさん
2007/11/17(土) 11:26:53ID:???010098
2007/11/17(土) 12:26:52ID:gYmumvx4物凄く使いにくいです
皆さん改行せずにやっているのでしょうか?
0101nobodyさん
2007/11/17(土) 12:27:32ID:???0104nobodyさん
2007/11/17(土) 19:27:21ID:???0105nobodyさん
2007/11/18(日) 00:06:16ID:7O6DTqoC{
$i = 5;
print $i;
}
{
print $i;
}
?>
一つ目の括弧の終わりでC言語とかみたいに
$iの効果(スコープ)を消したいんですけど、
何か方法がありましたら教えてください。
0106nobodyさん
2007/11/18(日) 00:21:57ID:???0107nobodyさん
2007/11/18(日) 00:35:02ID:???ありがとうございます。
気づかないうちに値を変えてしまっているとか心配したんですけど、
関数にすれば守られるようなので(globalを付けていないから?)、
スタート部分(Cのmainの部分)を出来るだけ短くすれば大丈夫そうです。
<?php
{
$i = 5;
print $i;
Hoge();
}
function Hoge()
{
$i = 10;
print $i;
}
{
print $i;
}
?>
0108nobodyさん
2007/11/18(日) 02:38:24ID:???0109nobodyさん
2007/11/18(日) 15:35:54ID:Quc9Cq5Kunsetしたらその場で必ずメモリは開放されてるんですか?
0110nobodyさん
2007/11/18(日) 15:39:33ID:???0111nobodyさん
2007/11/18(日) 21:13:43ID:???半角スペースで文字列を区切っているテキストファイルを読み込んで
文字列ごとに配列に代入したいのですがどうすればいいでしょうか?
例えば"hoge.txt"を読み込み、その中には
abc def ghi
jkl mno
と書いてあるとすれば、配列aに
$a[0] = 'abc'
$a[1] = 'def'
$a[2] = 'ghi'
$a[3] = 'jkl'
$a[4] = 'mno'
と代入したいです。よろしくお願いいたします。
0114nobodyさん
2007/11/18(日) 22:49:48ID:???原因と解決策を教えて下さいお願いします
0115nobodyさん
2007/11/18(日) 22:57:41ID:???「ブラウザは再度POSTデータを送信しなければならない」という決まり事がある。
でだ、大きく分けて方法は3つくらいある。
1. GETで送ればいいじゃない -> methodをかえる
2. POSTで受け取った後で、どこかに(GETで)飛ばせばいいじゃない -> header('Location〜")
3. 受け取った時に二重投稿か調べて破棄すればいいじゃない -> チケットでゲイツる
0116nobodyさん
2007/11/19(月) 12:57:44ID:IR8ctjgOインターネット接続環境がない所からでも、
http://www.php.net/manual/ja/
↑と同じようなマニュアルが欲しいんですが、ページの下の方にある show source で
1ページずつソース表示させて→コピペ→ファイルに保存 と、しないといけないのでしょうか?
0118nobodyさん
2007/11/19(月) 16:06:42ID:IR8ctjgOレスありがとう。
それだと、Windowsしか駄目だし htmlヘルプはキーワード表示できないし…
できたとしても、htmlヘルプは新しいウィンドウ開いてウザイし…
http://jp2.php.net/search.php?show=quickref&lang=ja&pattern=time
↑オンラインだとこんな感じでキーワード検索できるので、
自鯖に丸ごと持って来れないものかと…
0119nobodyさん
2007/11/19(月) 16:41:48ID:RXlkgnzMインスコ時に含まれてなかったっけ?
0120nobodyさん
2007/11/19(月) 16:43:41ID:???http://www.php.net/download-docs.php
0121nobodyさん
2007/11/19(月) 23:18:25ID:???ただ検索はできないから、関数一覧からページ内検索かけるか、自力で検索組むしかないね。
0122116
2007/11/20(火) 00:00:59ID:bjL1gLBSないです。
>>121
やっぱそうですか…。
show source → コピペ → 保存 じゃなくて、
各ページの show source の URL を GET して、内容を切り出して、〜.php に保存
ってやるしかないようですね…問題は各ページの show source の URL リストをどうするか…
URL に規則性があれば作れると思うけど…
レスくれた人ありがとうございました。
0123nobodyさん
2007/11/20(火) 16:00:42ID:???すまん、いまいちやりたいことが理解できないんだが・・・
Documentをダウンロードしたいだけじゃないの?
中身検索は、Googleデスクトップとかいれとくとか、
なまずでも入れるとかすれば?
0124116
2007/11/20(火) 17:00:33ID:FtfBoc0Zhttp://www.php.net/docs.php
ここでダウンロードできる html とか chm は
http://www.php.net/manual/ja/
↑こことは違うでしょ。んで、ここのマニュアルのシステムを丸ごと
自分の所のサーバーにおいて使いたかった訳。(←これが本来の質問の趣旨)
それを行うにはページの下の方にある show source で、
いちいち .php を保存しないといけないのかなって聞いたの。
html はベタな html だけでサーバーに入れて使えるけど、検索できない
chm は検索できるけどプラットフォーム依存。使う所にコピーしないと使えない
(直す方法は知ってるけど、いつまでたっても文字化け直らない)
show source の URL リスト取得する方法考えてたんだけど、(スクリプトは途中まで作った)
html をサーバーにぶっ込んで、それを検索させるシステムを作る方が楽な気がしてきたなぁっと…
0125nobodyさん
2007/11/20(火) 17:36:23ID:???0126nobodyさん
2007/11/20(火) 18:31:45ID:???0128nobodyさん
2007/11/21(水) 00:17:45ID:???0129nobodyさん
2007/11/21(水) 08:53:29ID:gCXzQuZ6呼び出してるファイルにも余分なスペースは書いてないのですが、
スペースをなくす方法教えてください
0130nobodyさん
2007/11/21(水) 10:05:52ID:???そうでないならrequire_onceを入れた場所もしくは前後に
スペースが必ずあるのでそれを探してとるとなくなります
っとしか回答できない
0131129
2007/11/21(水) 10:43:02ID:???変数内にホワイトスペースがなく、require_onceの前後にもスペースはありません
タブでインデントしかしていないです
0132nobodyさん
2007/11/21(水) 11:53:49ID:???URL取得ならireaとかのダウンロード用のフリーソフトで
軒並みおとせば?
ローカルでの検索なら、なまずとかで十分だと思う
0135たまま
2007/11/21(水) 21:44:06ID:ACwa23UP'火, 13 11 2007 17:04:12 +0900'を'2007.11.13'と変換して表示したいのですが
うまくいきません。どうしたらいいでしょう
0136nobodyさん
2007/11/21(水) 21:53:22ID:???0137129
2007/11/22(木) 09:00:06ID:???BOMで検索してutf-8nにしたら一端はスペースが消えましたが、
また戻ってしまいます。
もう一度require_onceなどで呼び出すファイルなどを見直すと、
sjisなどに戻ってるのでそれが原因かもしれません。
使用エディタが悪いから戻るのでしょうか?
一応使用エディタはJmEditor2です
0140フリーメール
2007/11/23(金) 03:08:36ID:6ZV7uhRmプログラムを書いたことはなく、
既存のスクリプトを設置したり、プログラマに改作をお願いしたりすることがあり
多少のスクリプト(フォームからcsvに保存するスクリプトなど)のソースコードが
何をしてるのかはなんとなくで読める程度の知識しかありません。
最終的には携帯向けフリーメールシステムを作りたいと思っています。
仕様としては、
・3キャリア対応で絵文字が使える
・マイページ機能を持ち、受信BOX、送信BOXをウェブで確認できる
・メール送受信はxxmailと同仕様
(docomo.ne.jpに送る場合docomo.xxne.jpにして送信すると送信元アドレスは[ユーザID@xxne.jp]になる)
(キャリアアドレスからメールを受信した場合はFromが
[送信者アカウント@docomo.ne.jp]⇒[送信者アカウント@docomo.xxne.jp]と自動変換される)
改行が多すぎると言われたので続きます↓
0141フリーメール
2007/11/23(金) 03:09:28ID:6ZV7uhRm・アラートメール本文中にマイページへのURL付与
・マイページはユーザ専用URLを発行(ログイン不要)
・PHP+MySQLで作りたい
・アドレスはユーザID@ドメインで発行
・3キャリアのドメインに対してメールを送信した場合に限りポイント付与
・メール本文内、ユーザマイページへのテキストリンク広告挿入機能
・広告挿入は管理画面からおこなえる
・登録フローは
空メール送信⇒自動返信による登録フォームURL返信⇒フォーム入力⇒本登録完了メッセージ自動返信
・受信拒否ワード設定機能(マイページにて設定)
・指定受信設定(マイページにて設定)
・本文中にURLがある場合受信拒否(マイページにて設定)
・登録情報更新機能
・獲得ポイント確認画面(マイページにて)
・タイマー送信機能(マイページにて設定、指定した時間にメールが送信される)
・メーリングリスト作成機能(マイページにて設定)
・デコメ送信機能
こんな感じです。
これを1からプログラミングする場合、
もちろんPHPの学習だけでなくサーバ、DBについても知識を得る必要があるかと思いますが、
オススメの書籍(これらがわかりやすいんじゃない?系の)を教えていただけませんか?
0142nobodyさん
2007/11/23(金) 04:40:03ID:???0144nobodyさん
2007/11/23(金) 13:01:58ID:???0145nobodyさん
2007/11/23(金) 13:28:18ID:GKdORPfqやってます。
0146nobodyさん
2007/11/23(金) 13:46:39ID:???人格に問題があるのではアルマイカ?
0147フリーメール
2007/11/23(金) 13:52:01ID:6ZV7uhRmもちろん自分のやる気と取れる時間にもよると思いますが・・・
0148nobodyさん
2007/11/23(金) 14:13:40ID:???夏休みや冬休みの宿題は計画的にやってたとか、
そういう資質がないと無理だなw
0149nobodyさん
2007/11/23(金) 14:34:58ID:???>> オススメの書籍(これらがわかりやすいんじゃない?系の)を教えていただけませんか?
書籍についてならスレがあるぞ。
【PHP関連の書籍 第4版】
http://pc11.2ch.net/test/read.cgi/php/1193320657/
0150nobodyさん
2007/11/23(金) 15:06:10ID:???0151nobodyさん
2007/11/23(金) 18:02:31ID:???$_SESSION["hoge"];
と、あらかじめセッション変数に変数名を登録してから使う必要はありますか?
0152nobodyさん
2007/11/23(金) 18:16:51ID:???0153nobodyさん
2007/11/23(金) 18:30:19ID:???まぁ「プロ」グラマじゃないからいいんだが。
0154nobodyさん
2007/11/23(金) 19:29:41ID:GKdORPfq0156151
2007/11/23(金) 22:45:18ID:???値を代入する前に、このセッション変数を使うと言う事で、
先に$_SESSION["hoge"];とやっておかないといけないのかと言う意味です。
すいません説明下手で;
0158151
2007/11/24(土) 13:45:26ID:???ありがとうございます
すいません質問もう2つお願いします
セッション変数に入れた値に保持してられる期限などはありますか?
しばらく日にちがたってセッション変数に格納してあった値が無くなるみたいな
これ最後ですすいません
セッション変数$_SESSION[hoge]を一人の人がショッピングなどに利用していた場合、
同じドメイン上のページで違うユーザによりunset($_SESSION[hoge])が実行された場合、ショッピングに使っていた内容も使用中に突然消えてしまいますか?
もしそうならユーザ別にセッション変数名を変える必要があるとなるのでしょうか
0160nobodyさん
2007/11/24(土) 14:35:00ID:???どうやればいいか、っていうのはわかるんだけどね。。
いくら練ってみても、このコーディングでいいのだろうか、とか思ってしまう。
別に仕事でやってるわけじゃないからスランプ上等なんだけど。
経験を踏んでいけば、大丈夫なのかな……
0161nobodyさん
2007/11/24(土) 14:36:42ID:???0163nobodyさん
2007/11/24(土) 14:48:50ID:???いわれた通り、自分のコーディングみてやる気なくして放棄してたらダメ人間だよね。
根を鍛えなおします。
スレ汚し
0164nobodyさん
2007/11/24(土) 15:30:51ID:sQgHrbH/0165nobodyさん
2007/11/24(土) 17:55:00ID:???このようにして更新履歴を表示させるとき
上から3行目だけを取り出すにはどうすればいいでしょうか?
0166165
2007/11/24(土) 17:55:52ID:???<?php include_once("news.txt") ?>
このようにして更新履歴を表示させるとき
上から3行目 まで を表示させるにはどうすればいいでしょうか?
0168nobodyさん
2007/11/24(土) 18:04:28ID:???0170nobodyさん
2007/11/25(日) 13:13:37ID:???stripslashesとmysql_real_escape_stringで加工すれば十分安全ですか?
0172nobodyさん
2007/11/25(日) 14:06:45ID:???おお!そんなのもあるんですね〜
文字か数値どちらが含まれるかわからない場合には必要ないですかね?
文字をintvalで加工すると数値になりますか?
0174nobodyさん
2007/11/25(日) 14:35:16ID:???%は別にエスケープ。
0175nobodyさん
2007/11/25(日) 22:47:46ID:???その【普通】がわからないんでこのスレで質問させてもらってます
>>174
ありがとうございます
セッション使ってればhidden使う場面ってなくなりますよね?
0177nobodyさん
2007/11/26(月) 11:38:04ID:???0180166
2007/11/26(月) 17:20:47ID:???ありがとうございました
0181nobodyさん
2007/11/28(水) 11:50:37ID:???Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
0182nobodyさん
2007/11/28(水) 12:23:50ID:2JTXr2aQsql構文が間違ってないか、データベースに接続してるかを確認すべし
0184nobodyさん
2007/11/28(水) 20:08:39ID:OEBZIrSP0186nobodyさん
2007/11/28(水) 21:03:49ID:OEBZIrSP0187nobodyさん
2007/11/28(水) 21:07:07ID:???0188nobodyさん
2007/11/29(木) 12:07:16ID:???0190188
2007/11/29(木) 14:36:24ID:???$_SESSION["test"] = 1;としてページをhrefで移動
移動先で
if($_SESSION["test"] == 1) {header("location: test.php");}
として分岐したいのですが、ドコモは思うようになってくれません
auはなりましたけど、sbは未検証です
セッションID引き回すの意味を自分は間違えてますか?><
0191nobodyさん
2007/11/29(木) 16:12:05ID:???セッションもクッキーも「あんだよてめえ」としか思ってません
だから使えません
0193190
2007/11/29(木) 23:29:42ID:???移動先でgetで取得する訳ですね、なるほど
隠して送るのは無理なんですね、セッションがあるのに残念です
>>191-192
ありがとうございました
0194nobodyさん
2007/11/29(木) 23:36:22ID:YlYVK+goローカルでテストしている状態ですが、move_uploaded_fileでファイルをアップロードさせようとし、
if (!move_uploaded_file($uploadfile, '$PHOTOTMP$imagefile')) {
$errmsg .= "写真ファイルのアップロードに失敗しました。<BR>";
}
というソースを書いています。
実行するとエラーメッセージは表示されないのですが、指定フォルダに画像ファイルが移動されていません。
上記のスクリプトはC:\Program Files\Apache Group\Apache2\htdocs\testに置いてあり、
画像ファイルの一時フォルダとしてC:\Program Files\Apache Group\Apache2\htdocs\test\phototmp
を作ってます。
変数の中を見ると、
$uploadfileには、C:\WINDOWS\TEMP\php89.tmp
$PHOTOTMP$imagefileには、phototmp/1196345782078128.jpg3
が入っていますが、C:\Program Files\Apache Group\Apache2\htdocs\test\phototmpに画像ファイルが移動
していないのは何故でしょうか?
よろしくお願いします。
0195nobodyさん
2007/11/30(金) 02:31:54ID:???とりあえず
"$PHOTOTMP$imagefile"
0197193
2007/11/30(金) 14:57:38ID:MLIN4mxfあらら><そうなんですか…
公式マニュアルのとこ読みなおしてみます
0198nobodyさん
2007/12/01(土) 21:15:29ID:HxBCRCSR0199nobodyさん
2007/12/02(日) 12:20:00ID:???アクセスをやり直すとカウントは1しか上がらないのですが
そう言うものなのですか?
0200nobodyさん
2007/12/02(日) 12:23:24ID:???0201197
2007/12/02(日) 13:19:32ID:???脳味噌がオパピーです教えて下さい
クッキーが使えないドコモなどで、セッションIDを受け渡す方法として、
URLに定数SIDを入れる方法とhiddenで渡す方法はわかったのですが、
セッションid以外の情報も持って移動したい時はどうすればいいのですか?
0202nobodyさん
2007/12/02(日) 13:23:39ID:???具体的には何?
0204nobodyさん
2007/12/02(日) 13:34:42ID:???0205197
2007/12/02(日) 13:43:11ID:???セッションidは本人確認の為に受け渡します。
1のページからきたユーザが、2のページへ移動してきたユーザと同一かどうかを確認するためです
0206nobodyさん
2007/12/02(日) 14:01:15ID:???セッションIDは、サーバが持っているデータを引き出すための鍵のようなもの。
鍵を持ってる事自体を本人確認に使うこともあるし、
その鍵でサーバからデータを取り出す事もできる。
0207nobodyさん
2007/12/02(日) 14:06:55ID:???0208197
2007/12/02(日) 14:11:23ID:???意味間違えてるんだと思います…
サーバーにセッションidを使って情報を持たすのは、一度にいくつでも可能ですか?
またオパピーです
0209nobodyさん
2007/12/02(日) 14:27:32ID:???0211nobodyさん
2007/12/02(日) 15:46:34ID:???0213nobodyさん
2007/12/07(金) 23:57:59ID:???この「移動」って具体的に何を示してるの?
なんで、質問者に質問しないといけないような質問するの?
0214nobodyさん
2007/12/08(土) 01:52:51ID:???0215nobodyさん
2007/12/08(土) 02:19:56ID:???0217nobodyさん
2007/12/16(日) 07:29:41ID:nJrEMZh9Smartyテンプレートの実際に使われる基本的なパターン(中身)を教えてもらえませんか?
正直、プログラムに関してはスーパー初心者です。一応、PHPやperl・正規表現についての理屈は、昨日、斜め読みでざっと把握しました。しかし、全くSmartyへの理解にはつながりません。
Smartyを理解するヒントとして実際のテンプレートの記述とそのパターンなど提示していただけると助かりるのですが‥。
Smartyというのは、例えば、既に記述されたHTMLを差し替えて表示したり、コンテンツ構成を根本から修整したりできるのでしょうか?
0218nobodyさん
2007/12/16(日) 08:06:15ID:???普通にPHPで「<title><?php echo $title ?></title>」とかでもいいだよ。
デザイナさんで、Smartyのテンプレートファイル弄る必要があるなら別だけど。
0219nobodyさん
2007/12/16(日) 08:58:24ID:???アドバイスありがとうございます。
> その前に、Smartyを使う必要があるの?
> デザイナさんで、Smartyのテンプレートファイル弄る必要があるなら別だけど。
私はデザイナーではありませんが、テンプレートを利用し利用者が自由にコンテンツデザインを選択できることは非常に重要なポイントになります。Smartyは、その点に長けていると聞いたのですが、実際、どうなのか?と。
> 普通にPHPで「<title><?php echo $title ?></title>」とかでもいいだよ。
PHPとSmartyは、ある程度出来ることは似ているのでしょうか? 私としては、body内のタグ構成を丸ごと置換出来るならば、PHPでもSmartyでもかまわないのですが、Smartyがデザイン的に有利ならば、やはりSmartyを活用したいと考えています。
とりあえず、もう少し自分で探ってみた方が良いみたいですね。ありがとうございました。
0222nobodyさん
2007/12/18(火) 06:49:50ID:???Smartyのメリット(使い方)
1.PHPスクリプトで動的に表示させるデータを生成(あるいはDBから取得)する。
2.Smartyテンプレートファイルと呼ばれる、HTMLの中に1.の変数を書き込
めるタグ(記号)を書いたファイルを用意する。
3.PHPスクリプトから、そのテンプレートファイルを指定して表示させると、
あら不思議、HTMLの中にPHPの変数が表示されるじゃないか!
4.テンプレートファイルの記述では、データ量に応じて表示をループさせたり
できるので、たとえば実行するまで何行のテーブルを表示させることになるか
わからない行データも、スッキリとテンプレートファイルに書けるぞ!
5.おまけに、テンプレートファイルを複数用意すれば、PHPスクリプトを修正する
ことなく、いろんなデザインの表示に切り替えられるよ!
こんな感じ。ご参考になったかなぁ?
0223nobodyさん
2007/12/18(火) 21:22:45ID:???0224nobodyさん
2007/12/19(水) 01:53:46ID:???0225nobodyさん
2007/12/19(水) 16:07:10ID:DnDjbDYhアクセスカウンタを例にしますと、
テキストのログファイルを読み込ませるほうがよいのでしょうか?
この程度でもDBと連携させたほうが効率が良いのでしょうか?
簡単なものはテキスト、中規模以上はDBって感じでしょうか?
小さくてもアクセス頻度が高い場合はDBのほうが安全なのでしょうか?
速度、鯖の負荷、その他ありましたら教えてください
よろしくおねがいします
0226nobodyさん
2007/12/19(水) 19:32:38ID:E60FAw4DHTMLのタグ内でのダブルクォーテーションの扱いに困っています。
<input type="hidden" name="gid" value="<?php echo "abc_" . $gid; ?>">
value="<?php echo "abc_" . $gid; ?>"←この部分ですが、value=の次はPHPに処理が進むので
その中に再びダブルクォーテーションを使っても大丈夫ですか?というか文法的に間違いじゃないですか?
よろしくお願いします。
0228nobodyさん
2007/12/20(木) 02:40:21ID:g0oPtWoH__,,/ _, ----`ヽ :.
:. / _ ___ 、\
/ / i \ \\ :.
:. ,'./ i ヽ:. ヽ:.:.. ヽ.ヽ
,'/ / .ハ ヽ ヽ:.:.:.:. ヽ::.. ヽヽ :.
:. |i .i i .i / ヽ ト 、 \、:.:.:. ',:.',:.:.lヽ}
|i .i l :N_, -弋 \弌弋ナ:}:.:}
:. |i∧ ', :{ ,ィjモト \ イjミトイイV :. な…
.| :メヽ.', `ozZ} izN。ハ::{ なんでですか?
:. | :ヾ_! ゝ "゙゙ ' `゙ ハ.:', :.
| :.:_イ .:.ヽ. (二フ , イ :.:.:!:.ヽ なんでだれも
:. / rィイ | :.:.ヽ: >r/`<ノ .:.::.}ヽ、\:. 答えてくれないんですか?
/ ∧l;l ! :.:.:.://{二 ̄ .} ..:..::リ//ハ.:\
:. / .{. ',ヾ、ヽi .:.:.{ /(^` |.:.:.:.//: : :.}: . ヽ.:.
/ / ) ヽ ヾ、ヽ:.ハ ヤ{ ∧/.-‐'": : |:.:. i ',
./ .,イ .:..} : :\ヾレ'ハ ∧__ノノハヾ、 : : : l:.:.: .ハ ',
{ /| .:.:ハ : : :i Y {ヾ`Yヽニン'ノ}: : } : : : :/:.:.:/ }:.}
V | .:.:/:.:|_,ィ' ̄ ヽ三{ `ー-ノ : イ : : :/:.:i.:{ リ
ヽ:.:{、.:.V : : ヘ : : {: : :/:.::∧|
ヽ! )人 : : :人 : : : / \! :.
" ヽ : : : : :/イ{ :.ノ: : : :.\ :.
:. \__///: :\______/: : : : : : : ヽ
/ //: : :|;|: : : : : : i: : : __: : : : ',
:. / 、 {;{ |;| . : i/. : : : : : :|
/ `Y;{. . . .|;|. : : : /i: : : : : : : : :l
0229nobodyさん
2007/12/20(木) 03:00:52ID:???0232nobodyさん
2007/12/31(月) 16:42:06ID:???というタグがあるとして
''の間の ./index.php を表示させる
というふうにするにははどうすればいいでしょうか?
0234nobodyさん
2008/01/04(金) 12:59:42ID:???http://www.jonasjohn.de/lab/htmlsql.htm
0236nobodyさん
2008/01/06(日) 23:18:22ID:???"hoge" => 0 ,
"poge" => 0 ,
"moge" => 1 ,
.
.
"hohe" => 3
)
を
$contents = array(
0 ,
0 ,
1 ,
.
.
3
)
にしたい場合はどんなふうに描けばいいんでしょうか?
0238nobodyさん
2008/01/11(金) 04:17:35ID:???http://hogehoge.jp/~hoge/index.php
上で、
http://hogehoge.jp/~hoge/
という文字列を取得してくる関数か何かは無いでしょうか?
$_SERVER変数の中にはそれらしいものがなかったので・・・
0239nobodyさん
2008/01/11(金) 04:22:37ID:???0240nobodyさん
2008/01/11(金) 04:59:28ID:???それがなかったんですよ。
$_SERVER['PHP_SELF']だと "/index.php"
$_SERVER['SERVER_NAME']だと "hogehoge.jp"
$_SERVER['DOCUMENT_ROOT']だと "/public_html/index.php"
ほかは何か違うし・・・
"http://"はともかく、"hogehoge.jp/~hoge"は取ってきたいんです。
0241nobodyさん
2008/01/11(金) 06:12:58ID:???http://jp.php.net/manual/ja/function.dirname.php
http://jp.php.net/manual/ja/function.parse-url.php
0242238
2008/01/11(金) 11:30:21ID:???いや、だから、絶対URLを取得したいんですよ。
いまテストしているサーバから別のサーバに移植する予定なので、
動的にとってこさせるようにすればわざわざURL部分を書き直さなくても
済むだろうと思いまして。
何をしたいかと言えば、特定のディレクトリに置かれているファイルを、
階層の違う別々のディレクトリから参照したい、と思いまして。
ttp://hogehoge.jp/~hoge/movie/movie.flv
を、
ttp://hogehoge.jp/~hoge/aaa/pagea.php
ttp://hogehoge.jp/~hoge/aaa/bbb/pageb.php
ttp://hogehoge.jp/~hoge/aaa/bbb/ccc/pagec.php
など、どの階層に置いても同じ記述で/movie下の任意をファイルを参照する、という。
movie.flvをどこに置くかは決まっているので、hogehoge.jp/~hoge/さえ取得できれば
参照させられるんです。
相対パスだと、ひょっと別のディレクトリに置くと、パスを書き直さなきゃならないんで
移植が面倒になるな、と。
あえて言うなら、parse_urlに渡すURL(そのPHPファイルの絶対URL)を動的に取得したい
ということです。URLを解析したいわけではないんです。
0243nobodyさん
2008/01/11(金) 12:08:38ID:???0244nobodyさん
2008/01/11(金) 18:17:35ID:mLMFZoBjPOSTでデータを送って暗号化などしてデータベースパスが一致したらログイン。
このソースで大丈夫なのかどうか不安です。
a.html→(ここ)→b.php
(ここ)でデータを盗むことができたりするのでしょうか?
これでいいならSSLの必要性がイマイチわかりません。
a.html
<html>
<head>
<title>test</title>
</head>
<body>
<form action="hogehoge.php" method="POST">
<input type="text" name="id">
<input type="password" name="pass">
<input type="submit" value="送信">
</form>
</body>
</html>
b.php
<?php
$pass = $_POST['pass'];
$pass = strip_tags($pass);
$pass = htmlspecialchars($pass, ENT_QUOTES);
$pass = md5($pass);
$pass = substr($pass,0,10);
-------データベースからmd5で暗号化されたデータを引き出して認証-------------
?>
0245nobodyさん
2008/01/11(金) 18:21:23ID:???0246nobodyさん
2008/01/11(金) 18:21:32ID:mLMFZoBjhttp://www.soumu.go.jp/joho_tsusin/security/kiso/k01_ssl.htm
> 通信途中でデータを傍受されると、情報が第三者に漏れてしまう可能性があります。
a.html→(ここ)→b.php
(ここ)でデータが取れるとこのサイトでは言ってるわけですよね?
では、パスワード漏洩しないには具体的にどのようにすればいいのでしょうか?
よろしくお願いします。
0247nobodyさん
2008/01/11(金) 18:23:32ID:???0248nobodyさん
2008/01/11(金) 18:29:13ID:mLMFZoBj漏洩したくないなら金をそこで使うのは当然なのはわかります。
しかし、実際sslを使用していない認証はたくさんあると思います。
そのようなサイトは漏洩する可能性が高いと見て良いのでしょうか?
例 (mixi)
http://mixi.jp/home.pl
0250nobodyさん
2008/01/11(金) 18:35:41ID:mLMFZoBj見落としてた…orz
え、じゃあ今までhttpsでやってなかった俺のパスワード&アドレスは
漏洩してる可能性あるってこと?
なんでデフォルトがhttpsじゃないんだよ(´・ω・`)
0251nobodyさん
2008/01/11(金) 19:01:52ID:???PHPは参考書読む程度なんですが
開発現場ってどんな感じで作業進めるのでしょうか?
0252nobodyさん
2008/01/11(金) 19:48:43ID:???0254nobodyさん
2008/01/11(金) 21:04:07ID:mLMFZoBjなるほど
<input type="text" name="pass1">
<input type="hidden" name="pass2">
document.pass2.value = md5された文字
色々省略してますがこんな感じで飛ばせばOKということですね?
これでセキュリティに問題ないならやってみようと思います。
0255nobodyさん
2008/01/11(金) 22:37:14ID:???ていうか、質問者もそのレベルならセキュリティ意識する必要ないし(しても対処できないのが落ち)
、回答者もひどすぎる。
とにかくSSLにすればいい。証明書を第三者機関に発行してもらうのはウェブページの信頼性を保障してもらうため。
別に俺のことは俺が保障するっていうなら俺俺証明書でOKなわけ。
それじゃ普通は駄目だから金払う。
0256nobodyさん
2008/01/11(金) 23:07:26ID:???JavaScript切ってたら、mixiでいう「SSL(https)はこちら」を
選択しないのとそう変わらんだろうに
暗号化して送信するかしないかをユーザに任せるという意味ではね
SSLだって人によっては切ってるかも知れんぞw
0257nobodyさん
2008/01/11(金) 23:32:11ID:???その例、なんとなく勘違いしてそうだが、
入力されたパスワードをsubmit時にJavaScript側で
md5にしてからPOST送信すんの
分からんかったら調べるなりJavaScriptスレへ
0258238
2008/01/12(土) 00:10:38ID:???hogehoge.jp/~hoge/が取得できましたorz
何を見てたんだ俺は・・・
どうもご迷惑おかけしました。
0259238
2008/01/12(土) 00:17:48ID:???どうもたびたび申し訳なく・・・
0260nobodyさん
2008/01/12(土) 00:28:49ID:???REQUEST_URI はやめといた方がいいんじゃね
素直に
substr($_SERVER['REQUEST_URI'], 0, strrpos($_SERVER['REQUEST_URI'], '/'))
とかじゃダメなん?
0261nobodyさん
2008/01/12(土) 00:29:36ID:???0262238
2008/01/12(土) 01:23:53ID:???SCRIPT_URIは確かサーバの環境依存じゃなかったですか?
移植先はレンタルサーバなので、Apacheの設定を弄らせてもらえるか
微妙なんです。未だにどこに移植するか決まってないという。
自鯖にすれば設定し放題ですが、さすがに管理が・・・
/~hoge/句がつくかどうかも微妙ですし。
最悪、DBに絶対URLを格納しておいてそれを使うようにすると言う手を考えつきました。
まあとりあえずREQUEST_URIでやってみます。問題が起きたらDB方式に。
文字列エンコードすればXSSも何とか回避できるでしょうし。
ありがとうございました。
0263nobodyさん
2008/01/12(土) 01:45:55ID:???GDが読み込まれません。
php.iniの設定箇所のコメントを外す以外に何か設定が必要でしょうか?
0264nobodyさん
2008/01/12(土) 06:37:20ID:???0265263
2008/01/12(土) 17:40:18ID:???ApacheはもちろんWindowsも再起動してみましたが反映されません。。。
php.ini以外にさわる箇所あるのでしょうか?
0266nobodyさん
2008/01/12(土) 18:50:14ID:???extension_dirの指定が間違ってるとか、GDの共有ライブラリが入ってないとか
0267nobodyさん
2008/01/12(土) 19:22:51ID:???php.ini はどこを変更したの?
0268263
2008/01/13(日) 06:15:16ID:???>>266
extension_dirの指定はmbstringの設定が有効なので良いと思うのですが。
ライブラリはphp_gd2.dllですよね?それなら入っています…
>>267
反映についてはphpinfoにgdの項目が出てこなく、関数も使えないのでそう判断しています。
php.iniはextension_dirのコメントを外しました。
0269nobodyさん
2008/01/13(日) 10:02:45ID:???phpinfo()でどこのphp.iniを使っているか表示されるけど、それは一致してる?
0270nobodyさん
2008/01/13(日) 10:42:53ID:???0272263
2008/01/13(日) 23:05:13ID:???ビンゴでした。
なぜかiniファイルの読込先がC:\windowsに。。。
ここは変更できるのでしょうか?
一応、この場所にiniファイルを置きましたところ、GDの読み込みには成功いたしました。
ありがとうございました。
0273nobodyさん
2008/01/14(月) 02:36:12ID:???0274nobodyさん
2008/01/14(月) 07:49:03ID:???0275nobodyさん
2008/01/15(火) 04:28:15ID:???100Mくらいのファイルを取り込むのに、時間が40分くらいかかって
メモリーも2Gくらいを、PHP.iniに書かないと途中でとまるんですが、
PHPってスピードとか、メモリー使用量ってこんなもんでしょうか?
0276nobodyさん
2008/01/15(火) 04:31:00ID:???0278nobodyさん
2008/01/15(火) 09:57:33ID:???時間がかかっているのは激しくスワッピングしてるからだと思われ
普通はデータ量が大きいときは漸次処理して負荷を減らすもの
0279nobodyさん
2008/01/15(火) 12:28:56ID:???のように数字に「,」が入ってるときに、数字のみを取り出すにはどうすればいいですか?
0280nobodyさん
2008/01/15(火) 13:14:35ID:???0281nobodyさん
2008/01/16(水) 11:56:16ID:sJoxzvRtたまにttp://example.com?aaaと言うようなURLを見るのですが
クエリ情報を受けとるファイルでは$_GET[?]で受けとっているのか教えて下さい
0282nobodyさん
2008/01/16(水) 13:16:39ID:???mod_rewrite 使ってることもありえる
0285nobodyさん
2008/01/17(木) 11:15:01ID:???0286nobodyさん
2008/01/17(木) 12:05:56ID:???0287281
2008/01/17(木) 13:56:22ID:???>>282さんの
index.phpに空の$_GET[aaa]をおくと言うのを
試してみたのですが意味がわかっていないせいか何も変わりませんでした
もう少し詳しく説明お願いしていいですか?
お手数かけてすいません
0289nobodyさん
2008/01/17(木) 15:15:36ID:???リクエストされた場合、ファイル名がないのでウェルカムファイルがリクエストされたと
判断される。 /でリクエストすると/index.phpが読まれるのと同じ理屈で/?aaaの場合は
処理を行うスクリプトはindex.phpで、クエリとしてaaaが渡されると思う。
で、クエリは本来/?aaa=valueというようにフィールドとその値になってるけど、この
場合は値がないので、変数名は$_GET[’aaa’]となりデータは空の文字列
ということになるとめでたくね?データは空だから何も受け取ったことにはならないけど
連想配列のキーの有無で違いが出るので、!isset($_GET['aaa'])としてやると
/?aaaなのか/?bbbなのかは区別できるような木がする
0290nobodyさん
2008/01/17(木) 15:27:11ID:???0291nobodyさん
2008/01/17(木) 23:00:15ID:AXahQPv7クエリ情報を受けとるファイルでは$_GET[?]
ttp://example.com?aaa
は
ttp://example.com?bbb=aaa
で通常は$_GET['bbb']で受け取ります
そのサーバでどこかに$_GET['bbb']を受け取るファイルがあるのです
0292nobodyさん
2008/01/19(土) 12:56:29ID:???どこからbbbが出てくるんだよw
?aaaは$_GET['aaa']として入ってくる
データ内容は確かnullのはず
issetでチェックはできるけどな
0293nobodyさん
2008/01/19(土) 13:00:52ID:???もちろんbbbかどうかは知らないけど
0294nobodyさん
2008/01/19(土) 13:09:31ID:???/aaa/とかにすると思うが
0295nobodyさん
2008/01/19(土) 13:14:21ID:???何が問題なんだ?
0296nobodyさん
2008/01/20(日) 17:11:47ID:???($mode ? 'OK' : 'NO')
という分岐?が出てきたのですが
この方法の名前は何というのでしょうか?
調べようにも名前が判らず困ってます
0297nobodyさん
2008/01/20(日) 17:19:56ID:???0298nobodyさん
2008/01/20(日) 17:21:32ID:???http://jp.php.net/manual/ja/language.operators.comparison.php#language.operators.comparison.ternary
0299nobodyさん
2008/01/20(日) 21:00:02ID:???結構サポートしてる言語あるぞえ
0300nobodyさん
2008/01/21(月) 00:37:42ID:???スケジューラー作ってます。
最近利用している人から、見ていたらお前のログイン状態が出てきたぞと
言われ、キャプチャされた内容が送られてきました。
セッションは
session_start()
ではじめて
$_SESSION[id]
$_SESSION[pwd]
にデータを入れてます。セッションはブッキングすることがないと
聞いていたのですが、たった4人の利用でブッキングがあったため、
もしかすると
iクラスタでは、クラスタリング環境となっており、
セッションの使用、またflock, fcntl 等のロックは機能しません。
symlink, mkdir 等での代用いただくようお願いします。
とレンタルサーバーにはかかれていましたが、クラスタリング環境で
flock,fcntlが使えないことでこういう事が起きているのでしょうか?
ここがはっきりしないと、別のサーバーに切り替えてもらえないし、
自分が選んだサーバーでもプランでもないので板挟みで状態で困ってます。
0301nobodyさん
2008/01/21(月) 00:44:27ID:???0304244
2008/01/21(月) 19:22:48ID:5H6OPrCr>>253でmd5にして認証を行ったはいいが
HTTPヘッダ見たら暗号化した文が表示されてた。
これってこの文盗聴されてそのまま打たれたら結局意味ないじゃんって結果に。
参考にしたページ: ttp://jsgt.org/mt/archives/01/000301.html
Digest認証でここはやってますが
どうも不完全なまま終わってるようで続きが見当たりません。
実際にSSLを使わないで認証してる方はいないでしょうか?
自分しか使わないのでSSLの証明はいらないんですが、、、
0305nobodyさん
2008/01/21(月) 20:16:56ID:5H6OPrCr結構大きなネトゲのサイトでburp suiteでHTTPヘッダを見てみた。
IDとパスがそのまま表示された…。
これってこの部分盗聴されたらログインされるはずだよな…?と思って
mixiのhttpsでログインしてみた。
こちらは何も表示されなかった。
そのネトゲのスレ行ってみたらセキュアなしかよって散々叩かれてた。
こんなのもあるんですね。
一応報告まで。
0308nobodyさん
2008/01/22(火) 00:42:56ID:Qziki4SAすごく初心者なので、書き方おかしかったらすみません。
・os
windows vista
・希望
apache_2.2.6-win32-x86-no_sslをインストールしたい
・困ってる事
「このインストール パッケージを開くことができませんでした。
パッケージが存在し、アクセスできることを確認してください。
またはアプリケーション ベンダに問い合わせ、この Windows インストーラ パッケージが有効かどうかを確認してください。」
が出てインストールできない。
・やった対策
vistaだと通常とは違うという事で色々と調べて「コマンドプロンプト」というやつを管理者の権限で開いてインストーラーを実行させました。
そうすると何回やっても上記のエラーメッセージが出ます。
なので「windows install cleanup」をダウンロードして開いてみましたが該当するものはなし。
無知なりに考えた原因は、何度も違うバージョンのapacheをインストール→アンインストールしたせいでインストーラが狂ったのかと…。
どうにかインストールしたいです。「ベンダ」に問い合わせる他に何かまだ出来る事があれば教えてほしいです。
0309nobodyさん
2008/01/22(火) 01:33:19ID:???このあたりが関係しているのかも。
http://www.apachefriends.org/jp/xampp-windows.html
> Windows VistaではC:\Programfilesのフォルダのパーミッションが限定されております。
> その為、通常のインストールではインストールが成功しない場合があります。
> xampp用のフォルダをCドライブの直下か、C:\userの下にxamppというディレクトリを
> 作成してご利用いただくことをお勧めします。
XAMPPだと、インストーラを使うタイプと使わないタイプがあるから、こっちで
試してみたらどうかな。全部がセットになってるから便利だし。
0310nobodyさん
2008/01/22(火) 07:54:00ID:???0311nobodyさん
2008/01/22(火) 11:52:06ID:???ワンタイムパスワードを考えてみました。
データベースにpass1とpass2のあるテーブルを作る。
pass1はユーザーが決めたパスワードをmd5した物。
ログインページにアクセスした時点で
ランダムな文字列を発行。(例 ZztMHpWSD)
全てのユーザーのpass2を更新する(pass1 + ZztMHpWSD)
<input type="text" name="pass">
<input type="hidden" name="rand_pass" value="(ランダムな文字列)">
submit押すと
md5_func(document.formname.pass.value)+document.formname.rand_pass.value;
これでpass1+ランダムな文字列が渡されました。
これで送られてきた物をpass2で一致すればOK。
この処理はできました。
----続く----
0312nobodyさん
2008/01/22(火) 11:56:30ID:q9syKBOVAさんがログイン画面にアクセスしてログインの情報を入力してる最中に
Bさんがアクセスしてきました。
その場合また新しいランダムな文字列が発行され
データベースのpass2が更新されてAさんの hidden に入ってる物が違ってきます。
現在この状況でつまっております。
何か助言を頂けないでしょうか?
0313nobodyさん
2008/01/22(火) 12:03:57ID:???すべてのユーザーのを更新する理由は何?
ログインとかログアウトする時に一人のユーザーのみを
更新してはいけないの?
0314nobodyさん
2008/01/22(火) 12:12:27ID:q9syKBOV> すべてのユーザーのを更新する理由は何?
アクセスしてるユーザーがどのユーザーかわからないためです。
ログアウトした時に一人のユーザーを更新する場合
ログアウトする時にpass1+ランダムな文字列で更新
再ログインするためにランダムな文字列発行するわけにもいかないし、
ログアウトの時クッキーにランダムな文字列書き込んだ場合
他のパソコンでログインできなくなる。
一応こんな風に考えてます。
0315nobodyさん
2008/01/22(火) 12:28:18ID:q9syKBOV・ SSLをできれば使いたくない(証明とかいらない&節約)
・ HTTPヘッダを見るとパスワード丸見え(盗聴怖い)
・ md5で暗号化しても暗号化した物を盗聴されて打たれたら意味ない
・ ワンタイムパスワードを作って毎回パスワードを変更するが他のユーザー接続で失敗
こんなところです。
0316nobodyさん
2008/01/22(火) 14:19:06ID:???金属探知機を設置せずに、拳銃の持込を完全に防止したいみたいな意味だ。
0317nobodyさん
2008/01/22(火) 14:40:45ID:q9syKBOV私がしたいのは独自で作成した金属探知機を使用したいのです。
金をかければ有名ブランドの金属探知機で安心、安全でしょう。
私がほしいのは安全だけなのです。
未熟なので能力が伴うかどうかは別として。
0318nobodyさん
2008/01/22(火) 14:42:26ID:???可能か不可能かって話なら可能だろ
0319308
2008/01/22(火) 16:03:11ID:???ありがとうございます!
今職場なので、帰宅したら試してみます。
>>310
避けたい気持ちでいっぱいです。
一応使えている人がいる様なのでもう少しいじり倒してみます。
0320nobodyさん
2008/01/22(火) 17:21:38ID:q9syKBOVどうやらこのスレにいるレベルでは無理そうな感じがしてきました。
>>318
ユーザーに負担はやはりかけたくないですね…。
PGPをざっと見てどのような物かがわかったのですが
できればユーザーにはシンプルにログインさせてあげたいです。
(ID & PASS ぐらい)
とは言っても数人で使う程度の予定で、
一度ログインしたら自動ログインできるように設定したいので、
ログイン画面は
ID入力画面→(データベース内容変更)→pass入力画面→ログイン
この流れでいこうと思います。
これだったら全ユーザーのパスワードを変更しなくていいですし。
これでどうしても証明やユーザーの手間を削減する必要がでてきたら、SSL導入を考えます。
ありがとうございました。
0321nobodyさん
2008/01/22(火) 17:46:58ID:???0322nobodyさん
2008/01/22(火) 17:52:25ID:???自動ログインは別の処理だろ?
>>320
素直にSSL入れておけ。
何に使うかよくわからんがSSLに慣れておく事も重要
0323nobodyさん
2008/01/24(木) 12:32:36ID:NF7q/+V1別サーバにあるファイルの更新時間を表示させるには
どうしたらいいのでしょうか?
0324nobodyさん
2008/01/24(木) 13:50:13ID:???ttp://always-pg.com/php/std_rd/ftp/ftp_rawlist.html
ファイルの中身だけであれば、httpで
$file = file("http://......../data.csv");
見たいな感じでいけるけれど。
0325nobodyさん
2008/01/24(木) 15:19:32ID:???get_headers("http://www.hoge.jp/hoge.html");
とやって、last-modifiedの値を見る
phpファイルなら、そのファイル自身にfilemtime(__FILE__)とかで更新時を出力させればいいと思う
0326323
2008/01/24(木) 15:32:15ID:NF7q/+V1試してみます。
いろいろ探してみたところ下のように”HTTPヘッダーから拾う”という方法を見つけました。
これで「Wed, 23 Jan 2008 00:00:00 GMT」と表示されるのを、
JSTにして、「6:15 1/24 Thu 」と表示したいのですが、整形の方法がわかりません。
どなたかご教授ください。よろしくお願いいたします。
0327323
2008/01/24(木) 15:32:38ID:NF7q/+V1$URL="http://対象ファイル";
$purl=parse_url($URL);
if(!$purl["port"]) $purl["port"]=80;
//開く
$fp=fsockopen($purl["host"],$purl["port"]);
//リクエストを送る
if($purl["query"]){
fputs($fp,"GET ".$purl["path"]."?".$purl["query"]." HTTP/1.0\n");
}else{
fputs($fp,"GET ".$purl["path"]." HTTP/1.0\n");
}
fputs($fp,"Host: ".$purl["host"]."\n");
if($purl["user"]) fputs($fp,"Authorization: Basic ".base64_encode($purl["user"].":".$purl["pass"])."\n");
fputs($fp,"\n");
//HTTPステータスラインを取得
$buf=fgets($fp,1024);
if(!strstr($buf," 200 ")) return(FALSE);
//HTTPヘッダを取得
//$finfo["HTTPヘッダ名"] に内容が格納される
while(!feof($fp)) {
$buf=chop(fgets($fp,1024));
if(!$buf) break;
ereg("^([^:]*): *(.*)$",$buf,$sbuf);
$finfo[$sbuf[1]]=trim($sbuf[2]);
}
echo $finfo["Last-Modified"];
?>
0328nobodyさん
2008/01/24(木) 15:46:09ID:???echo date('G:i n/j D',strtotime('Wed, 23 Jan 2008 00:00:00 GMT'));
こんな感じで。下記参照。
http://jp.php.net/manual/ja/function.date.php
0329323
2008/01/24(木) 16:57:23ID:NF7q/+V1echo date('G:i n/j D',strtotime($finfo["Last-Modified"]));
としたら望みどおりの結果になりました!!!
ありがとうございました。
0330nobodyさん
2008/01/26(土) 03:19:27ID:???0331nobodyさん
2008/01/27(日) 19:58:32ID:???YahooAPIを用いて画像検索を行い、検索された画像をクリックする事でその画像の類似画像を新たに検索して
Webページに表示させるPHPを作成しているのですが、クリックされた画像の色情報を取得する方法がわかりません。
画像のRGB値を求めて、その値に近い画像を表示させるつもりで現在考えています。
色の取得自体は一応できてるのですが下に処理を書きます
$im = imagecreatefromjpeg($content);
$img_w = imagesx( $im );
$img_h = imagesy( $im );
$cnt = $img_w * $img_h;
$r = array();
$g = array();
$b = array();
for( $i = 0 ; $i < $img_w ; $i ++ ){
for( $j = 0 ; $j < $img_h ; $j ++ ){
$rgb = imagecolorat($im, $i , $j );
$r[] = ($rgb >> 16) & 0xFF;
$g[] = ($rgb >> 8) & 0xFF;
$b[] = $rgb & 0xFF;
}
}
$index_r = intval( array_sum( $r ) / $cnt);
$index_g = intval( array_sum( $g ) / $cnt);
$index_b = intval( array_sum( $b ) / $cnt);
クリックされた画像に対してこの処理を行う方法がいまいちわかりません。
わからない事だらけなのですが何か助言を頂ければお願いします。
OS:WindowsXP
PHP: Version 5.2.5
ApacheVersion:1.3.26
0332nobodyさん
2008/01/27(日) 21:02:47ID:???検索結果表示時に画像リンクを
img.php?src=hogehoge.jpg
こんな風にimg.phpを経由させれば
img.php内で画像のソース取得などできるけど
こういう風に出来ない場合は
javascriptとかで画像に対してクリックイベント設定して
そこから処理させるとかかな・・・・
0333331
2008/01/28(月) 11:07:03ID:???遅くなりましたがレスありがとうございます。
事情があってjavascriptは使わずに処理をさせたいのですが
上の方法で少し考えてみます。
img.phpという別のphpを新たに作成してそこで処理をさせるみたいな感じでいいのでしょうか?
0334nobodyさん
2008/01/28(月) 11:31:46ID:???やり易いようになっているけれど、やはり、大規模な開発には
向かないとかいわれています。javaの方が良いと。
この理由は何処にあるのでしょうか。他のプログラムとの連携や
モジュール関連なのでしょうか。
0335332
2008/01/28(月) 11:46:04ID:???あーごめんちょっとぼけてた
<a href="hoge,php?src=hogehoge.jpg"><img src="hogehoge.jpg" /></a>
こういう風なリンクにしちゃえば
hogehoge.php内でどの画像がクリックされたとか解ると思うんだけどどうかな?
このhoge.phpにsrc=hogehoge.jpgを渡してやることによって
hoge.phpにはどの画像がクリックされたかわかるし
どの画像がクリックされたか解ればあとは上のコードでなんとかなると思うけど
0336331
2008/01/28(月) 11:54:21ID:???レスありがとうございます。
PHPだけでしたいのは他にも理由はあるのですがjavascriptはまだ全然勉強してないので・・・
でもPHPと連動させて作成するものが多いようなのでこれから勉強していきます
>>335
レスありがとうございます。
hoge.phpでそんなことができたのですね。一度やってみます
親切に教えてくれてありがとうございます
0337nobodyさん
2008/01/29(火) 22:16:32ID:???ttp://www.harudake.net/m-ga.html
↑のようなRSSから自動的に画像を抜き出してサムネイル表示させるには
どのようにすればよろしいでしょうか?
参考になりそうなサイトや書籍があったら教えてください
0338nobodyさん
2008/01/29(火) 23:04:54ID:???それは多分JavaScriptでやってる
んで、PHPでやるなら
まずRSSをパースして画像のURLを抽出する
抽出した画像をDLしてローカルに保存するor抽出したURLをそのまま使用
IMGタグを生成時に一定サイズ以上はサムネイル化する処理を実行
表示デ終わり
0340nobodyさん
2008/02/03(日) 14:38:33ID:???困っているのですがどうすれば無くなるのでしょうか?
日本語で表示させたくてPHP本体の文字コードをUTF-8にして毎回保存しています。
これだと文字化けはせず日本語は表示されるのですが必ず?が表示されます。
PHPを保存する時の文字コードを変更するのではなく、php.iniの設定を変えなければならないのでしょうか?
OSはWindowsXP。PHPはバージョンを確認すると5.2.5なのですが途中でバージョンアップしたのか
iniファイルはPHPとPHP4の二つあります。Apacheは1.3.26です。
ただPHPの環境作りは別の人がやってしまったので今いちどこを修正すればいいのかわかりません。
なんとか解決する方法を教えてもらえないでしょうか
0341nobodyさん
2008/02/03(日) 14:54:58ID:???PHPのソースコードに変な記号を表示させる記述がないのであれば、
間違って?を書いてるとかの可能性が考えられる。
あと、実行後のhtmlのソースのどの部分に記述があるかによって、
推測する事になると思う。
<?php
echo "test!<br>";
と、あえて書いてみるとか。
0342nobodyさん
2008/02/03(日) 15:18:25ID:???echo "test!<br>";
と書いてためしに実行してみましたが、?test!と表示されます。
色んなPHPで実行してみましたが必ず?がついてきます。
間違って?を書いているということは無いと思うのですが・・・
0343nobodyさん
2008/02/03(日) 15:51:00ID:???0344nobodyさん
2008/02/03(日) 16:13:35ID:???BOMというのは始めて知りました。ありがとうございます。
このBOMを削除するのにUTF-8nで保存すると直るようなのですが、普通のメモ帳ではUTF-8でしか保存できません。
function delete_bom($str)
{
if (ord($str{0}) == 0xef && ord($str{1}) == 0xbb && ord($str{2}) == 0xbf) {
$str = substr($str, 3);
}
return $str;
}
上のコードでBOMを削除できるそうなのですが。<?phpの処理の中で記述すればいいのでしょうか?
?が消えないのですが。本当にわからない事だらけで申し訳ありません
0345nobodyさん
2008/02/03(日) 16:16:54ID:???0346nobodyさん
2008/02/03(日) 16:18:30ID:???メモ帳で開発は有り得ない。
参考:http://besunday.hp.infoseek.co.jp/html_editor.htm
0348nobodyさん
2008/02/04(月) 00:53:06ID:???いつも秀丸使っててbom有りでスクリプト書いてたんだが…
0349nobodyさん
2008/02/05(火) 16:49:29ID:???予期せぬエラーが起きる
0350nobodyさん
2008/02/05(火) 19:30:27ID:???bom有りで書いてたぜ。
具体的にどんなエラーが起きるの?
0351nobodyさん
2008/02/05(火) 20:27:52ID:???秀丸だと保存オプションもUTF-8Nとかもないしbom入らないのかな。
メモ帳でUTF-8で保存して実行したら ・ソtest!<br> みたいのは出た。
0352nobodyさん
2008/02/05(火) 20:48:26ID:???あんまり古いのだとないかもしれんけど。
これはphpが読み込んだときに自動的に削るべきもんかもね。
0353nobodyさん
2008/02/05(火) 23:51:41ID:???web 上では見た目上、変化無かったけど、
CLI で実行させたら、bom付きでは頭に 0x81, 0x45, 0xbf の3バイトがくっついてきた。
0354nobodyさん
2008/02/06(水) 00:11:29ID:???そのくっついてくるのがアレ。
BOMつきUTF-8でファイル冒頭に
<?php
header("Content-Type: text/html; charset=UTF-8"); // 例。
なんてのを書くと「ヘッダ送ったあとでヘッダ変えたいとか、無理」と
PHPさんが優しく語りかけてくれる。
0355nobodyさん
2008/02/06(水) 00:16:53ID:???0356354
2008/02/06(水) 00:24:06ID:???> 頭に 0x81, 0x45, 0xbf の3バイト
0xef 0xbb 0xbf の3バイト(>>344参照)、じゃないのね。
0357nobodyさん
2008/02/07(木) 16:59:49ID:d+qc2qYDPOSTのデータと一致してるかどうかでforeach書いてるんですけど
なんとなく無駄な感じがしてます…
いい書き方ってありますか?
foreach ( $hoge as $k => $v ) {
$checked = "";
if (isset($_POST['hoge'])) {
foreach ( $_POST['hoge'] as $key ) {
if ($key == $v) {
$checked = " checked=\"checked\"";
}
}
}
echo "<input name=\"hoge[]\" type=\"checkbox\"$checked value=\"$v\" />\n";
}
0358nobodyさん
2008/02/07(木) 17:42:05ID:???こーかな?判定は一行にもできるけど逆に見づらいし。
foreach ( $hoge as $k => $v ) {
$checked = "";
if( is_array($_POST['hoge']) && array_search($v, $_POST['hoge']) != FALSE ){
$checked = " checked=\"checked\"";
}
echo "<input name=\"hoge[]\" type=\"checkbox\"$checked value=\"$v\" />\n";
}
0359nobodyさん
2008/02/07(木) 17:44:38ID:???0361nobodyさん
2008/02/08(金) 13:37:59ID:???359 はクロスサイトスクリプティングの可能性を示唆してるんだろ。
0362357
2008/02/08(金) 17:52:07ID:???これは例なのでいれてないだけです。
$vはこっちで作成してる配列なのにな〜と思って。
ちなみに358は
!= FALSE ではなく !== FALSE ですね
0363nobodyさん
2008/02/08(金) 18:47:04ID:???0364nobodyさん
2008/02/09(土) 01:31:23ID:???0365nobodyさん
2008/02/10(日) 18:46:39ID:???それをそのまま出力したら\"となるのですが、
どうすれば\をつけずに表示や保存できるんですか?
0366nobodyさん
2008/02/10(日) 19:57:48ID:???0367nobodyさん
2008/02/10(日) 20:08:37ID:???それしか方法ないのですか?
0368nobodyさん
2008/02/10(日) 20:10:21ID:???0369nobodyさん
2008/02/10(日) 20:19:51ID:???0370nobodyさん
2008/02/10(日) 20:42:46ID:???http://jp.php.net/manual/ja/function.stripcslashes.php
0371nobodyさん
2008/02/10(日) 20:43:34ID:???http://jp.php.net/manual/ja/function.stripslashes.php
0372nobodyさん
2008/02/10(日) 21:12:31ID:???stripcslashes(htmlspecialchars())っていう風につかったんだけどこれでいいのかな
0374nobodyさん
2008/02/10(日) 22:06:12ID:???"はフォームを通すと\\\"として送られてくるんですね
だから先に勝手につけられたスラッシュを消して
htmlspecialchars(stripcslashes($a, ENT_QUOTES)) とやれば"も'もHTML上できちんと表示できるようになりますね
勉強になりました
0375nobodyさん
2008/02/10(日) 22:35:31ID:rhutwfEM<BODY>
<?php
print <table>
print <tr>
<td>print"値"</td>
<td>print"値2"</td>
<td>print"演算"</td>
<td>print"答"</td>
print </tr>
print </table>
?>
</BODY>
</HTML>
だと、エラーがでます。だれかご教授ください・・・
0377nobodyさん
2008/02/10(日) 22:39:38ID:???0378nobodyさん
2008/02/10(日) 22:40:35ID:rhutwfEMすいません、テーブルタグでした。
申し訳ありませんが、参考ページを教えてくれますか?
0380nobodyさん
2008/02/10(日) 22:48:34ID:rhutwfEMわかりました。もう一日考えます。。。
0381nobodyさん
2008/02/10(日) 22:48:39ID:???0382nobodyさん
2008/02/10(日) 23:21:00ID:???0383nobodyさん
2008/02/10(日) 23:54:56ID:???だとしたら文法根本的に間違えてるだろうに。
<BODY>
<table>
<tr>
<td><?php print"値";?></td>
<td><?php print"値2";?></td>
<td><?php print"演算";?></td>
<td><?php print"答";?></td>
</tr>
</table>
</BODY>
</HTML>
0384nobodyさん
2008/02/11(月) 00:20:01ID:???解った後でもう一度このスレに来て自分の書き込み見てみろw
0385nobodyさん
2008/02/11(月) 03:49:39ID:???http://blogn.hustle-user.com/e19.htmlを参考にして、
index.htmlをindex.phpにリネームして、先頭に
<?php
$title="○○";
$page_e='http://www.○○/m/index.html';
$page_j='http://www.○○/m/index.html';
$page_i='http://www.○○/m/index.html';
$i=$_SERVER['HTTP_USER_AGENT'];
require_once('agent.txt');
?>
としました。そして携帯からアクセスしたところ無事振り分けることが出来ました。
しかしPCからみたら外部のcssを読み込んでいないようでページレイアウトが崩れてしまいました。
相対パスなのがいけないと思って、
<link href="http://○○/css/global.css" rel="stylesheet" type="text/css" />
と、絶対パスに書き換えましたが改善しませんでした。
そしてさらにわからないことに、ブラウザ(Sleipnir)で何回も読み込んでいると
5回に一階ぐらいきちんと読み込んで表示されるのです。
どういうことなのでしょうか。もしかしてphpの問題じゃなくhtmlの問題でしたら板違い申し訳ありません。
0386nobodyさん
2008/02/11(月) 04:14:40ID:???0387nobodyさん
2008/02/11(月) 05:29:22ID:???0388385
2008/02/11(月) 05:49:50ID:???問題の切り分けですか。
まずCSSのパスは間違ってませんでした。
htmlや画像のリンクは相対パスでも問題なく通ってるんで
もしかしたらパスの問題ではないんでしょうか?
となると。。文字コードとかでしょうか・・?
ちなみにphpもcssもS-Jis、改行コードはCR+LFでした。
>>387
ふ、振り分けられないですか?
サイトを参考にしつつやってみたのですが・・
0390nobodyさん
2008/02/11(月) 11:04:25ID:???いや、それは別にそういう作り方もあるから別にいいけど
そもそも参考したっていうサイトの内容が突っ込みどころが多すぎて…
0391nobodyさん
2008/02/11(月) 11:10:17ID:???の処理に、腹抱えてワロタ
0393385
2008/02/11(月) 17:22:49ID:???>>389
あ、それはケータイのキャリア別に振りわけていないからです。。。
基本はみんなパソコンのメインサイトのindex.phpにアクセスしてもらって
ケータイの人は別のサイトに飛んでもらうってことで。。
なんか参考にしたサイトがまずかったようで。。。
もしおすすめなどあれば教えて頂けると嬉しいです。
>>392
firefoxはいれてないんで、今からいれて確認してみます。
ところで、火虫とは・・・?
0394nobodyさん
2008/02/11(月) 17:30:47ID:???水虫のライバル。
0395nobodyさん
2008/02/11(月) 17:57:57ID:???0396385
2008/02/11(月) 17:59:06ID:???となると、IE側の問題になるのでしょうか?
そして火虫はわかりませんでした><
0397385
2008/02/11(月) 18:13:19ID:???0398nobodyさん
2008/02/11(月) 20:29:28ID:???どうすれば改行してつなげていけますか?
たとえば
$fh = fopen($file, 'a');
fwrite($fh, "test\n");
としても改行してつないでくれません
0399nobodyさん
2008/02/11(月) 20:42:17ID:???fwrite($fh, "\n");
fwrite($fh, "test");
だろw
0400nobodyさん
2008/02/11(月) 22:35:00ID:???それでもできてませんよ
ためしてください
<?
$file = "test.txt";
$fh = fopen($file, 'a');
fwrite($fh, "\n");
fwrite($fh, "test");
fclose($fh);
?>
いやあ納得いきませんね
いちおうtest\nとやって書き込んで、ファイルを見ると最後は改行されている。
なのに書き込むときはなぜ改行されたところから始まらないのですか?
0401nobodyさん
2008/02/11(月) 23:06:13ID:???もしくは 'ab'
0402nobodyさん
2008/02/11(月) 23:07:39ID:???0403nobodyさん
2008/02/11(月) 23:17:32ID:???0404nobodyさん
2008/02/11(月) 23:24:11ID:???できてました
どうもでした
0405385
2008/02/11(月) 23:42:52ID:???CSSの文字コードをきちんとしていなかったのが問題だったようです。
CSSの先頭に
@charset "shift_jis";
といれると解決しました。
phpじゃなかったですね。申し訳ないです。
0406nobodyさん
2008/02/12(火) 03:40:48ID:???,......,___ ___ お前初めてかここは?
{ r-}"''; (,- ,_'',; 力抜けよ
__ノYv"-ァ'=;} ,_、 Y' リ''ー
ヽー-ハ '、 / キ}、 {"ー {⌒
ト ハ } ,. -ー─-- 、___ / ハノ`{ {
! ! !__! ,-、_ ,,( ,  ̄`ー、 /"''ー;ー'"
|___|! !ー-ニー、;、;'""ノ';{ iー ヽ=ニ=),..- '"
K \ヽ !`ーニ'-、{ (e 人 |' ̄ ̄/`ー! | / /⌒
\ヽ !、ヽ, "")ー-'"| ! | | /! |___{,、 / /
\"'ヽ'ー-" _! || } ー─| | / ヽ/ /
ニ=ー- `!!!' ''''ー'"{ | | / /`ー|\/
ーーーー' _ | ./ ヽ__ / | !
0407nobodyさん
2008/02/18(月) 19:07:50ID:???<?php
$mysql=mysql_connect("localhost","user","password");
if(mysql_select_db("dbname", $mysql)){
print "OK";
}else{
print "NG";
}
?>
このようなソースを書いて(user passはサーバーのもの)
PHPとMYSQLがちゃんと動いているのか確認をしようとしたのですが
画面が真っ白になってエラーも帰ってきません。
PHP php-5.1.6-1.6
mysql mysql-5.0.27-1.fc5
FedoraCore5で
php-mbstring php-mysql php-gd php-devel mysql-serverなども全部入れています。
解決方法ご指南ください
0409nobodyさん
2008/02/18(月) 22:25:40ID:???パスワードが通っていない感じのエラーが出ていました
ただ、パスワードは合っていて
コンソールで mysql -u user -pでログインが出来ている状態です
/etc/hosts にもデータベース名は記述してあり(localhost)
なんで通らないのかわからなくなっています
今まで使っていたときは大丈夫で
突然この状態になってしまいました。
どなたかお願いします…
0410nobodyさん
2008/02/19(火) 02:56:13ID:???0411nobodyさん
2008/02/19(火) 10:06:45ID:???PHPには、.NET Framework の ADO.NET のように、自作した csv ファイルに SQL 文で
データを抽出することは可能なのでしょうか。
以下のサイトのような感じで動かす場合です。
ttp://park5.wakwak.com/~weblab/selectTextFile.html
一般的なテキストファイルを開いたり、書き込んだりする方法とは別という意味です。
こういった方法以外でという意味です。
$fh = fopen("csv.txt", "r");
$line = fgets($fh, 1024);
// ここで$lineの条件を調べる。
fclose($fh);
ヒントとなるキーワードでもいいので、お願いします。
0412nobodyさん
2008/02/19(火) 10:26:38ID:???0413nobodyさん
2008/02/19(火) 12:43:40ID:???よく情報が足りないといわれるのですが
どこら辺が足りないですか
>>407でバージョンやOSも書いてますが
エラーはサーバーから離れていたので書けなかったですが
後学のためにもお願いします
0416nobodyさん
2008/02/19(火) 19:38:04ID:???http://kissho.xii.jp/1/src/1jyou27419.txt.html
0417nobodyさん
2008/02/19(火) 20:44:23ID:???よくわからんが、こんなコードがある時点でろくなもんじゃない
if(file_exists("B:\\")){
echo "<center><a href='./$this_file?dir=B:\\'>B:\\</a></center>";
} else {}
if(file_exists("C:\\")){
echo "<center><a href='./$this_file?dir=C:\\'>C:\\</a></center>";
} else {}
if (file_exists("D:\\")){
echo "<center><a href='./$this_file?dir=D:\\'>D:\\</a></center>";
} else {}
if (file_exists("E:\\")){
echo "<center><a href='./$this_file?dir=E:\\'>E:\\</a></center>";
} else {}
if (file_exists("F:\\")){
echo "<center><a href='./$this_file?dir=F:\\'>F:\\</a></center>";
} else {}
if (file_exists("G:\\")){
echo "<center><a href='./$this_file?dir=G:\\'>G:\\</a></center>";
} else {}
if (file_exists("H:\\")){
echo "<center><a href='./$this_file?dir=H:\\'>H:\\</a></center>";
} else {}
0418nobodyさん
2008/02/21(木) 03:11:11ID:???Windowsの拡張漢字(IBM拡張やNEC拡張)や、外字領域も
きっちり対応してくれるような、関数とかないんでしょうか?
0419nobodyさん
2008/02/21(木) 03:39:48ID:???0420nobodyさん
2008/02/21(木) 04:46:45ID:uBvv/k1HXAMPPをインストール後に以下の手順でエラーがでてしまうのですが、何が原因なのでしょうか???
1. Terminal shellに行って、システム管理者ルートでログインします。
sudo su
2. XAMPPをスタートするには、このコマンドをコールしてください:
/Applications/xampp/xamppfiles/mampp start
ここで、このような感じのエラーメッセージがでていまいます。
(No such file or directory, errno = 2)
XAMPP: Error 133! Couln't start ProFTPD!
ちなみにこの段階でXAMPP Control Panelを起動しようとすると「このシステムとは互換性がないためアプリケーションを起動できません」とメッセージが出てしまいます。
OSはMacOSX.2.8で、インストールしたのがXAMPP Mac OS X 0.7.2です。PHP使用以前の問題で恐縮ですがとても困っていますのでどなたかよろしくおねがいします。
0421nobodyさん
2008/02/21(木) 08:00:49ID:???0422420
2008/02/21(木) 15:40:03ID:uBvv/k1Hありがとうございました。。。
0423nobodyさん
2008/02/21(木) 20:36:09ID:???0424nobodyさん
2008/02/21(木) 21:13:13ID:???0425nobodyさん
2008/02/21(木) 22:15:59ID:FbPK8kbcなぜか本文とか件名が化けてしまいます。
文字化け
「あ」→「$B$"(B」
このサイトを参考にしてます。
http://www.phppro.jp/phptips/archives/vol35/1
改行コードが「LFのみ」にしてるからかな?と思うのですが、わかりません。
ご教授お願いします。
0426nobodyさん
2008/02/21(木) 22:17:02ID:???0428nobodyさん
2008/02/21(木) 22:29:31ID:FbPK8kbcsjis,EUC,utf-8に変更したんですが、何も変わりません。。。
0429nobodyさん
2008/02/21(木) 22:37:31ID:???0430nobodyさん
2008/02/21(木) 22:40:10ID:???0431nobodyさん
2008/02/21(木) 22:56:44ID:FbPK8kbcとりあえず33行目から変更してみたんですが、今度はなにも表示されなくなってしまいました。
33 switch(strtolower($structure->ctype_primary)){
34 case "text": // シングルパート(テキストのみ)
35 $diary_body = $structure->body;
36 $diary_body = mb_decode_mimeheader( $diary_body , 'ISO-2022-JP');
あと言い忘れたんですけど、スクリプトはSJIS、DBもSJISでやってます。
0432nobodyさん
2008/02/21(木) 23:00:32ID:???header見て文字コードが何か確かめてSJISに変換しなされ
0433nobodyさん
2008/02/21(木) 23:10:41ID:???0434nobodyさん
2008/02/21(木) 23:14:40ID:FbPK8kbcすみません!!
あと>>432さんの書き込みの意味がわかないんですが、具体的にはどうすればいいんでしょうか?
0435nobodyさん
2008/02/21(木) 23:57:05ID:FbPK8kbcご迷惑欠けて申し訳ありませんでした。
0437nobodyさん
2008/02/26(火) 22:29:16ID:8JcMjBPY$str = $i;
}
こうすると$strには0〜99999999が入りますが、a〜zzzzzzzzまでを$strに入れるにはどう書けばよいのでしょうか?
0438nobodyさん
2008/02/26(火) 23:24:57ID:???aを0、bを1、cを2・・・て対応させればとりあえず入るな。
0439nobodyさん
2008/02/27(水) 00:33:52ID:???$str[] = $i;
}
0441nobodyさん
2008/02/27(水) 04:36:01ID:???0442nobodyさん
2008/02/27(水) 13:31:31ID:???ネタかと思ってやってみたら本当に動きました
文字列をプラスするとこういうことになるんですね
ありがとうございました
0443nobodyさん
2008/02/27(水) 17:43:11ID:???「form.html内のinputタグで送信した値をpost.php内の<?= $_post["abc"] ?>で表示させる。」
ですが、
↓
「phpファイルではなく、htmlファイル内で表示させる」
にはどうすればいいのでしょうか?
1回の入力で、複数ページ共通ヘッダの「更新日」が変更できたらいいな、と考えております。
きっと超基本的な事柄なのでしょうけれど、ネット上でもなかなか見つからないので...。
よろしくお願いします。
0444nobodyさん
2008/02/27(水) 19:05:32ID:???0445nobodyさん
2008/02/27(水) 19:12:22ID:???なるほど、設定が必要なんですね。
助かりました。
ありがとうございます。
0448nobodyさん
2008/02/28(木) 00:23:44ID:???以下のPHPを作ったところ、画面が真っ白になりました。
真っ白=エラー無しと思い、tablenameを確認したところデータが入っていませんでした。
>>407と同じエラーかと思い、>>408を確認したところONになっていました。
自分では原因がわからないため、どなたかご指摘願えないでしょうか。
<作っているつもりのもの>
別ページのフォームから送信(reg)されたデータを、データベースに入れるPHP。
環境…SQL=PostgreSQL OS=Linux PHP=5.2.5
確認…FireFox
$con = pg_connect('dbname host user password');
$a = $_POST["a"];$b =$_POST["b"];$c = $_POST["c"];
if(isset($_POST["reg"])){
$sql = "select max(log) from tablename";
$result = pg_query($con,$sql);
$array = pg_fetch_array($result);
$new_log_no = $array[0] + 1;
$sql = "select current_timestamp";
$result_date = pg_query($con,$sql);
$in_date = pg_fetch_array($result_date);
if(isset($_POST["b"])){ $d = $b; } else { $d = $c; }
$sql = "insert into tablename (log,a,d,_in_date)
values('$new_log_no','$a','$d','$in_date')";}
else{ header("Location: menu.php"); }
if(!$result){ echo "送信に失敗しました";}
0449nobodyさん
2008/02/28(木) 00:40:01ID:???あとプログラムのどこまで実行したら真っ白になるか切り分けてみたら?
0450nobodyさん
2008/02/28(木) 01:14:23ID:???レスありがとうございます。
AccessLogはこうなっていました。
127.0.0.1 - username [28/Feb/2008:00:59:35 +0900] "GET /test/in.php HTTP/1.1" 200 555
127.0.0.1 - username [28/Feb/2008:00:59:41 +0900] "POST /test/in_date.php HTTP/1.1" 200 5
in.phpがフォーム、in_dateが問題のPHPです。
よくわからないですが、データベースに問い合わせていない?気がするので調べてみます。
0451nobodyさん
2008/02/28(木) 01:43:16ID:???httpd.conf とか確認してみたら?
0452448
2008/02/28(木) 02:15:26ID:???httpd.confは本を参考に次のように設定追加してます。
AddType application/x-httpd-php .php
0453nobodyさん
2008/02/28(木) 02:48:59ID:???0454nobodyさん
2008/02/28(木) 14:23:55ID:???0455448
2008/02/28(木) 19:24:05ID:???$sql = "insert into tablename (log,a,d,_in_date)
values('$new_log_no','$a','$d','$in_date')";}
の部分のSQLに対し
pg_query($con,$sql);
を設定するとテーブルにデータを追加することが出来ました。
しかし作成されたデータは中身が空でしたorz
insertが動いてるのでPHPとデータベースの連携は取れてると思います。
>>454
Loaded Modulesを調べた所次の通りの結果でした。
mod_php5, mod_setenvif, mod_so, mod_auth, mod_access,
mod_alias, mod_userdir, mod_actions, mod_imap, mod_asis,
mod_cgi, mod_dir, mod_autoindex, mod_include, mod_status,
Momod_negotiation, mod_mime, mod_log_config, mod_env, http_core
0457nobodyさん
2008/02/29(金) 10:18:45ID:???白紙のときにブラウザの機能でソース見るとどうなってるとか
いろいろやってんのかな
0458nobodyさん
2008/03/05(水) 16:03:25ID:???言っていたものですがa+モードとファイルロックのタイミングで
何とか実現できました。
その後に続くwモードのファイルーオープンで
ログ数を調整しようと思ったのですが
この処理を付けるとログが全部消えてしまいます。
何か間違えていますか?
0459458の続き
2008/03/05(水) 16:05:57ID:???$delfilename = ('card-walin.txt');
$dellines = file($delfilename);
$delcountlines = count($dellines);
$yojyou = $delcountlines - 2;
$delhandle = fopen($filename, "w");
$delnewlog = "";
flock($delhandle,LOCK_EX);
for ($i = $delcountlines; $i <= $yojyou; $i--) {
array_unshift($delnewlog, $dellines[$i]);
}
fwrite($delhandle,$delnewlog);
flock($delhandle,LOCK_UN);
fclose($delhandle);
0460458の改正
2008/03/05(水) 16:41:48ID:???ログ二行以上ならログの先頭から余剰分消していくと言う感じで
//指定行数以上のログの削除
$delfilename = ('card-walin.txt');
$dellines = file($delfilename);
$delcountlines = count($dellines);
if ($delcountlines > 2) {
$yojyou = $delcountlines - 2;
} else {
$yojyou = 0;
}
$delhandle = fopen($delfilename, "w");
flock($delhandle,LOCK_EX);
$delnewlog = "";
for ($i = $delcountlines; $i <= $yojyou; $i--) {
fwrite($delnewlog, $dellines[$i]);
}
flock($delhandle,LOCK_UN);
fclose($delhandle);
0461nobodyさん
2008/03/05(水) 16:42:58ID:bSWg3SQNこの書き方だとファイル名test.phpを他の名前にするたびに$this_script_nameを書換えないといけません
ファイル名を書換えてもソースを変えずにフルパスを取得する書き方を教えてください
$this_script_name = 'test.php';
$full_path = ereg_replace($this_script_name ,'' ,$_SERVER['SCRIPT_FILENAME']);
0462nobodyさん
2008/03/05(水) 16:58:07ID:OQixiW/qググってみると”必要ファイルをコピーして ini_set や .htaccess を使えば良い”
との事ですが、どこまでが必要ファイルなのか良く分かりませんでした
(ローカルにインストールしたPEARディレクトリ丸ごとホームディレクトリにコピーなのか
installコマンドでダウンロードしたファイルだけコピーなのか)
質問は最初の一行の通りなのですがPEARを使うにはどのファイルが必要なのでしょうか?
0464nobodyさん
2008/03/05(水) 17:16:55ID:bSWg3SQNおおお できました
これだけで出来るとわ・・・
ありがとうございました
0465nobodyさん
2008/03/08(土) 00:22:24ID:???場合によっては重複しませんか?
if ($_POST['delete']) {
for ($i = 0; $i < count($lines); $i++) {
$items = explode("\t", $lines[$i]);
if ($items[0] == $_POST['delradio'] && $items[4] == $_POST['delkey2'] || $items[0] == $_POST['delradio'] && 'masterpass' == $_POST['delkey2']) {
array_splice($lines, $i, 1);
}
}
}
0466nobodyさん
2008/03/08(土) 07:01:18ID:???if (isset($_POST['delete']) && $_POST['delete']) {
foreach ($lines as $key => $value) {
$items = explode("\t", $value);
if ($items[0] == $_POST['delradio'] && ($items[4] == $_POST['delkey2'] || 'masterpass' == $_POST['delkey2'])) {
unset($lines[$key]);
}
}
}
書き込みの部分を見ないとなんとも言えない
0467466
2008/03/08(土) 11:35:25ID:???$deletionlogname = ('card-walin.txt');
$deletionloglines = file($deletionlogname);
$deletioncountloglines = count($deletionloglines);
$deletionlognumbers = $deletioncountloglines - 1;
$deletionfopen = fopen($deletionlogname, "w");
flock($deletionfopen,LOCK_EX);
for($i=0; $i<$deletionlognumbers; $i++){
$deletionlogitems = explode("\t", $deletionloglines[$i]);
if($deletionlogitems[0]==$_POST['deletionradio'] && $deletionlogitems[3]==$_POST['deletionkey'] || $deletionlogitems[0]==$_POST['deletionradio'] && 'masterpass'==$_POST['deletionkey']){
continue;
}else{
fwrite($deletionfopen,$deletionloglines[$i]);
}
}
flock($deletionfopen,LOCK_UN);
fclose($deletionfopen);
}
0468nobodyさん
2008/03/08(土) 11:41:55ID:???何これ
0469465
2008/03/08(土) 11:42:09ID:???んでこれは記事の固有IDとパスが一致した行を削除と言う流れで
書いてるんですがどうも訳わからん記事まで削除されてしまいます。
>>465の質問とあわせてアドバイス頂けないでしょうか?
0471nobodyさん
2008/03/08(土) 11:44:26ID:???0472465
2008/03/08(土) 11:44:56ID:???ログの並びはこんな感じです。
0473465
2008/03/08(土) 11:46:30ID:???POST['deletionradio']が記事の固有IDになります、
説明不足ですいません。
0474nobodyさん
2008/03/08(土) 11:51:30ID:???0475465
2008/03/08(土) 11:56:53ID:???その部分もしログが0だった場合とか書いてませんね、迂闊でした。
ログの記事数のカウントが0から始まるのでそうやってみたのですが・・・・・
0476nobodyさん
2008/03/08(土) 12:01:17ID:???0477465
2008/03/08(土) 12:06:56ID:???例えば記事が3つあって、3つめの記事で固有ID3の記事を削除したら
1つめの記事も同時に消えたりします。
0478nobodyさん
2008/03/08(土) 12:08:50ID:???0479465
2008/03/08(土) 12:17:38ID:???今試したら記事3つのログで2つめの記事消したら
3の記事も同時に消えました。
つかその後、削除ボタン押したら全部消えたw
どうも記事固有IDとパスワード一致しなかった場合書き換えしないと言う
処理が抜けてたようです。
ただこれを直しても記事の同時消えが直る気がしない・・・・
ロジック的には大体上にあげたプログラムである程度あってるのでしょうかね。
0480nobodyさん
2008/03/08(土) 12:26:00ID:???フラグ変更することをお薦めする。
0483nobodyさん
2008/03/08(土) 14:14:06ID:???0485nobodyさん
2008/03/08(土) 14:46:24ID:???||と&&の使い方を覚えよう
466でも書いたけど(最初のifで要らん部分あるけどw)
ループ中にある
if ($items[0] == $_POST['delradio'] && $items[4] == $_POST['delkey2'] || $items[0] == $_POST['delradio'] && 'masterpass' == $_POST['delkey2']) {
これは変です(処理的には通るけど)
if ($items[0] == $_POST['delradio'] && ($items[4] == $_POST['delkey2'] || 'masterpass' == $_POST['delkey2'])) {
やりたい事は多分これ
んで、POST内容は意図したものがきてるの?
0487465
2008/03/08(土) 16:30:22ID:???$items[4]がパス格納部じゃなくて$items[3]でした・・・・・・・・
今から皆さんにご指摘頂いた部分の修正に入ります、
本当にすいませんでした。
0489465
2008/03/08(土) 16:38:20ID:???0490nobodyさん
2008/03/08(土) 17:05:38ID:???http://2ch.pne.jp/img/jpg/w_h/img_cache_d_180941_1_1204957189_jpg.jpg
【ユビキタス銀河】 詐欺師プログラマー 武田洋幸
http://pc11.2ch.net/test/read.cgi/antispam/1204457908/l50
0491nobodyさん
2008/03/08(土) 17:42:02ID:???もう一度書き込まれてしまうのですがこれを防止するのは2重書き込み防止処理だけでいいのでしょうか?
これだとたまに別の人が書き込んだ後に更新押した場合
書き込まれちゃいますよね。
皆さん過去ログの内容走査処理したりしてるのでしょうか?
0493nobodyさん
2008/03/08(土) 18:01:26ID:???0494nobodyさん
2008/03/08(土) 18:26:21ID:???b.php←post先
c.php←投稿完了しました表示
b.phpで投稿完了したら
header('Location : http://example.com/c.php');
これでa.htmlまで戻るとかで戻らない限り2重投稿はある程度防げる
0495nobodyさん
2008/03/08(土) 18:29:46ID:???html作成せずにphp1つだけで全部やろうとしてもややこしそうですね・・・・・
0498nobodyさん
2008/03/08(土) 23:16:31ID:???なんかリファレンス読んでも見つからないのですが。
0499nobodyさん
2008/03/09(日) 01:35:03ID:BZEq18rGその際にをtarget.phpへ送るリファラを http://example.com とするにはどうしたらいいのでしょうか。
過去ログを探して、
ヘッダに ""Referer: http://example.com\r\n" を追加すればいいと書いてあったのですが、
どのように追加したらいいのかがわかりません
location みたいな書き方が思い浮かんだのでやってみましたができませんでした。
正しいやり方を教えてください。お願いします。
-------------------------------------
【get.php】
<?php
header("Referer: http://example.com\r\n");
?>
<iframe src="target.php">
</iframe>
-------------------------------
【target.php】
<?php
echo $_SERVER["HTTP_REFERER"];
?>
-------------------------------
get.phpの実行結果
http://****.jp/get.php
0500nobodyさん
2008/03/09(日) 02:10:54ID:???【get.php】
<?php
echo '<iframe src="target.php?referer='.$_SERVER["HTTP_REFERER"].'"></iframe>';
?>
【target.php】
<?php
echo $_GET["referer"];
?>
0501nobodyさん
2008/03/09(日) 02:31:20ID:BZEq18rGせっかく答えていただいたのに恐縮ですが、
それはget.phpで取得したリファラをtarget.phpへgetメソッドで渡す方法ですよね
私が知りたいのは、
get.phpでtarget.phpを開くけれども、
target.phpで取得されるリファラはget.phpではなく、http://example.com にしたいということなのです
印象の良くない言葉なので使いたくはなかったのですが、つまり、リファラ偽装ということです
書き方悪くてすいません
0502nobodyさん
2008/03/09(日) 02:41:06ID:???http://example.com
これは固定値かそれともget.phpで取得できる値かどっち?
get.phpで取得するリファラの値なら方法は無いよ?
get,php内でgetのリクエストをtarget.phpに宛てに投げて
その時のヘッダにリファラ偽装して渡すとかなら可能だけど
0503nobodyさん
2008/03/09(日) 03:08:23ID:BZEq18rG説明不足で本当にすいません
固定値です
0504nobodyさん
2008/03/09(日) 04:55:14ID:???ファイルに対してアクセスあった場合
強制的に.htaccessとかでSetEnvとかかなぁ・・・
もしiframeのが別のサイトなら
getのリクエスト投げた方が早い
0505nobodyさん
2008/03/09(日) 05:16:16ID:???0はNULLやfalseと判定されますか?
その変数を変数-1としても-1とはならない?
0506nobodyさん
2008/03/09(日) 05:24:57ID:???変数=0
変数=変数−1としたら変数の中身は−1になる。
0507nobodyさん
2008/03/09(日) 05:29:10ID:???0508nobodyさん
2008/03/09(日) 05:31:25ID:???0509nobodyさん
2008/03/09(日) 14:05:48ID:BZEq18rGいろいろなアドバイスありがとうございます
target.phpが別のサイトなら、
target.phpのソースは
<?php
echo $_SERVER["HTTP_REFERER"];
?>
なのは弄りようがないわけですが、
target.phpの $_SERVER["HTTP_REFERER"]の値をhttp://example.comであると認識させるためには、
get.phpからどうやってgetのリクエストを投げればいいのでしょうか
0510nobodyさん
2008/03/09(日) 14:17:24ID:???GETと環境変数は別
0511nobodyさん
2008/03/09(日) 14:34:13ID:BZEq18rGありがとうございます
つまり、getでリクエスト投げても、相手で表示される環境変数は変わらないわけですよね
どうすれば
get.phpでインラインフレームでtarget.phpを表示し、
target.phpの $_SERVER["HTTP_REFERER"]の値をhttp://example.comtにできるのでしょうか
やり方がさっぱりわからないのです
0512nobodyさん
2008/03/09(日) 15:24:27ID:???getでリクエスト投げる時にリファラ偽装すれば
リファラには固定値を入れる事ができる
だがインラインフレームでやるのは無理
それをインラインフレームでやる必要あるの?
どうしてもやりたいなら
.htaccessにSetEnvってのがあって
それを使ってtarget.phpにアクセスがあった場合
強制的にリファラを書き換えてやれば良い
0513nobodyさん
2008/03/09(日) 16:02:31ID:BZEq18rGインラインフレームでしようとしていた理由は、
自分がやりたいことを考えた時に一番実現しやすそうだと思ったからです
それが無理ならばインラインフレームでやることはありません
>getでリクエスト投げる時にリファラ偽装すれば
ここのやり方を教えてもらえないでしょうか
getはわかりますが、リファラ偽装の部分がわからないのです
0514nobodyさん
2008/03/09(日) 16:26:44ID:???pearのhttp_requestかcurlが楽じゃないかな
普通にfsockopenとかでopenして投げる事もできるけど
<?php
$request .= "GET / HTTP/1.0\r\n";
$request .= "Host: localhost.jp\r\n";
$request .= "Content-Type: application/x-www-form-urlencoded\r\n";
$request .= "Accept: */*\r\n" .
"Referer: http://hogehoge.jp/\r\n" .
"User-Agent: DoCoMo/2.0 Fa2(c100;TB;W28H15)\r\n";
$request .= "\r\n";
$request .= "\r\n";
$fp = fsockopen("yahoo.co.jp", 80, $errno, $errstr, 30);
fputs($fp, $request);
$response = "";
while (!feof($fp)) {
echo fgets($fp, 4096);
}
fclose($fp);
?>
こんな感じでやふーのトップをもってこれる
0515nobodyさん
2008/03/09(日) 16:49:24ID:BZEq18rGありがとうございます
私のくどい質問に回答続けてくれた方に感謝します
0516nobodyさん
2008/03/10(月) 01:54:10ID:HGPlOVh9スレッド毎にテーブルを作成し、そのテーブルにコメント(&投稿者名など)を記録、
すべてのテーブルを管理するテーブルに最終投稿日時などを記録して、スレッド順位などを決めます。
以下、コメントを投稿した時の部分のスクリプト。
$comm = addslashes($_POST['comm']); //コメント
$id = addslashes($_POST['id']); //テーブルID
$name = addslashes($_POST['name']); //投稿者名
if($_POST['sage'] == NULL){$sage = 0;} else {$sage = 1;}
if($name == NULL){$page_disp = "名前を入力してください。";
} else {
if($comm == NULL){$page_disp = "本文を入力してください。";
} else {
insert_comment($id,$name,$comm,&$seq,$res_dbcon,&$result); //スレッド(テーブル)にコメントを書き込み
if($result == FALSE){$page_disp = "投稿に失敗しました。";
} else {
update_temp_table($id,$sage,$seq,$res_dbcon,$result);//管理テーブルに投稿日時などを記録
$page_disp = "投稿しました。";}}}
PCからのアクセスと、DOCOMO、auからは期待した通りの動作をしていますが、softbank携帯からのみ、動作がおかしくなっています。
症状としては、$name、$commといった変数を受け取れず(?)、テーブルには各カラムのNULLになったレコードが追加される。
テーブルの更新、レコードの追加は行われているので、CURRENT TIMESTAMPなどはちゃんと入っている。
管理テーブルは更新されているので、各変数のNULLのチェックは通過している。
という状態です。スクリプト上におかしい箇所などあるでしょうか?
ちなみにPHP、MySQLの勉強は先月始めたばかりで、この掲示板のスクリプトは、本などを読んで作ったオリジナルのものです。
よろしくお願いいたします。
0517nobodyさん
2008/03/10(月) 02:14:45ID:???function insert_comment($tbl_id,$name,$comm,$seq,$dbcon,$result){//コメント追加
$l_sql = "SELECT count( * ) FROM `".$tbl_id."`";
$l_result = mysql_query($l_sql,$dbcon);
$l_row = mysql_fetch_array($l_result);
$seq = $l_row[0] + 1;
$f_host = gethostbyaddr(getenv("REMOTE_ADDR"));
$sql = "insert into `".$tbl_id."` (c_seq, c_time, c_name, c_comm, c_host, c_del_flg) VALUES (".$seq.", NOW( ), '".$name."', '".$comm."', '".$f_host."', '0' )";
$result = mysql_query($sql,$dbcon);
}
function update_temp_table($tbl_id,$sage,$seq,$f_dbcon,$f_result){//スレッド更新(管理テーブル更新)
if($seq == 300){ $del_flg = 1;} else { $del_flg = 0;} //規定レス数に達したスレは終了
$sql = "update t_temp_table set c_count_comment = ".$seq." , c_del_flg = '".$del_flg."' where c_table_id = ".$tbl_id;
$f_result = mysql_query($sql,$f_dbcon);
}
0518nobodyさん
2008/03/10(月) 02:20:25ID:???softbankのチェックした機種は何?
多分表示側の問題だとは思うけど
それと、1スレッド1テーブルはやめた方が良い
ファイルベースの設計なら1スレッド1ファイルの方が良いが・・・
0519516
2008/03/10(月) 02:40:11ID:???ログ見てみたらソフトバンクだな、ってのが分かったというだけで。
しかも、その方が問い合わせフォームからメールも送ってくれたんだけど、
それがまた見事に文字化けしていて全く見れない状態です。
(これもまたDOCOMO、auは正常動作。)
1スレッド1テーブルが良くないというのは、パフォーマンスとかCPU占有とかいう話でしょうか?
素人考えで、一つのテーブルのみが異常にレコード数多くなるよりいいかな、と思ったのですが…
0520nobodyさん
2008/03/10(月) 02:58:57ID:???0521nobodyさん
2008/03/10(月) 03:56:42ID:???旧Vodafone機種とかにはまともに送れないのとかあるからねー
そこらへんが携帯対応のめんどくさい所
1つ要素追加しようとした時に全部のテーブル構造変えるほうが手間
あとデフォ設定でCPUがP4の3Gでメモリ2Gなマシンでも
1テーブル2000万件とかいれても平気だから1テーブルに入れろ
DB設計は色々と勉強した方が良いよ
0522nobodyさん
2008/03/10(月) 05:18:59ID:???2ヶ月ぐらいやってるけどなにをどうやっていいやら・・・
とりあえずHTMLを少しやってたのでPHPに挑戦してみたんだが
難しい。そして、どう使うのかがよくわからん。
PHPスーパーサンプル集って本を買って本の進行通りにやってるが
だからなに?って感じでおわってしまう。
まず最初にこんにちはを画面に表示させた。うむ。
フォームはあらゆるところで使われるので重要ということで
フォームもやってみた。うむ。
いま、フォームで送信されたデータを関数で色々条件をつける
もしくは処理をするってのやってるんだけど、それも具体的によくわからん。
説明には、パスワードを入力とか普段サイトで使ってるようなことで使う
みたいなことは書いてあったけど、実際自分でつかえるかなーと疑問。
何をどうしたらいいか、もっと分かりやすい本、もしくはページはないか
しってたらお願いします。できれば、私はこう使ったというのを実体験で
いってくれると分かりやすいです。m(_ _)m
0523nobodyさん
2008/03/10(月) 06:26:17ID:???その手の質問きたら俺は毎回ここをオススメしてる
宣伝と思われそうだがw
http://www.phppro.jp/school/phpschool/
初心者には普通にオススメ
あと何か作ってみたいものを見つけるのが良いんじゃないかな?
んでこれを作るには何が必要で
どんな事をしなきゃいけないのかとか
あとは同じようなスクリプトは
どんな風にしてるのかを調べるのも良いかな
0524nobodyさん
2008/03/10(月) 18:52:10ID:???すごくよかったですm(_ _)m
私が買った本より説明が分かりやすく理解しやすかったです。
とりあえず、このページを読破し実際にやってみようと思います。
0525nobodyさん
2008/03/11(火) 03:36:14ID:xCa4blgrobject(stdClass)(1) { ["array"]=> "test"}
みたいな感じでオブジェクトで返ってきました。
配列arrayの中の"test"という文字列を取り出すためにはどうしたらよいのでしょうか?
ちなみにjson_decode()です。upgrade.phpを利用してassocをTRUEにしているのに配列ではなくオブジェクトで返されてしまって困っています。
0526nobodyさん
2008/03/11(火) 03:42:27ID:???0527nobodyさん
2008/03/11(火) 15:31:16ID:xCa4blgrありがとうございます。
0528nobodyさん
2008/03/11(火) 20:58:03ID:LKhchWrtしているのですが、フィード内の <content:encoded> といったエレメントが
読み込まれません。
どうも「:」がエレメント名に含まれていると、PHPはそれを見落としてしまうよう
なのですが、同じような経験をされた方いらっしゃいますでしょうか?
0529nobodyさん
2008/03/11(火) 22:34:53ID:???今度の4月から大学(情報工学科)に通うんですけど
教授とかに聞いても大丈夫ですよね?
0530nobodyさん
2008/03/11(火) 23:38:41ID:???0531nobodyさん
2008/03/12(水) 01:15:12ID:???↓でええんか?
<?php if(false){ ?>
…
<?php } ?>
0532nobodyさん
2008/03/12(水) 01:22:22ID:???...
<?php endif; ?>
なんでこの書き方って普及してないの?
0534nobodyさん
2008/03/12(水) 09:26:44ID:???外部からのアクセスでPHPに情報を送り、それをPHPが一度Textファイルに保持した上で
他のアクセスがPHPからそれを受け取るという処理を行っています。
チェックは連続して行っていて情報が無ければ「NoEntry」という結果を返しています。
(保持した情報は消えます)
(処理中、データはロックしています)
今現在そのチェック処理を2秒に1回の頻度で行っているのですが、
一般論の範囲でPHPはどれくらいの負荷までなら普通に耐えられるのでしょうか?
可能であれば上記のチェック処理を1秒に2・3回行いたいと思っています。
使用しているサーバはさくらインターネットのプレミアムコースです。
PHPのバージョンは、、すみません。詳しく分からないのですが初心者解説サイトの命令のみ使っています。
2秒に1回のチェックですが、実際にデータを保持し送信するペースは1時間に1回ほどです。
0536nobodyさん
2008/03/12(水) 10:58:25ID:???他のアクセスがあった時点でファイルがあるかチェックするんじゃだめなの?
0537nobodyさん
2008/03/12(水) 11:11:37ID:???繰り返しアクセスしているのは外部のプログラムで、PHPはそれに対して反応を返しています。
PHP内部では繰り返しの処理はしていません。
SaveパラメータでHTTPアクセスされると「A」という文字をPHPが記録します。
LoadパラメータでHTTPアクセスされると、今PHPが保持してる「A」という文字をEchoで返し、「A」は消します。
この時、保持している文字がなければ「NoEntry」を返します。
現状2秒に一度Loadパラメータでアクセスしています。(文字があるかチェック)
その間に複数のSaveパラメータでアクセスされると「A,B,C」と同時に保持して、
Loadパラメータが来るごとに、古いものから順に1文字ずつ返します。
ただ通常、1時間に1〜2回、多くても10回ほどのSaveパラメータのアクセスしか無いため
ほとんどはLoadパラメータのアクセスを受信し続けている状態です。
このLoadパラメータを、現状の2秒に1度から、1秒間に2〜3回にしたいなと考えております。
0539nobodyさん
2008/03/12(水) 11:28:02ID:???0540534
2008/03/12(水) 11:52:49ID:???やはりPHPの性能はCGIとは比べものになりませんね。
0541nobodyさん
2008/03/12(水) 17:51:48ID:???普通にfwriteとかで作成すればいいのでしょうか?
0542nobodyさん
2008/03/12(水) 19:13:32ID:???0543nobodyさん
2008/03/12(水) 21:40:52ID:???ファイルに書き出したいなら>>542のを使えば良い
表示させるだけならechoなりでhtml書いたのを表示すればいい
0544nobodyさん
2008/03/13(木) 04:03:55ID:???0545nobodyさん
2008/03/14(金) 16:59:59ID:P2EP3hdlループ文を使い値と属性を取得しようとすると、$nameという配列を作る行で
Warning: Illegal offset type となります。オブジェクトの属性と値の取り方を間違えているのでしょうか?
$xml
SimpleXMLElement Object
(
[id] => 2
[title] => hogehoge
[spec] => 500
)
foreach($xml as $a => $b) {
if ($a == 'id') {
$id = $b;
}
if ($a == 'title') {
$title = $b;
}
}
$name[$id] = $title; ←エラー
0546nobodyさん
2008/03/14(金) 17:41:35ID:???print_rよりver_dumpのがオススメ
$idと$titleをdumpする事をおすすめする
var_dump($id,$title);
てかそのループしなくても良いと思うんだが?
$name[$xml->id] = $xml->title;
0547nobodyさん
2008/03/14(金) 19:16:02ID:P2EP3hdlありがとうございます
$name[$xml->id] = $xml->title;
これだと同じエラー内容となりました
ver_dumpしたところ下記のように出てきたのですが、さらにオブジェクトが続いているということでしょうか?
object(SimpleXMLElement)#9 (1) {
[0]=>
string(1) "2"
}
object(SimpleXMLElement)#8 (1) {
[0]=>
string(8) "hogehoge"
}
0548nobodyさん
2008/03/14(金) 19:34:29ID:???XMLを使っていない。使おうとも思わない。
つかうのは外部とのシステムでXMLを
使うことを強制された場合ぐらいだな。
0549nobodyさん
2008/03/14(金) 20:27:50ID:i8C7NkG0<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Gallery</title>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
</head>
<body>
<div align="center">
<br />
<?php include("../../koukoku.php"); ?><br />
<?
$image = "http://***.com/gazou/01/" . $_GET['no'] . ".gif";
if(file_exists($image)){ print "<img src=\"$image\">"; }
?>
</div>
</body>
</html>
こんな感じでhttp://***.com/gazou/01/**.gifをページの真ん中に表示したいのですが画像がされません。
画像がローカルパスなら表示されるのですがどこが悪いのか教えてもらえませんでしょうか?
0550nobodyさん
2008/03/14(金) 20:32:53ID:???よければ教えてください。
echo 45 * 1.4;
echo "<br>";
$a = floor(45 * 1.4);
echo $a;
echo "<br>";
というプログラムで、結果が
63
62
となるんですけど、原因がわかりません…
63が正解なのですが、なぜなんでしょう?
実際は変数が入るので、結果も変動して小数点以下の数値も出るのでfloorしていますが、
なぜかこの数値の時だけ結果にずれが…
0551nobodyさん
2008/03/14(金) 20:54:07ID:???典型的な、浮動小数点誤差の問題だね。
一般的にコンピュータは数値を二進数に変換して処理する。
1.4という数値は二進数では近い数字は表現できても、
1.4そのものは表現できない数値なんだ。(小数点以下が無限に続く)
よって 45 × 1.3999・・・という計算になる。
当然答えも62.9999・・・になる。
あとはechoのとき、62.9999・・・というほぼ63という値なら、
それを63にして表示しているということだろう。
公式サイトにも書いてあるが。
http://www.php.net/manual/ja/language.types.float.php
0552549
2008/03/15(土) 12:13:27ID:???他で聞いてみます 失礼しました。
0554nobodyさん
2008/03/15(土) 17:15:03ID:???$iって$aとかにする事は可能でしょうか?
0555nobodyさん
2008/03/15(土) 17:22:41ID:???としてるだけなのに標準出力にファイルの内容が表示される@さくら
エロい人解決方法を教えてください。
0558nobodyさん
2008/03/15(土) 23:28:03ID:???なんで改行が二つあるの?
0559nobodyさん
2008/03/15(土) 23:35:04ID:???意味を調べろ。
0560nobodyさん
2008/03/16(日) 01:00:46ID:???ちょっとログ分の画像掲示板のhtml出力しつつ
その1ページ分にすべてのページへのリンクを作ったりと複雑なので
whileで代用しました、ありがとうございました。
後、もう一つ聞きたいのですが
.=で処理したデータを継ぎ足していってhtml出力すると
ソースで改行が■になったりしてしまいます。
後々の事を考えて見栄えよく整形したいのですが
どんな要因が考えられるのでしょうか?
0562nobodyさん
2008/03/16(日) 01:23:50ID:???すいません、まさにそのとおりなんですがtxtファイルに
phpproの講座のとおりEUC-JPとLFで設定してます。
改行をCR/LFにしたらちゃんと見えたんですが
EUC-JPとLFだとwindows使いには不便なのでしょうか?
後、ログにtxtファイルを使うと外部から見えてしまうと聞いたのですが
何がお勧めなのでしょうか?
0563nobodyさん
2008/03/16(日) 01:30:50ID:???ログにtxt〜とか媒体が問題じゃないよ。
ドキュメントルート以下におけば外部から見られる危険性は当然ある。
0564nobodyさん
2008/03/16(日) 01:58:38ID:???過去cgiとかにしとけといわれた思い出があるんですが。
0565nobodyさん
2008/03/16(日) 02:22:24ID:???その説は、ごく限られた人しか .htaccess でごにょごにょできなかった時代とか
.htaccess の書き方を説明するのがめんどくさいとかの産物なので、
せめて .log とか .dat で終わる名前のファイルにして deny from all に設定。
というか、>>563。
>>561前半は Shift_JIS の地雷を踏みまくるほうがよっぽど不便だと思う。
0567nobodyさん
2008/03/16(日) 02:41:19ID:???phpの中身がテキストデータとして開かれててしまいます。
phpに同じフォームデータを書いて送信したら普通に処理できてたんですが
どうしたものでしょうか?
0568nobodyさん
2008/03/16(日) 14:32:57ID:???0569nobodyさん
2008/03/16(日) 19:12:01ID:???phpにその内容を飛ばして処理しております。
本文がない場合、名前&パスワードをクッキーをセットして
1行目のフォームに送り返してるんですが名前欄に何も出ません。
名前欄のvalue値に
phpプログラムを使用して受け取ったクッキーを表示するコードを書いてるんですが
1行目フォームのようにhtmlファイルにphpコード書いても意味なかったでしたっけ?
0570569
2008/03/16(日) 19:19:19ID:???要するにログをhtml出力したファイル内にあるフォームに
クッキーの受け渡しってできるんですか?
書き込みを処理するphpからクッキー発行しただけでは駄目なんですよね?
0571nobodyさん
2008/03/16(日) 19:31:40ID:???0572569
2008/03/16(日) 19:44:08ID:???>>569を書き込んでから今までログをhtmlで出力する掲示板のサンプルを見回ってたら
<input value="">のvalue記述さえ無しにクッキーが表示されてるものが
あってどんな方法を使ってるか知りたくて。
0573nobodyさん
2008/03/16(日) 20:02:28ID:???出力されたhtmlファイルの拡張子はphp?それともhtml?
出力されたファイルがhtmlであれば
サーバの設定が基本的な設定のままなら
cookieなんて出せないやんJavaScriptとか使えば別だが
phpであれば
<input value="<?php echo $_COOKIE['name'];?>">
とかすれば出るが
0575nobodyさん
2008/03/17(月) 00:03:56ID:???それで元々作っていたのは総phpで<input value="<?php echo $_COOKIE['name'];?>"> が出来てて
htmlにデータ書き出すようにしてからそれが通用しなくなったので混乱しておりました。
ただここだと
http://3d.skr.jp/3d/
出来てるのはなぜなんでしょう?
0577nobodyさん
2008/03/17(月) 00:19:25ID:???とりあえずクッキーの部分は飛ばして別の部分作ります。
var P=getCookie("pwdc"),N=getCookie("namec"),i;
with (document) {
for(i=0;i<forms.length;i++){
if(forms[i].pwd)
with(forms[i]){
pwd.value=P;
}
if(forms[i].name)
with(forms[i]){
name.value=N;
}
}
}
};
onload=l;
function getCookie(key, tmp1, tmp2, xx1, xx2, xx3) {
tmp1 = " " + document.cookie + ";";
xx1 = xx2 = 0;
len = tmp1.length;
while (xx1 < len) {
xx2 = tmp1.indexOf(";", xx1);
tmp2 = tmp1.substring(xx1 + 1, xx2);
xx3 = tmp2.indexOf("=");
if (tmp2.substring(0, xx3) == key) {
return(unescape(tmp2.substring(xx3 + 1, xx2 - xx1 - 1)));
}
xx1 = xx2 + 1;
}
return("");
}
こんな感じだな適度に直せばいける
0579nobodyさん
2008/03/18(火) 16:47:11ID:npoe+Lzfのプログラムですが、
http://localhost/uranai.php
だと「入力された値は数字ではありません。」と表示されるのですが
http://localhost/uranai.php?age=22
だと文字化けしてしまいます。
本来「あなたの年齢は:22才です。」と表示されると思うのですが。
何が原因と考えられますか?
0581nobodyさん
2008/03/18(火) 17:15:35ID:???mb関係かhtmlspecialcharsの文字コードの設定か?
文字化け文字列も出すと何かわかるかも
0582579
2008/03/18(火) 18:00:26ID:npoe+Lzf、「、ハ、ソ、ホヌッホ、マ。ァ22コヘ、ヌ、ケ
とでます。
0583nobodyさん
2008/03/18(火) 18:15:19ID:sNjVpZ9lサイドバーをカスタムしたくてsidebar.phpを弄っているのですが、カレンダーなどを取り除いてアバウトやその他をとりつけたいのですが、
どう記述するべいいのかわかりません。
カレンダーを消すことには成功したのですが、他のコンテンツをサイドバーに入れるには何を記述すればいのでしょうか。
0584nobodyさん
2008/03/18(火) 21:06:15ID:???WordPress (ワードプレス) その6
http://pc11.2ch.net/test/read.cgi/blog/1202116662
こっちのがいいんでない?
0586579
2008/03/18(火) 23:02:38ID:npoe+Lzf全然解決できてなかったのでこのスレにはりついてしましたw
ありがとうございます!うまくいきました!
0587nobodyさん
2008/03/19(水) 16:39:46ID:4H6o0Qo6http://www.phppro.jp/school/phpschool/vol5/3
のページに従っていたのですが
年齢入力フォームで「占う!」を押した場合に結果が表示されず
ファイルのダウンロードの確認ウィンドウが出てしまいます。
何らかの原因でuranai_result.phpが
PHPファイルととして認識されていないということでしょうか?
0588nobodyさん
2008/03/19(水) 16:40:35ID:???0589587
2008/03/19(水) 16:50:22ID:4H6o0Qo6ありがとうございます
プロパティでファイルを確認してみると「PHPファイル」となっていますが、
どのようにすれば認識されるのでしょうか?
0590nobodyさん
2008/03/19(水) 16:57:43ID:???0591nobodyさん
2008/03/19(水) 19:12:29ID:TVI3fNbMこれが押された時にどのボタンかを識別する方法を教えてくださいえろいひと
0593nobodyさん
2008/03/19(水) 19:41:51ID:???if (!strlen($data1)) {
echo "<p>(strlen)データが入力されていません";
}
else {
echo "<p>(strlen)入力された内容:".$data1;
}
if (empty($data1)) {
echo "<p>(empty)データが入力されていません";
}
else {
echo "<p>(empty)入力された内容:".$data1;
}
strlen()とempty()はどのように使い分けるんでしょうか?
echoとprintみたいに理解したらいいですか?
0594nobodyさん
2008/03/19(水) 21:00:00ID:???http://php.net/strlen
http://php.net/empty
0595nobodyさん
2008/03/19(水) 21:36:33ID:???0596nobodyさん
2008/03/19(水) 21:42:26ID:R0ivO4NXどこにあるものですか?
0597nobodyさん
2008/03/19(水) 21:49:00ID:???0598nobodyさん
2008/03/19(水) 21:52:46ID:???0599nobodyさん
2008/03/20(木) 02:43:35ID:???何でも質問してくれ
0600nobodyさん
2008/03/20(木) 03:13:34ID:???同一のname指定してきた内容で判断とか
別々のname指定してどの値がセットされてるかで確認したりとかかな
>>593
emptyは内容があるか調べるもの
strlenは文字列の長さを調べるもの
用途は全然違う
0602nobodyさん
2008/03/20(木) 15:30:03ID:c6Zuq6MMCSVアップロードで更新できるようなフリーの
phpやCGIはないでしょうか?
ご紹介頂きたいのです。お願い致します。
0603nobodyさん
2008/03/20(木) 15:38:40ID:???0604nobodyさん
2008/03/20(木) 15:42:11ID:c6Zuq6MM面目ないです。
超初心者用スレでしか聞けないので書いたのです。
0605nobodyさん
2008/03/20(木) 15:58:17ID:???に見えた
0607nobodyさん
2008/03/20(木) 23:38:33ID:WvTnOLdhformで送った名前を表示するようにしたいですが、うまくいきません。
グローバル変数が間違ってるのでしょうか?
詳しい方、お願いします
send.html↓
<html>
<head><title>send</title></head>
<body>
<form action="receivename.php" method="post">名前<input type="text" name="namae"><br>
<input type="submit" value="送信"><br>
</form>
</body>
</html>
receivename.php↓
<html>
<body>
<?php
print ($_post['namae']) ;
?>
さん。どうも<br>
</body>
</html>
0610nobodyさん
2008/03/21(金) 00:43:20ID:???JSPのresponse.sendError(response.SC_NOT_FOUND)のように、
Webサーバが標準で持っているエラーページを返すようにはできますか?
環境はApache 2.2 + PHP 4.4です。
0615nobodyさん
2008/03/22(土) 01:49:48ID:???0616615
2008/03/22(土) 01:52:38ID:???0617nobodyさん
2008/03/22(土) 18:24:31ID:???http://www.youtube.com/watch?v=dCiuVMD3lqo
みたいにクエリーをアルファベットで圧縮してくれるライブラリはないでしょうか?
MD5からの変換だと思うのですが
0618nobodyさん
2008/03/22(土) 18:34:11ID:???0619nobodyさん
2008/03/22(土) 18:41:58ID:???つか自作のレベルの話だ
0620nobodyさん
2008/03/22(土) 18:46:08ID:???そんな感じなんですがbase64より圧縮率の高い方式です
>>619
汎用性あるが技術的難易度高いと思ってます。
0622nobodyさん
2008/03/22(土) 18:50:00ID:???>>619さんのいうとおりでした。
0624nobodyさん
2008/03/22(土) 19:46:50ID:???どういう風に出してるかはしらないけどハッシュ値には違いない
0625617
2008/03/22(土) 20:13:30ID:???0626nobodyさん
2008/03/22(土) 20:43:44ID:???0627nobodyさん
2008/03/22(土) 20:52:18ID:???頭大丈夫か?
0628nobodyさん
2008/03/22(土) 21:28:40ID:???youtubeのハッシュの仕様は知らんけど(26+26+10)^11 = 5.2E19通り
頭大丈夫か?
0630nobodyさん
2008/03/22(土) 21:37:47ID:???0631nobodyさん
2008/03/22(土) 21:46:43ID:???0632nobodyさん
2008/03/26(水) 16:33:53ID:???ニコニコ動画なんですが、Cookieを削除して、PCを再起動してもログイン状態が保持されています。
ブラウザを閉じているからセッションでもないし、Cookieでもないとなると、
どういう方法でクライアントを識別しているのでしょうか?
0633nobodyさん
2008/03/26(水) 17:19:04ID:???クッキー削除しきれてないんじゃね?
ニコ動の事詳しく調べてないからあれだけど
ほかに方法といったら
たぶんやらないと思うが
IP,ブラウザの一致とかぐらいだろうし
0635nobodyさん
2008/03/26(水) 18:16:10ID:???ログイン状態が残ったのはクッキーが削除できてなかっただけ
0636nobodyさん
2008/03/28(金) 16:03:50ID:???test.html から test.php にフォームからPOSTで値を渡して
スーパーグローバル変数$_POST["xxx"]で値を受け取るという動作がなぜか出来ません・・・
エラーも吐かずに遷移したページが空白で開きます
php.iniの設定にスーパーグローバル変数のオン、オフを切り替える設定があるのでしょうか?
どこをいじれば良いのか詰まってしまいました
0637nobodyさん
2008/03/28(金) 16:06:29ID:???0638nobodyさん
2008/03/28(金) 16:07:23ID:???variables_order
0639nobodyさん
2008/03/28(金) 16:13:15ID:???レスありがとうございます
何かの具合でphp.iniをいじらずに解決してしまいましたが
variables_orderについてちょっと勉強しようと思いますm(_ _)m
0640nobodyさん
2008/04/10(木) 13:40:02ID:IwYW1Fis今日の日付を得て、日曜日(もしくは月曜日)始めで一週間とした場合の、
その週の頭の日付を得るという感じのことはできますか?
例えば今日だったら4月10日ですので、その週の頭の日曜日は4月6日で
「20080406」というように出力する感じです。
また今月の4月3日の場合は「20080330」で値を出力したいんですが。
よろしくお願いします。
0641640
2008/04/10(木) 14:02:15ID:???<?php
$week_head_date = date("Ymd") - date("w");
print $week_head_date;
?>
でできました。
0642640
2008/04/10(木) 14:54:01ID:???641に書いた記述で月をまたぐ場合もOKなのでしょうか?
上記記述で640に書いた
>4月3日の場合は「20080330」で値を出力したい
が実現できるかどうか教えていただければ幸いです。
0643nobodyさん
2008/04/10(木) 15:10:08ID:???0645nobodyさん
2008/04/12(土) 12:53:46ID:4H+Fs9R30646nobodyさん
2008/04/12(土) 13:54:57ID:???0648nobodyさん
2008/04/12(土) 15:01:22ID:MYUBBi8Aエスケープ処理とSQLインジェクション対策について良く理解できていないのですが、
現在php.iniのmagic_quotes_gpcがonになっていてエスケープ処理が行われます。
これによりフォーム入力されたデータに\が付いているのですが、そもそもこのエスケープ処理
は、DBに\が付いたまま書き込ませるためにあるのでしょうか?
stripcslashes関数などで\を除去してから書き込んだら意味がないのでしょうか??
よろしくお願いします。
0649nobodyさん
2008/04/12(土) 15:30:42ID:???0650nobodyさん
2008/04/12(土) 18:39:37ID:4d6dvCtNapache2.2.4
PHP 5.2.3
ArGOsoft
OS windows xp
という環境です。
IMAPを使ってメールを送るというのは分かってきましたがモジュールの追加が出来ないようです
php.iniよりextention=php_IMAP.dllの「;」も外し、apacheも再起動しましたが
get_extension_funcs("imap");で使えるか調べるとダメみたいです
なにが足りないのでしょうか?
0651nobodyさん
2008/04/12(土) 19:13:39ID:???0652名無しさん@アイコンいっぱい。
2008/04/12(土) 19:25:23ID:QH24pWr1http://kakitarou.com/url/files/accel.html
0653650
2008/04/12(土) 19:47:17ID:???やってみましたがmb_send_mailの前に
mb_language("Japanese");を入れているのですが、mb_languageですでにコケてます・・・
0654nobodyさん
2008/04/13(日) 08:42:00ID:???それならmailで、日本語は自分でエンコードする。
0655nobodyさん
2008/04/14(月) 18:50:19ID:zmu1J1y2つけなかったため質問させてください (使っている PHPのバージョンは 5.2.5 です)
画像ファイルのデータサイズを取得、3桁区切りさせたくて以下のように書いて成功しました
掲示板PHPスクリプト内で ― (α)
$sizeorg = filesize($img)
$size = number_format($sizeorg)
HTMLテンプレート側に
{$size}
ですが、(α)の書き方をもう少しスマートに、雰囲気的には
$size = number_format(filesize($img))
のようにまとめたく、参考になりそうな情報を教えていただければありがたいのですが
どうぞよろしくお願いいたします
0656nobodyさん
2008/04/14(月) 19:44:26ID:???0657nobodyさん
2008/04/14(月) 19:45:30ID:???俺の場合number_formatを修飾子にしちゃってる(結構常識?)
$smarty->register_modifier("number_format","number_format");
で
{$sizeorg|number_format}
が俺的にはスマート
表示の問題をテンプレートで完結できるからね
0658nobodyさん
2008/04/14(月) 19:46:42ID:???0659655
2008/04/14(月) 22:17:10ID:xlgR9yhaそのようにやってみたのですがエラーを吐いてしまいまして先の質問のように書いたのですが、
もう一度試しましたらエラーなく出力させることができました
# mistipo でもしていたのでしょうか…orz
>>657
自分の場合のテンプレートは画像掲示板のために用意されている HTML になります
何はともあれ、教えていただいた方法も面白そうですので勉強のため試してみたいと思います
>>658の方も含めて早々にご回答いただきまして、みなさんありがとうございました!
0660655
2008/04/14(月) 22:19:17ID:???×mistipo ってなんなんだ…
○typo : タイプミス
最後まで失礼しました…○...| ̄|_
0661nobodyさん
2008/04/18(金) 14:50:28ID:???pear upgrade -f -o http://pear.php.net/get/PEAR-1.3.6.tgz
downloading PEAR-1.3.6.tgz ...
Starting to download PEAR-1.3.6.tgz (106,880 bytes)
.........done: 106,880 bytes
HTTP error, got response: HTTP/1.1 410 Gone
Didn't receive 200 OK from remote server. (HTTP/1.1 410 Gone)
なぜ??変なレスポンスヘッダかえってくる??
0662nobodyさん
2008/04/18(金) 14:55:40ID:???本家どおりの手順でいけますた・・
pear upgrade --force http://pear.php.net/get/Archive_Tar http://pear.php.net/get/XML_Parser http://pear.php.net/get/Console_Getopt-1.2.2
pear upgrade --force http://pear.php.net/get/PEAR-1.3.3 (_IF_ your existing version is older than 1.3.3)
pear upgrade --force http://pear.php.net/get/PEAR-1.4.3.tar
pear upgrade PEAR
0663nobodyさん
2008/04/19(土) 10:31:27ID:???0664nobodyさん
2008/04/19(土) 10:38:34ID:???0665nobodyさん
2008/04/19(土) 17:43:29ID:???Fatal error: Class 'XSLTProcessor' not found in 場所
と出力されてしまいます。(クラスが見つからないということですよね。
これはどう足掻いてもXSLは使えないということなのでしょうか。
もし解決策があれば教えてください。
PHPのバージョンは5.2.3、phpinfo()のConfigure Commandの中で「xsl」を含むものは、
'--with-xslt-sablot'と'--enable-xslt'です。
それ以外にxslを含むところはありませんでした。
よろしくお願いします。
0666nobodyさん
2008/04/19(土) 19:36:06ID:???>PHP 5には、デフォルトでXSLエクステンションが含まれており、 configureに引数--with-xsl[=DIR] を追加することにより有効にすることができます。
>DIR は libxslt をインストールしたディレクトリです。
?
0667665
2008/04/19(土) 20:22:57ID:???ありがとうございます、それについて詳しく調べていたら、
「configureに引数--with-xsl[=DIR] を追加すること」
は管理者でないとできないようなことが分かったので、メールしてみることにします。
ありがとうございました。
0668nobodyさん
2008/04/20(日) 00:58:45ID:eoYRqpAsより移動してきました(向こうでの質問は打ちきっています)。
[やりたいこと]
UTF-8のローマ数字「D」をeucJP-winに変換したい。
[やったこと]
mb_convert_encodingを使い、EUC-JPのエンコードにてHTMLタグと一緒にprintする、具体的には:
print "<td>".htmlspecialchars(mb_convert_encoding("D", "eucJP-win", "UTF-8") )."</td>";
を行う
[現状]
該当部分の出力が「場・/td>」となり、意図した表示になりません。
[その他]
http://pc11.2ch.net/test/read.cgi/hp/1205922529/197
によれば、
>EUCでのDは0xFCF5。
>が、
>mb_convert_encoding("D", "eucJP-win", "UTF-8");
>を通すと0xF3F7が返ってくる。
ということで、このままのやり方ではでは埓が開きそうもありません。
なにかいい方法はありますでしょうか。
0669nobodyさん
2008/04/20(日) 02:34:41ID:???一部だけ文字コードを変えるってことは変換したvは文字化けした状態で表示される。
文字化けした文字によっては次の文字の一部を一つの文字とみなされ、「場・/td>」みたいなことになる。
意図した表示って、どんな結果を求めているのかを具体的に書けって。
0670nobodyさん
2008/04/20(日) 02:57:03ID:???0671nobodyさん
2008/04/20(日) 02:59:53ID:???print "<td>\xFC\xF5</td>" と等価な状態にしたいんだけど
そうならないのでどうしたもんですかね、という質問なんでしょう。
確かに 0xFCF5 にならんね。
0672nobodyさん
2008/04/20(日) 11:24:19ID:???いや、そんな質問じゃないでしょう。
そんな表示を期待してるとしたらちょっと頭おかしいんじゃないですか?
文字化けって言葉を聞いたことくらいあるでしょうし。
0673187
2008/04/20(日) 11:41:36ID:aetxNfgk「D」と表示したいのに「場・/td>」となる、ということです。
>671
そうなんです。あれから再びネットでも調べているんですが、
どうにもわかりません。
>672
すみませんが、お返事の内容がよく分かりません。
0674187
2008/04/20(日) 12:01:37ID:???先ほど、こちらに移動する前のスレッドに、移動後に書き込まれていた方法を
試したところ、意図した結果で表示することができました。
(具体的には、PHP側でeucJP-winに変換せず、UTF-8のままレスポンスし、
デコードはブラウザーに任せる)
なので、今回の質問は、これにて終了させていただきます。
お答えいただいた皆様、ありがとうございました。
0675nobodyさん
2008/04/20(日) 12:10:35ID:nhn/o6zf以下のようなスクリプトを作り、dbAccessでSQLiteと接続し、
dbCloseで切断するようにしたのですが、「sqlite_close() expects parameter 1 to be resource, n・・・」
というエラーがでてうまく切断できません。
どのような原因かわかりますでしょうか?
dbAccess内にsqlite_close()を入れた場合はエラーは吐きませんでした。
function dbAccess() {
$con = sqlite_open("DB/database");
}
function dbClose() {
global $con;
sqlite_close($con);
}
0676nobodyさん
2008/04/20(日) 12:28:21ID:???global $con;
$con = sqlite_open("DB/database");
}
0677nobodyさん
2008/04/20(日) 12:29:03ID:???どのような原因って、エラーくらいちゃんと読もうな。
あと検索ってことも知ってるか?
そのエラー文をそのままググったらええのに。
0679nobodyさん
2008/04/20(日) 12:39:54ID:???dbAccessとdbCloseの両方でglobal指定をしなければいけなかったのですね。
ありがとうございました。
0680nobodyさん
2008/04/20(日) 13:03:57ID:sof1Taefあてはまるものすべてを置換するんじゃなく、一番初めにマッチしたものだけを置換したいんです。
どういう関数を使えばいいのでしょうか?
0681nobodyさん
2008/04/20(日) 13:10:28ID:???limitに1を渡す。
0683nobodyさん
2008/04/20(日) 14:30:32ID:???それぞれの文字コード中に存在しない文字に変換しようというなら妙な話だけど、
Dなどの小文字のローマ数字は、EUC(JIS X 0213)でも存在している。
nkfやブラウザでは問題無く相互変換出来るしね。
それらを前提として、phpでは変換出来ないの?というのが質問の主旨だろ。
回答としては、現状はmbstringでは未対応のようなので、
手動でやるかnkfなどを使って変換。
文字化け=当然発生するものだから仕方無いと思考停止するのは良くないね。
0685671
2008/04/20(日) 17:12:35ID:???<?php
// ソースは UTF-8 で記述
header('Content-Type: text/plain; charset=EUC-JP');
echo "<td>\xFC\xF5</td>\n";
echo '<td>' . mb_convert_encoding('D', 'eucJP-win', 'UTF-8') . "</td>\n";
?>
同じ表示が2行続くことを期待するのは別におかしくないと思いますよ。
0686nobodyさん
2008/04/20(日) 19:45:50ID:QNOTdt2p0687663
2008/04/21(月) 10:29:11ID:???ありがとうございます。
最近、PHPを学習して会社のサイトをPHP化しているのですが、気が付くと
セッション変数に頼りすぎてて心配になってました。
0688nobodyさん
2008/04/21(月) 23:07:39ID:e+YqWj3Yphpに、Cの同じファイルからしか呼び出せなくなる
static関数の機能はあるでしょうか。
あるなら、どのように記述したらいいのでしょうか。
0689nobodyさん
2008/04/21(月) 23:19:09ID:???クラスのメソッドってことならあるけど、関数はグローバルになってしまう。
関数内で制御したらそれっぽくできなくもない。
0690nobodyさん
2008/04/22(火) 00:15:18ID:1qEh3co+クッキーなしで、アドレス部分に表示もしないで
セッション回したいのです。
0691nobodyさん
2008/04/22(火) 03:31:03ID:???0693nobodyさん
2008/04/23(水) 01:27:04ID:???0694nobodyさん
2008/04/23(水) 05:50:16ID:???ttp://が含まれた場合オートリンクする形に変えたいのですが
どのようにすればいいでしょうか?
0695nobodyさん
2008/04/23(水) 07:10:56ID:???0696nobodyさん
2008/04/23(水) 09:11:55ID:???すいません、その定義関数の中身はこちらです。
0697nobodyさん
2008/04/23(水) 09:48:03ID:???↓
h?ttps?
0698nobodyさん
2008/04/23(水) 09:49:48ID:???検索してもいまいち核心がでてこないといいますか・・・・・・・
これphpのコマンドですよね?
0699nobodyさん
2008/04/23(水) 10:00:50ID:???教えていただいたやり方とh付け足す方法でやりたい事は出来ております。
0700nobodyさん
2008/04/23(水) 10:57:40ID:???「正規表現」で調べてみ
0701nobodyさん
2008/04/23(水) 13:20:17ID:???http → hhttp
ftp → hftp
news → 略
これが「やりたい事」なのか冷静に考えてみよう。
0702nobodyさん
2008/04/23(水) 14:27:12ID:???ありがとうございます、調べてみます。
>>701
そうだった・・・・全種類にh付くんですよねこのままじゃ。
この形式による動作の分類は正規表現を学べは問題なくできることなんでしょうか?
0703nobodyさん
2008/04/23(水) 14:44:21ID:???もしかしてこれでおけでしょうか?
他のリンクをしないとすると。
0704nobodyさん
2008/04/23(水) 15:02:27ID:???(h?ttps?|ftp|news) → h?(ttps?) // h? をカッコから出す
にすればいいと思うよ。
PHP や正規表現と無関係な話になるけど、ttp でアドレスを貼った人は
勝手に http で貼ったのと同じ結果に書き換えられたらどう思うんだろうね。
0705nobodyさん
2008/04/23(水) 15:03:56ID:???URLとして有効だったらあとは ttp:// だけで直接比較すればいいだろう
0706nobodyさん
2008/04/23(水) 15:18:54ID:???やはりそうでしたか、本当に助かりました。
うちの掲示板は広告に対する禁止ワードの効果がほとんどなかったので
httpを禁止ワードにしてリンクはttpで書き込んでもらうようにしたら1件も広告つかなくなりました。
なので今まで基本コピペで飛んで貰うような状況だったのですが
今回自動リンク出来たら訪問者も楽だろうと言う事で質問してみました。
訪問者がリンク張りたくないものに関してはまた規約に赤で方法を明記したいと思います。
0707nobodyさん
2008/04/23(水) 17:35:33ID:???と並べるのとどっちがいいんだろ。
0708nobodyさん
2008/04/23(水) 19:40:21ID:???ベタというならswitch($var) case 'http':とか。
0709nobodyさん
2008/04/24(木) 23:09:38ID:???これをforeeachにするにはどうすればいいんでしょうか。。。
0710nobodyさん
2008/04/25(金) 00:03:45ID:???0711nobodyさん
2008/04/25(金) 08:42:31ID:???$array_address=(
'google.com',
'yahoo.com'
);
foreach($array_address as $address){
$ip=gethostbynamel($address);
echo "<a href=http://{$ip}>{$ip}</a>";
}
0712nobodyさん
2008/04/25(金) 08:56:07ID:???0713nobodyさん
2008/04/25(金) 10:37:24ID:???こういうことじゃね?
$ip = gethostbynamel($address);
$string = '<a href="http://'. $ip .'">'. $ip .'</a>';
$chars = preg_split('//', $string, -1, PREG_SPLIT_NO_EMPTY);
foreach($chars as $char) {
$result[] = $char;
}
echo implode('', $result);
0714nobodyさん
2008/04/25(金) 12:02:35ID:???0715nobodyさん
2008/04/25(金) 12:11:17ID:???0718nobodyさん
2008/04/25(金) 12:29:05ID:???$time=10:00;
この$timeを午前か午後か(am,pm)判別する関数はありますでしょうか?
0720nobodyさん
2008/04/25(金) 12:38:17ID:???0721nobodyさん
2008/04/25(金) 12:46:38ID:???<?php
$time = '10:00';
echo ampm($time);
function ampm($ntime){
if($ntime >= '12:00'){
return 'PM';
}else{
return 'AM';
}
}
?>
0724nobodyさん
2008/04/25(金) 14:41:01ID:???echo date('A', strtotime('10:00'));
0725nobodyさん
2008/04/26(土) 00:22:55ID:???defineしていない定数が使われた場合、
配列の値が入っていないインデックスを参照した場合に、
教えてくれるようにしたいです。
ググってerror_reportingはE_ALLのみにしたんですが、
それではダメでした。
0726nobodyさん
2008/04/26(土) 03:39:59ID:???0727nobodyさん
2008/04/26(土) 14:02:37ID:???ttp://search.net-newbie.com/php/function.gethostbynamel.html
>array gethostbynamel ( string hostname )
>hostnameで指定したインターネットホストを 検索して得られた IP アドレスのリストを返します。 もし hostname が解決できなかった場合は FALSE を返します。
このl(ist)ってのは配列ではないんですかね。。
>>710
>>1
自分でもよくわからないんです^^;
>>711
ありがとうございます!
なるほどforeachはこう使うんですね!
>>713
ありがとうございます!
preg
implode
がわからないので調べてきます!
0728nobodyさん
2008/04/26(土) 14:36:37ID:???ここは質問スレだが分からないことを開き直る勘違い野郎ならお断りだ。
0730nobodyさん
2008/04/26(土) 17:09:26ID:???> string gethostbyname ( string hostname )
> array gethostbynamel ( string hostname )
関数名の l は list の略だから戻ってくるのは配列っすよね、じゃなくて
array (または FALSE) を返しますよと書かれてるから、戻り値が配列。
こんな感じにしたいのかな。
<?php
$hosts = array('yahoo.com', 'google.com', 'example.com');
echo "<dl>\n";
foreach ($hosts as $host) {
$ip_list = gethostbynamel($host);
echo "<dt>$host</dt>\n";
if ($ip_list) {
foreach ($ip_list as $ip) {
echo "<dd><a href=\"http://$ip/\">$ip</a></dd>\n";
}
} else {
echo "<dd>unresolved.</dd>\n";
}
}
echo "</dl>\n";
?>
0731nobodyさん
2008/04/26(土) 17:35:07ID:???すみません><
>>730
ああようやく理解することができました><
どうもありがとうございます。
foreachで配列の中身をすべてぶちまける
ということがやりたかったんです。
$ip0 = $ip_list[0];
$ip1 = $ip_list[1];
みたいなことなんですね、asって。
お世話になりました><
0732nobodyさん
2008/04/26(土) 18:19:33ID:???純粋な質問なんだが,マニュアルのforeachのページ見ないのは何故だったの?存在しらなかった?難しくて理解できなかった?
0733nobodyさん
2008/04/26(土) 18:47:40ID:???0735nobodyさん
2008/04/27(日) 05:40:25ID:???0736nobodyさん
2008/04/27(日) 06:13:37ID:???$time = '9:00';
とかで試せばわかると思うけど何も切り捨てられてないよ。
というか、文字列。
0737nobodyさん
2008/04/27(日) 19:33:14ID:???http://loglog.jp/~php/tt/tt4.php
のサイトに書かれている
>次に書き込むのですが、fgetsで読み込んだ時にポインタが動いてファイルの最後に行っているので、ポインタを先頭に引き戻してから、書き込みます。
>ポインタを戻すのはfseek() 書き込みはfputs()です。追記:rewind($fp)の方がいいかも...
>
>fseek($fp, 0);
>fputs($fp, $count);
のポインタを先頭に戻すという意味がわかりません。
ためしに削ってみると、カウンターが凄い勢いで増えていくので重要な機能なのは分かるのですが・・・
0738nobodyさん
2008/04/27(日) 21:18:36ID:???0739nobodyさん
2008/04/27(日) 21:19:26ID:???レコードの針とかCDの走査点みたいのを想像すればいい。
凄い勢いで増えていくってのは、1→12→123→1234みたいな感じ?カオスだなw
0740nobodyさん
2008/04/27(日) 22:15:43ID:???ポインタですか
勉強になりました。ありがとうございました
>>739
そうなんです。
カオスです
0741nobodyさん
2008/04/28(月) 05:14:49ID:???増え方見てりゃなんとなく分かりそうなもんだけどな
0744nobodyさん
2008/04/28(月) 16:46:43ID:???「ID、値段」の並んだデータファイルから
$ar[$id] = $price;
でどんどん取り込んでいって、
if ($ar[$data] == "") {
echo "$dataは存在しません。\n";
どうのこうの
}
って常用してる…
0745nobodyさん
2008/04/28(月) 17:04:27ID:???csvファイルの5行目から20行目までを取得するにはどうすればよいのでしょうか?
$test = fopen("hoge.csv","r");
for($i=5;$i<20;$i++){
$row = $test[$i];
}
この方法ではうまくいかないです・・・
0746nobodyさん
2008/04/28(月) 17:20:40ID:???残らないのでは?
0747nobodyさん
2008/04/28(月) 17:42:10ID:???こっち使うとか。
http://www.php.net/manual/ja/function.file.php
fopen() は例で言えば $test とファイルを結びつけて、これから読み書きしたり
ファイルポインタを進めたり戻したりする操作を可能にする「準備」の担当さん。
0748nobodyさん
2008/04/28(月) 17:56:15ID:???ご返答ありがとうございます
$test = file("hoge.csv");
for($i=5;$i<20;$i++){
$row = $test[$i];
}
これではうまく行きませんでした
for文で行数を指定するやり方は間違っているのでしょうか?
0749nobodyさん
2008/04/28(月) 18:04:09ID:???>>746の意味をよく考えて、せめて
$row .= $test[$i];
にしてみるとか、もう少し考えてもいいと思うんですよ。
$row を各行=要素な配列として扱いたいのならまた別になるけど。
0750nobodyさん
2008/04/30(水) 11:54:01ID:???フォームから入力された月が一致するものを"可能"から"予約済み"に
上書きするスクリプトです。
$file = fopen("test.csv","r");
$file_bak = fopen("test.csv","w");
while ($data = fgetcsv($file,1024,",")) {
if($data[0]==$mon){
$data[1]="予約済み";
$rowc = implode(",", $data);
fputs ($file_bak, $rowc . "\n");
}
}
fclose($file_bak);
fclose($file);
フォームから入力するとデータがまっさら(0バイト)になってしまいます。
0751nobodyさん
2008/04/30(水) 11:59:58ID:???0752nobodyさん
2008/04/30(水) 12:03:22ID:???$mon=$_POST['mon'];
を、書き忘れてました。
データが書き込まれる(fputsが動いてる)ということはif文は正常に動作してると思います。
0753nobodyさん
2008/04/30(水) 12:57:48ID:???0754nobodyさん
2008/04/30(水) 13:12:18ID:???ご返答ありがとうございます。
fopenをfopen("test.csv","r+");という形で一つにしたらうまく行きました。
$file = fopen("test.csv","r+");
while ($data = fgetcsv($file,1024,",")) {
if($data[0]==$mon){
$data[1]="予約済み";
$rowc = implode(",", $data);
flock($file, LOCK_EX);
fputs ($file, $rowc);
}
}
fclose($file);
動作確認したところ、目的の行の、次の行が更新されてました・・・。
ファイルポインタを1行、後ろに戻すと考えていますが、考え方としては正しいのでしょうか?
0755nobodyさん
2008/04/30(水) 15:40:48ID:???シンプルにしたほうがいいんじゃないの?
一気にぜんぶ読み込んで、条件が合ったら変更。
最後に、変更が有ったなら書き出し。
あるいは、1行読んで、条件が合ったら変更。
その行を別ファイルに書き込んでいって、
最後に、変更が有ったなら旧ファイルを消して別ファイルを旧ファイルに
リネーム。
0757nobodyさん
2008/05/02(金) 14:05:14ID:G+oxjRCpBサーバで実行後に結果が返ってくるんでしょうか?
それともソースを展開するだけで実行するのはAサーバになるんでしょうか?
よろしくお願いします。
0758nobodyさん
2008/05/02(金) 14:24:41ID:IeUeB81Ghttp://www.php.net/manual/ja/function.include.php
"URL fopenラッパー"が 有効になっている場合(デフォルト設定では有効です)、
ローカルなパス名 の代わりにURL(HTTP経由)を用いて読み込むファイルを指定することが可能です。
URLで指定されたサーバがファイルをPHPコードとして解釈することが 出来る場合には、
HTTP GETを使用してURLリクエストに引数を指定することが 出来ます。
これはファイルの読み込み云々やスコープの継承とは関係なく、
ただ単純にスクリプトがリモートのサーバで実行されて結果がローカルの スクリプトに読み込まれる、というだけのことです。
0759nobodyさん
2008/05/02(金) 14:24:58ID:???0760nobodyさん
2008/05/02(金) 14:30:01ID:???書いてありましたねorz
申し訳ないです。
無性に気になってしまった…。
0761nobodyさん
2008/05/03(土) 18:24:53ID:???各種タグの数はどうやって数えたら良いのでしょうか?
0762nobodyさん
2008/05/03(土) 18:30:59ID:???よくわからないかもしれない
http://www3.uploader.jp/user/bl_radio/images/bl_radio_uljp00028.png
0763nobodyさん
2008/05/03(土) 18:54:43ID:???スペース区切りで入力されたキーワードの数を数える方法が分からないということ?
0764nobodyさん
2008/05/03(土) 19:11:05ID:???0766nobodyさん
2008/05/03(土) 19:45:56ID:???------+-----+-----+-----+
1| 果物| 豚肉| |
2| 牛肉| 野菜| 果物|
3| 果物| 豚肉| |
4| 鶏肉| 果物| 野菜|
5| 野菜| | |
------+-----+-----+-----+
こういうテーブルから
果物(4),野菜(3),豚肉(2),牛肉(1),鶏肉(1)
とか出力したいの・・・か?
0767nobodyさん
2008/05/04(日) 12:06:34ID:???テーブルに全部のキーワードをぶっこんで
あとはgroup byとcountで。
とりあえずママに絵の描き方を教えてもらいなさい
0768nobodyさん
2008/05/04(日) 22:00:27ID:kQgheGJFxamppでpear_infoをインストール後、
<?php
require_once('PEAR\Info.php');
$pearinfo = new PEAR_Info('c:\xampp\php');
$pearinfo->show();
?>
を実行すると以下のエラーが出てしまいます。
Fatal error: Call to undefined method PEAR_Error::getRegistry() in
C:\xampp\php\PEAR\PEAR\Info.php on line 277
ちなみに277行目は
$this->reg = &$this->config->getRegistry();です。
ググっても前例が見当たりませんでした。
0769nobodyさん
2008/05/04(日) 22:02:53ID:???0770nobodyさん
2008/05/04(日) 22:30:26ID:kQgheGJFpear_infoは最新の1.8.0(stable)でpear listでも正しく表示されています。
0771nobodyさん
2008/05/04(日) 22:39:55ID:???0772nobodyさん
2008/05/09(金) 22:48:31ID:???cent os 5
php 5.2.4
1,なんとか,かんとか,ぬんとか
2,なんとか2,かんとか2,ぬんとか2
のようなcsv的な形式のファイルの編集をHTMLのフォーム上から実現するにはどのような考え方でやればいいのでしょうか?
fgetsで指定行を読み込んで目的のカラムを編集することはできるけど,元のデータの消し方が見つかりません。
知ってる方,よろしくお願いします。
0773nobodyさん
2008/05/09(金) 23:01:53ID:???0774nobodyさん
2008/05/09(金) 23:05:34ID:???0775nobodyさん
2008/05/10(土) 01:18:48ID:???の混合ってできないの?
0776nobodyさん
2008/05/14(水) 17:30:23ID:???ページ1で
session_start();
$_SESSION['a']="test";
と入れ、
FORM ACTION先のページ2で
echo $_SESSION['a'];
と書いてみたのですが空になっています。
書き方がまずいのでしょうか。
それとも何か特別な設定をしなければいけないのでしょうか。
PHPのバージョンは5.1.6で、
session.use_cookiesはon
session.use_trans_sidは1にしています。
0779nobodyさん
2008/05/14(水) 19:11:39ID:Uo6TtfOsHTMLテンプレートを使って出力させているのですが、
*.html
{$imgsize[0]}x{$imgsize[1]}
のように書くと何も出力されないため、下のように書いて出力しています
*.php:
$imgsize = getimagesize($img);
$wsize = $imgsize[0];
$hsize = $imgsize[1];
*.html
画像サイズ: {$wsize} × {$hsize}
※実際の書式はもう少し長いですがこんな感じです
もう少し変数や出力をまとめられそうorスマートに出来そうでしょうか?
0780nobodyさん
2008/05/14(水) 19:32:10ID:???0781nobodyさん
2008/05/15(木) 18:03:18ID:???--------------------
○○さんのマイページ←リンク
--------------------
のようにリンクタグでフォームタグのように値を持てるようにしているものがありますが、
どういう風にしているのでしょうか。
フォームを使うと
--------------------
<input type="radio" name="choice" value="A">A
<input type="radio" name="choice" value="B">B
<input type="radio" name="choice" value="C">C
--------------------
のようになるんですが、
これをハイパーリンクを使い
--------------------
A←リンク(押すと変数にAと入る)
B←リンク
C←リンク
--------------------
の形にしたいと考えています。
0782nobodyさん
2008/05/15(木) 18:24:53ID:???すいません、getを使ってみます!
0783nobodyさん
2008/05/15(木) 18:31:14ID:???0784779
2008/05/15(木) 18:33:37ID:19IoKDUwlistの使いどころを実体験できて勉強になりました
お礼が遅くなってしまいましたが、教えていただきましてありがとうございました
0785nobodyさん
2008/05/16(金) 11:28:21ID:???PC画面内のボタンが定期的(2時間おき)に赤く光り(音付き)、それが10分以内にクリックされなければ指定したアドレスにメールで連絡がいくアプリを作成したいんですがPHPでつくれますか?
他に付けたい機能はPHPでできそうなのでできればPHPで一緒にしたいのですが
0786nobodyさん
2008/05/16(金) 11:33:44ID:???0787nobodyさん
2008/05/16(金) 12:01:11ID:tHyaUJSJまずは、2byte codeの文中の括弧は2byte codeで揃えてくれんか?
話はそれからだ
0788nobodyさん
2008/05/16(金) 12:10:33ID:???>プログラミング全くど素人です。
こういう書き方は嫌われるからやめるべきだ
0789785
2008/05/16(金) 12:14:05ID:???他所で質問して分かったからもういいですw
0790785
2008/05/16(金) 12:16:27ID:pBMB8YRN0792nobodyさん
2008/05/16(金) 13:51:37ID:???作ったらそのスクリプト参考にさせてください
0794nobodyさん
2008/05/16(金) 15:07:02ID:9KFEZNBm0795nobodyさん
2008/05/16(金) 15:36:43ID:OAE01NnQstr_replaceで文字の置き換えをしたいのです。
置き換える要素にはそれぞれ配列を使います。
その配列の中身はMySQLから値を格納しています。
しかしまったく置き換えしてくれません。
配列を $arr = array('要素1','要素2','要素3'); として作成すればちゃんと置き換えしてくれます。
MySQLから配列への値の格納はちゃんと出来ています。
置き換え用の文字は沢山あるので出来ればMySQLからデータを取得したいです。
0796nobodyさん
2008/05/16(金) 15:37:59ID:???0797nobodyさん
2008/05/16(金) 15:39:09ID:???0798nobodyさん
2008/05/16(金) 16:00:05ID:???0799795
2008/05/16(金) 16:37:58ID:???配列にデータを格納したあとで、function内で置き換え作業をしていたのですが、
せっかく作った配列を渡していなかったのでできなかっただけでした。
お騒がせしましたorz
0800nobodyさん
2008/05/16(金) 17:33:20ID:???\(.\ ノ
0801nobodyさん
2008/05/16(金) 23:41:19ID:???@
↑これってなんですか。
0804nobodyさん
2008/05/17(土) 09:13:11ID:???ifの条件文の中にforやwhileを入れられますか?
ifの条件文が多くて繰り返し処理にしたいのですが
このように書いてもエラーになります。
if(
for($i = 0; $i < 101; $i++){
if($i !==100){
($form[$i]!=="")or
}
else{
($form[$i]!=="")}
}
)
{
実行したい文
}
0805nobodyさん
2008/05/17(土) 09:44:35ID:???したいことを日本語で書いてくれ
0806nobodyさん
2008/05/17(土) 10:05:21ID:???forループで「条件」を変化させる
しかし、ifが判定を行なう前にforループが完了してしまうので意味なし
エラーは、例の中の or の後が空だから出るんでないの?
0808nobodyさん
2008/05/17(土) 10:39:34ID:???すいません。
$form[0]から$form[100]のどれかに何かしらの値が入っていれば実行させたいのです。
現状はこんな感じです。
if(($form[0]="")or($form[1]="")or($form[2]="")or...........($form[100]=""))
{
実行文
}
>806
ご回答ありがとうございます。
やりたいことはその通りです。
>807
ありがとうございます。
その方法でやってみます。
0809nobodyさん
2008/05/17(土) 10:45:13ID:???if文の前にループで処理しとけばいいんじゃないの?
$temp = "";
for(略) $temp .= $form[$i];
if ($temp != "") jikko();
0810nobodyさん
2008/05/17(土) 10:50:35ID:???if($form[i] !=""){
実行文
break;
}
}
0811nobodyさん
2008/05/17(土) 12:38:01ID:???forの中にifで期待通り実行されました。
本当にどうもありがとうございます。
0812nobodyさん
2008/05/17(土) 16:01:13ID:IP8xZiGoアッー!
0813nobodyさん
2008/05/17(土) 17:07:17ID:pIXJPsBG0814nobodyさん
2008/05/17(土) 17:14:32ID:???0815nobodyさん
2008/05/17(土) 17:16:53ID:pIXJPsBGじゃあhtmlとかcssみたいにこっそりのぞいて勉強できないですね
0816nobodyさん
2008/05/17(土) 17:18:03ID:???0817nobodyさん
2008/05/17(土) 17:20:20ID:JWWL4JKmまたはエラーコード丸出しのサイトで想像するくらいですかねぇ。
何気に質問です。
【環境】
php 5.16
mysql 5.027
確かmysqlに、selectなり、insertした時に、エラーが発生した場合の、
mysqlからの戻り値を吟味、評価する何かがあった気がするんですが、すっかり忘れました;;
php側でエラーを取得したいんですが…
現状try catch文で、代用してますが、
昔違う方法で、同僚がやってたのをふと思い出しまして…「ぁぁ、戻り値をこうすると、エラーかどうか分かるんだよ?」と言われた記憶が…
お助けを;;
0818nobodyさん
2008/05/17(土) 18:34:50ID:???0819nobodyさん
2008/05/17(土) 20:42:28ID:4CSzjJPzParse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in
というエラーが出たのですが、
これはどのようなエラーなのでしょうか?
0820nobodyさん
2008/05/17(土) 20:57:06ID:???http://jp.php.net/manual/ja/tokens.php
0823819
2008/05/17(土) 21:48:15ID:4CSzjJPzなるほど、
私のエラーはクラスの構文が違ってたことが原因だったようです。
ありがとうございました
0824nobodyさん
2008/05/17(土) 22:18:08ID:???PEAR::AUTHを使ってみたいのですが、
パスワード暗号化の時saltを付け加える事ってできますか?
暗号化方法の選択でSMD5等が無いようなので…
0825nobodyさん
2008/05/18(日) 19:19:31ID:???<title></title>の間の「Yahoo! JAPAN」を
取り出すにはどうすればいいでしょうか?
0827nobodyさん
2008/05/18(日) 19:34:11ID:???正規表現を使えば出来る。
ttp://pc11.2ch.net/test/read.cgi/php/1168450843/
ここで同様の質問があるからログ見てくるといい。
0828nobodyさん
2008/05/19(月) 00:47:29ID:L88nqu8x<entry>
<title>タイトル</title>
<link rel="related" type="text/html" href="http://" />
<link rel="alternate" type="text/html" href="はてブリンク" />
<issued>2008-05-17T15:59:02+09:00</issued>
<id>ID</id>
<summary type="text/plain">コメント</summary>
<dc:subject>タグ1</dc:subject>
<dc:subject>タグ2</dc:subject>
</entry>
上記の<dc:subject>の部分どうやっても取得できません。
プログラムとしてはこんな感じです。
$xml = simplexml_load_file('dump.xml');
echo $xml->title."<br>\n";
echo "<dl>";
foreach($xml->entry as $entry){
echo "<dt>".$entry->title."\n";//タイトル取得
echo "<dd>".$entry->link['href']."\n";
echo "<dd>".$entry->dc:subject."\n";
}
echo "</dl>";
dc:subjectは複数取得する必要があるのですが1つでもいいので取得できる方法が知りたいです。
教えてください。よろしくお願いします。
0829nobodyさん
2008/05/19(月) 03:33:11ID:J1ghAnPWhttp://hogehoge.com/~dir/text.txtというテキストファイルから
http://〜/で囲まれたURLの文字列を取り出して、index.htmlというファイルに出力する方法をご伝授ください。
0830nobodyさん
2008/05/19(月) 03:55:06ID:???そもそもそれパースできてる?名前空間URI指定しないとwarningが出てくると思うけど。
>>829
ファイルを開いて文字列をとして読み込む処理
文字列から特定の部位を取り出す処理
ファイルに出力して処理
などに問題を切り分けて考えると吉
0832nobodyさん
2008/05/19(月) 09:12:59ID:N7CUDUPC2・一致した場合、その文字列を配列から削除しTRUEを返す
これ一度にできる関数ないですか?
探したけどなぜか見つからない・・・。
0833nobodyさん
2008/05/19(月) 10:13:43ID:???trueを返すなんて自分仕様なら自作しよう
0834nobodyさん
2008/05/19(月) 11:37:45ID:???0835nobodyさん
2008/05/19(月) 14:13:06ID:???0836831
2008/05/19(月) 14:33:02ID:N7CUDUPC少し改変します。
1・配列から文字列をサーチ
2・完全に一致した場合、その要素(エントリー?)を配列から削除
です。
0837nobodyさん
2008/05/19(月) 14:51:12ID:???2.unset
0838nobodyさん
2008/05/19(月) 21:16:43ID:???ありがとうございます
まったく同じ質問内容のものがあったので参考にさせていただきました。
正規表現について勉強してみようと思います。
0839nobodyさん
2008/05/20(火) 07:44:49ID:???requireとreadfileも試しましたが駄目でした。
phpinfoでドキュメントルートが正しいことは確認したのですが。
0840nobodyさん
2008/05/20(火) 07:47:44ID:???0842nobodyさん
2008/05/20(火) 11:01:31ID:???0843nobodyさん
2008/05/20(火) 11:41:50ID:???SSIのinclude virtualだとドキュメントルートからなので、絶対パスの勘違いしてましたorz
どうもありがとうございます。
0844nobodyさん
2008/05/21(水) 17:45:20ID:???IEでは正常に全角文字が表示されるのに、
FireFoxや、ケータイでは見れません。
どういうことが考えられますか?
0845nobodyさん
2008/05/21(水) 17:51:11ID:???実際の文字コードとHTTP/HTMLヘッダーでの指定が違うとか
0846nobodyさん
2008/05/22(木) 16:37:32ID:???何か特別な書き方とかありますでしょうか。
class_function(a);と入れるとうまく結果が返るのですが、
引数に変数を入れると結果が返ってきません。
$class_handling = new CLASS();
$class_handling->class_function($var);
と書いてます。
class_function('$var')とか
class_function("$var");とか
class_function(var);など、
何か書き方があるのでしょうか。上記では全てだめでした。
0847nobodyさん
2008/05/22(木) 16:47:13ID:???0848nobodyさん
2008/05/22(木) 16:52:57ID:???class_function(a)と書くと
関数の中でaと紐付けられたbが画面に出力されるのですが、
変数(変数の中身はa)を入れると何も出力されないという状態です。
0849nobodyさん
2008/05/22(木) 17:00:11ID:???どこかの文法が間違ってただけみたいです。すみません。
0850nobodyさん
2008/05/22(木) 17:06:38ID:???0851nobodyさん
2008/05/22(木) 17:16:02ID:???゚\(^o^)/ビータマヒロタ
0852nobodyさん
2008/05/22(木) 17:19:50ID:???(`・ω・´)
I.ノ^ yヽ、
ヽ,,ノ==l ノ[1000]
/ l |
"""~""""""~"""~""
1010円と交換してくれ!!
早くしないと嫁に怒られる!!
0853nobodyさん
2008/05/22(木) 17:22:24ID:???0854nobodyさん
2008/05/22(木) 17:23:53ID:???0855nobodyさん
2008/05/22(木) 18:11:25ID:Sb8MEaO1Warning: require_once(Smarty.class.php) [function.require-once]: failed to open stream: No such file or directory in C:\**\**\**\**.php on line 3
Fatal error: require_once() [function.require]: Failed opening required 'Smarty.class.php' (include_path='.;C:\xampp\php\pear\') in C:\**\**\**\**.php on line 3
本を見ながらphpを勉強中ですが、smartyを使うところでできなくてわからなく
なりました。
0856nobodyさん
2008/05/22(木) 18:22:03ID:???include_pathにコピーしたか?
0857nobodyさん
2008/05/22(木) 18:28:06ID:???0858nobodyさん
2008/05/22(木) 19:40:41ID:CUpU+Unyしてないです。
どこですればいいんですか?
>>857
本のまんまやったんですけどxampp使うのはしょぼいんですか...?
0859nobodyさん
2008/05/22(木) 19:55:30ID:???0861nobodyさん
2008/05/23(金) 14:59:58ID:???0862nobodyさん
2008/05/23(金) 21:07:22ID:???xamppの方が良いと思うんだが
本来の目的はphpを学ぶ事にあるんだし
サーバー設定云々は後でも良い
0863nobodyさん
2008/05/23(金) 21:29:35ID:???>xamppの方が良いと思うんだが
訳がわからん。分かってから使えよ。
>本来の目的はphpを学ぶ事にあるんだし
>サーバー設定云々は後でも良い
いやサーバ設定学んでからPHP学べよ。
両者は切っても切り離せない関係なんだから。
結局分からなくて困って人の世話になるんだろうが。
順序が正反対すぎ。楽しようとしすぎ。どんだけゆとりだよ。
0864nobodyさん
2008/05/24(土) 15:57:56ID:???profileテーブルのfavalitカラムにりんご、別のfavalitカラムにみかんが入ってるとして、
$result = mysql_query("select favalit from `plofile` where name =山田");
$raw = mysql_fetch_array($result, MYSQL_NUM);
var_dump($raw);
これではりんごしか出てきてくれないんですが、
nameが山田になってるfavalitカラムの中身全部出したいときはどうすればいいのでしょう?
0865nobodyさん
2008/05/24(土) 16:22:41ID:???> 別のfavalitカラムにみかん
別の行ではなく、別のカラム?
同じ行に二つのfavalit?
0866nobodyさん
2008/05/24(土) 16:25:21ID:???別の行に入っているものです。
0867nobodyさん
2008/05/24(土) 16:27:53ID:???name favalit
山田 りんご
林 キウイ
山田 みかん
林 いちご
山田 車
0868nobodyさん
2008/05/24(土) 16:32:47ID:???profile!
favorite!
0869nobodyさん
2008/05/24(土) 16:33:46ID:???0871nobodyさん
2008/05/24(土) 17:57:57ID:???もう少し色々調べてみます。
0872nobodyさん
2008/05/25(日) 12:20:45ID:???xampとかは
初心者向けの本とかで良く使われてるんだから
どういったものか解らずに使うやつは居る
そしてサーバとPHPは完全に切り離す事はできなくても
ある程度切り離して考えられるだろ
何でもかんでもまとめてやろうとすると
どれも中途半端に終る事が多いんだから
必要があれば勉強すれば良いんだよ
0873nobodyさん
2008/05/25(日) 13:43:01ID:???0874nobodyさん
2008/05/25(日) 13:47:57ID:???無設定のものを設定するよりも、
設定されているものをいじるほうが手っ取り早い。
サンプルにもなっているのだから理解も早い。
0875nobodyさん
2008/05/25(日) 15:00:53ID:???0876nobodyさん
2008/05/25(日) 15:49:20ID:???0877nobodyさん
2008/05/25(日) 19:08:12ID:???初めてプログラミングする奴は、はやっく自分でコード書いて動かしてみたいってのが殆んどじゃないかな
環境つくるので挫折するやつって多いしな
0878nobodyさん
2008/05/25(日) 20:17:35ID:???↓
(2)ある程度 PHP に慣れた頃に環境構築できるようになる
ぶっちゃけ、(1)になってしまう人多いよねw
0880nobodyさん
2008/05/25(日) 20:45:42ID:???0881nobodyさん
2008/05/25(日) 21:16:28ID:???httpd.confやphp.iniを一から書くわけじゃないだろ。
ある程度書かれてあるものを読んで必要なところを
変えていきながら慣れていくのが、
勉強するのには効率いいよ。
0882nobodyさん
2008/05/26(月) 09:46:54ID:???質問して返事を待つばかりじゃ一向に進まない。
0883nobodyさん
2008/05/26(月) 11:56:28ID:???ココみたいなRSSアンテナのサイトを作りたいのですが
どういう所を勉強すればいいですか
ほかにも
・取得した記事の記事内や記事タイトル、カテゴリで振り分けをしたり
・記事内に画像リンクがあったらそれを小さくして自動で表示する
ようにしたいのですが
0884nobodyさん
2008/05/26(月) 11:58:25ID:???どうせレン鯖借りるんだろーし・・・
俺はphp4はアパチphp5はxamppでローカル環境作ってる
↑結論はこれが1番じゃね?w
0885nobodyさん
2008/05/26(月) 13:40:03ID:???それがあなたにとっての結論なのかもしれませんな
0886nobodyさん
2008/05/26(月) 14:06:23ID:???訳分からない俺俺スタンダードを結論にしてんじゃねーよ。なんつー自己中だ。
0887nobodyさん
2008/05/26(月) 14:32:59ID:???php.iniとhttpd.confはコメント和訳版と差し替え。
正社員はLinuxインストールから教える。
英語資料の使い方も教える。
必要な知識を必要なレベルで覚えればそれでいい。
趣味でやる人はxamppでも十分。
職業でやる人はxamppでは不足。
0888nobodyさん
2008/05/26(月) 14:40:41ID:???無意味。
0889nobodyさん
2008/05/26(月) 15:03:55ID:???おまえ、ちゃんと文章理解したほうが・・・w
WEBサーバー構築できないんじゃなくて、
簡単に4と5を切り替えれる環境のWEBサーバー
を構築してるのでは?
0890nobodyさん
2008/05/26(月) 15:05:21ID:???0891nobodyさん
2008/05/26(月) 15:13:48ID:???4と5の切り替えなんてxamppなんて使わなくてもできる。
というか何故Webサーバを二重に建てる必要がある?理解に苦しむ。
分かってないのはお前のほうじゃないか。
0892nobodyさん
2008/05/26(月) 15:26:02ID:???0893nobodyさん
2008/05/26(月) 15:28:29ID:???4と5の切替のためにウェブサーバを2つ用意してるのでしたら、
冗談抜きで勉強しておいた方が後々のためになると思いますよ
0894nobodyさん
2008/05/26(月) 18:14:17ID:???xamppなどのツールを使う以外に早く構築できる方法があったら晒してみ(・∀・)ニヤニヤ
片方はcgiで。。。とか無しなw
0897nobodyさん
2008/05/26(月) 18:35:05ID:???状況によって選択すればいい。
0899nobodyさん
2008/05/26(月) 18:39:59ID:???何が駄目なのか分からん
0900nobodyさん
2008/05/26(月) 22:22:14ID:???しこしこフレームワークも使わず
全部自作して、作ったものは結局ワンランク下。
まあこういうやつ、いますね。迷惑です。視ね。
0901nobodyさん
2008/05/27(火) 04:06:57ID:???xampp使ってphp.iniやapacheが分からないと言ってすぐ人に泣きつく奴は。
0902nobodyさん
2008/05/27(火) 05:37:29ID:???君は体育や道徳の時間にノートを取ったのか?
趣味でやっている奴にはテストなんてナイナイ。
共通サイドメニューをinclude出来れば十分な奴も多いんだぜ?
0903nobodyさん
2008/05/27(火) 09:41:08ID:???xampp使おうが、1からアパッチインスコしようがphp.iniやhttp.confの設定が
よくわからんというのは共通だと思うのだが具体的にどこが違うんだ?w
0904nobodyさん
2008/05/27(火) 10:18:52ID:???テストでいい点を取る奴だな?
0906nobodyさん
2008/05/27(火) 12:17:35ID:???(忙しい人 || 鯖設定の知識いらない || 充分な知識がある) → xampp
(暇な人 || インストール画面を見ないと気がすまない || 努力の無駄遣いをしたい) → apache
0908nobodyさん
2008/05/28(水) 01:41:42ID:???勘違いしていたわけかwww
とんだ間抜けだwww
0909nobodyさん
2008/05/28(水) 11:02:33ID:w4MJsYGNiモードでそこにアクセスしたらページはちゃんと飛ぶんだけど、
飛ばされたURLの末尾の#以降が無くなっててページの頭から表示されてしまうんだが何か上手いやり方はない?
FireFoxでアクセスしたら#以降も付いてちゃんと動いてくれたからiモードじゃどうにもならんのかな?
0910nobodyさん
2008/05/28(水) 11:13:03ID:???(充分な知識がある || 自己責任でやれる) → XAMPP
(初心者 || 勉強する必要がある人 || その他一般的な用途) → Apache+MySQL+PHP+Perl
0911nobodyさん
2008/05/28(水) 14:57:54ID:???商品名はFirefoxなのに何故か
FireFoxって"F"がCapitalにしている人はわざとなのかな?
http://www.mozilla-japan.org/products/firefox/
GoogleをGooGleと書かれてしまうようなガッカリ感があるw
0912nobodyさん
2008/05/28(水) 15:00:03ID:???gooとgleって一般的な英単語があるのか?
0913nobodyさん
2008/05/28(水) 15:06:36ID:???火狐に見えるから、仕方無いだろうね。
0914nobodyさん
2008/05/28(水) 15:17:00ID:???Firefoxのアイコンはキツネが燃えてるだろ
0915nobodyさん
2008/05/28(水) 15:37:51ID:???キツネ?
あれ、レッサーパンダなんだけど…
http://ja.wikipedia.org/wiki/%E3%83%AC%E3%83%83%E3%82%B5%E3%83%BC%E3%83%91%E3%83%B3%E3%83%80
0916nobodyさん
2008/05/28(水) 15:48:16ID:???0917nobodyさん
2008/05/28(水) 15:49:15ID:???>なぜかブラウザのロゴにはレッサーパンダというより炎 (fire) の尻尾を持つキツネ (fox) に似た姿が描かれている。
0918913
2008/05/28(水) 15:55:09ID:???でも、Fire+fox(火狐)に見えるということ。
ロゴマークは狐らしいね。
http://foxkeh.jp/faq/
フォクすけ FAQ
> Q. なぜレッサーパンダ (英語:firefox) ではなく狐なの?
> A. Firefox のロゴマークが狐をモチーフにしたものであることから、
> 同じく狐がモチーフとなっています。
0920nobodyさん
2008/05/28(水) 15:57:46ID:???0921nobodyさん
2008/05/28(水) 16:19:28ID:???0922nobodyさん
2008/05/28(水) 16:55:19ID:???0923nobodyさん
2008/05/29(木) 05:06:34ID:???require_once "HTTP/Request.php";
したのですが
Warning: require_once(HTTP/Request.php) [function.require-once]: failed to open stream: No such file or directory in /home1/httpd/ventz/public_html/http.php on line 2
Fatal error: require_once() [function.require]: Failed opening required 'HTTP/Request.php' (include_path='.:/usr/local/lib/php') in /home1/httpd/ventz/public_html/http.php on line 2
となりました。どうしたら使えるんでしょうか??
0925nobodyさん
2008/06/01(日) 00:56:21ID:???ブラウザでできるという事でプレイを始めやすいですが、
多人数が同時にプレイすると、
他人のプレイの影響を受けるゲームではないのに、
サーバーに負担がかかったしまう気がします。
0926nobodyさん
2008/06/01(日) 00:58:17ID:???0927nobodyさん
2008/06/01(日) 01:33:29ID:???他人のプレイの影響があるかどうかより
PHPの処理負荷とリロードなどHTTPアクセス頻度の多さが問題じゃない。
そもそも何か操作するたびにPHPを実行するなんて何人用であろうと向いてない気がする。
JavaアプレットかFlashでゲームを作るんじゃないかな。
で、ハイスコアの記録だけPHPを使う。
0928925
2008/06/01(日) 02:42:32ID:???PHPではないと実装しにくい所だけPHPにすればいいのですね。
勉強がてらに戦闘だけのRPGを作っていましたが、
たしかにPHPのみで作っていました。
コマンド入力はフォームボタンで行い、
$_SERVER["SCRIPT_NAME"]に出力するようにして、
$_SERVER["REQUEST_METHOD"]でチェックしていました。
0930nobodyさん
2008/06/01(日) 17:39:17ID:???負荷がかかりすぎたら禁止とかいろいろだよな。
大人気のゲームじゃあるまいし
たいした負荷じゃない気もするが。
0931nobodyさん
2008/06/01(日) 17:42:06ID:???場合によってはF5アタックよりたち悪いし。
0932nobodyさん
2008/06/02(月) 09:35:55ID:???あれインストールするやつが数人いただけでサーバ負荷すごいことになったw
まあプレイ人数の問題もあるしな
0933nobodyさん
2008/06/03(火) 00:25:03ID:nQlafZ13php.iniの中でphp_mb_stringとphp_mysqlを有効にしたのですが(extensionの項目)
phpinfoで見ると、項目が現れず、実際のスクリプトでも"不明な関数が呼ばれた"といったエラーになります。
各dllファイルが入っているディレクトリはphp.iniのextension_dirに指定が済んでいます。
ちょっと漠然としてますが、チェックすべき点というか思い当たる点などありませんか?
0934nobodyさん
2008/06/03(火) 02:29:20ID:???0935933
2008/06/03(火) 05:59:56ID:kMczNHNH再起動は変更のたびおこなっていました。
先ほどやっと気づいたのですが、phpinfoで表示される内容には、
上記2つのextensionだけでなく、ほかの設定も反映されていませんでした。
たとえばdoc_rootを指定してるのにno valueだったり、
extension_dirはc:/php/extを指定してるのにc:/phpだったり、
その他、文字コードなども同様です(no valueなど)。
それでphp.iniが読み込まれていないのではないかと思いました。
OSが2000なのでc:/WINNT下に配置してるので問題ないと思うのですが・・
apacheの設定がよくないのかな・・なお、確認してみますm(_ _)m
0936nobodyさん
2008/06/03(火) 06:23:50ID:???0937933
2008/06/03(火) 06:39:22ID:kMczNHNHありがとうございます!ビンゴでした。
ググッたりしてうやむやのままApacheの設定の方に
phpinidirをc:/phpと追記していました。
おそらくc:/WINNTがデフォルトだろうとコメントアウトしてみたところ
うまく読み込めて、動作確認できました。
追記する際、少し意味を考えれば・・・お恥ずかしいですorz
0938nobodyさん
2008/06/03(火) 07:50:20ID:???現在読み込んでいるphp.iniのパスが分かるはずよ。
0940nobodyさん
2008/06/04(水) 17:47:38ID:???下記のように書いているのですが
成功も失敗も表示されません。
書き方が間違っているのか、
さもなくば変数の値が間違っているのかと思うのですが、
書き方をチェックして頂けませんでしょうか。
------------
$db = pg_connect("host=localhost dbname=dbの名前 user=*** password=***");
if(pg_connect($db) == FALSE){
print "失敗";
}
else{
print "成功";
}
0941nobodyさん
2008/06/04(水) 18:02:04ID:???変数の中身も表示させてみては
0942nobodyさん
2008/06/04(水) 18:13:44ID:???モジュールがインストールされていなかっただけでした。
0943nobodyさん
2008/06/04(水) 18:18:55ID:???\(.\ ノ
0944nobodyさん
2008/06/04(水) 18:32:05ID:???0946nobodyさん
2008/06/04(水) 20:16:57ID:???0947nobodyさん
2008/06/04(水) 22:27:27ID:???0948nobodyさん
2008/06/04(水) 22:33:55ID:???0949nobodyさん
2008/06/05(木) 17:18:06ID:???|契約日|担当者名|商品名|
というmysqlのテーブルがありまして
行=契約日
列=担当者名
セルの中身=商品名
という形でhtmlのtableに出力したいとします。
私の前任者は以下のようなアルゴリズムで処理していました
*SQL query (SELECT distinct(担当者名))
*ループで担当者名を配列 $担当 に入れる
*SQL query (SELECT distinct(契約日))
*ループで契約日を配列 $契約日 に入れる
*table内に出力
for ($i=0 ;$i <count($担当); $i++){
for($ii=0;$ii <count($契約日); $ii++){
*SQL query (SELECT 商品名 from 売上表 WHERE 担当者名=$担当[$i] AND 契約日=$契約日[$ii])
*echoで出力
}
}
tableのセル一つ毎にクエリを発行しているので、webページにアクセスするたびに5000回近いクエリ。
これは鯖的に大丈夫なのでしょうか?
駄目な場合、どこが駄目で、改善するにはどうすればいいのでしょうか?
0950nobodyさん
2008/06/05(木) 17:38:45ID:???0951nobodyさん
2008/06/05(木) 17:39:27ID:???セル毎じゃなくて$tanto毎のクエリで充分でないかい?
0952nobodyさん
2008/06/05(木) 17:40:56ID:???0953nobodyさん
2008/06/05(木) 19:02:43ID:???0954nobodyさん
2008/06/05(木) 22:35:55ID:SWDrHyA/} else if (rand(0, 99)==3) {
$fp = fsockopen("www.example.com", 80);
if ($fp) {
・・・
とある配布スクリプトに次のような行があったのですが
これって何をしているんでしょうか
www.example.com(実際は違う)に接続したりするんでしょうか
マニュアルを見たら
fsockopen — インターネット接続もしくはUnix ドメインソケット接続をオープンする
ってあったのですが
ドメインソケットとかオープンとかよくわからなくて
0955nobodyさん
2008/06/05(木) 22:54:05ID:???どういうスクリプトなのかと、続きの内容を書いてみ。
スクリプトの内容によるが、
スパイウェア的なものかもしれん。
作者のサイトに、設置場所を送信してたり。
0956nobodyさん
2008/06/05(木) 22:58:17ID:???まじですか・・・??
if (substr(md5($tmp_dev_id1), 0, 2)!=$tmp_dev_id2) {
//
} else if (rand(0, 99)==3) {
$fp = fsockopen("www.example.com", 80);
if ($fp) {
fwrite($fp, "GET / HTTP/1.0\r\n\r\n");
stream_set_timeout($fp, 2);
$res = fread($fp, 256);
$info = stream_get_meta_data($fp);
fclose($fp);
if ($info['timed_out']) {
} else {
//echo $res;
}
}
}
こんな感じです(www.example.comの部分は変えています)
まだ必要でしたらその記述があるファイルだけどこかにアップロードします
0957nobodyさん
2008/06/05(木) 23:24:21ID:???0958nobodyさん
2008/06/06(金) 16:26:07ID:???0959nobodyさん
2008/06/06(金) 17:13:47ID:OXdnxMIACOOKIE使えない状態でログイン情報を保持するということは
GET,またはPOSTで連れまわすしかないわけですが
画像にリンクを貼りたいのでGETでしか送信できません。
URLにIDとPASS情報を常に表示した状態で歩き回るのに違和感を感じます。
もちろんURLの一部を変更されたところではじくようにはなっているのですが、、、。
携帯ではこのようなログインが普通なのでしょうか?
せめてbase64で変換するぐらい?
またはログインしたらランダムな文字列を発行しそれを連れまわす?
すいませんがよろしくお願いします。
0960nobodyさん
2008/06/06(金) 18:21:18ID:???URLに直接日本語を入れるとだめになる
search.php?keyword=にちゃんねる
見たいな感じだと文字化け
なにを調べればいいですか?
0961nobodyさん
2008/06/06(金) 18:33:07ID:???↓のサイトでデコードしてみる。
http://www.tagindex.com/tool/url.html
0962nobodyさん
2008/06/06(金) 18:40:14ID:???http://ja.wikipedia.org/wiki/URL%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%89
0963nobodyさん
2008/06/06(金) 19:20:26ID:???ちなみにフォームで「にちゃんねる」を検索すると、
↓
Your search for 'にちゃんねる' returned 0 results
URLに直接キーワードを入れると、
↓
Your search for 'u"・・・・衂 returned 0 results
となります
フォームで検索したとき、URLを見るとURLエンコードされています
ブラウザのエンコードはEUC-JPで、データベースにもEUC-JPで入っています
最終的には、URLにURLエンコードしてない日本語文字列にて検索結果を表示したいと思っています。
↓
search.php?keyword=にちゃんねる
phpをいじって解決する方法を模索中です
0964nobodyさん
2008/06/06(金) 19:56:32ID:???その「URLに」てのはブラウザのアドレス欄にって意味か?
んなものはブラウザの勝手でPHPでどうなるものじゃないぞ
0965954=956
2008/06/06(金) 20:29:07ID:00gihzUB956は何をしているコードなんでしょうか
www.example.comの部分は製造元のアドレスです
0966nobodyさん
2008/06/06(金) 20:32:55ID:???その配布先書いたほうが早かろう
0967nobodyさん
2008/06/06(金) 20:39:31ID:???ttp://a-draw.com/uploader/src/up1264.txt.html
なんですが・・・
オリジナルのファイル名は
view.php
です
0968nobodyさん
2008/06/06(金) 20:55:51ID:???0969nobodyさん
2008/06/06(金) 21:03:55ID:???配布元を書けって。
0970nobodyさん
2008/06/06(金) 23:43:57ID:???PHPのセッションは、php.iniの「session.use_trans_sid」の設定を1にして、
セッション関数使うと、自動的にGETで引き回してくれるよ。
0971nobodyさん
2008/06/06(金) 23:59:07ID:???>URLにIDとPASS情報を常に表示した状態で歩き回るのに違和感を感じます。
だからGETで引き回すのはNGなんだな。
一応ワンタイムSIDにIDとPASSを紐つけておくという手もあるな。
遷移前にSID,ID,PASSのレコードを作ってサーバ側に保管
SIDが呼ばれたらIDとPASSを読み出してレコード削除
Q. DB負荷が気になるのですが。
A. あきらめれ
0972970
2008/06/07(土) 00:09:22ID:???ソレだったら普通にセッション吐いて、GETでセッション引き回して、
セッション内に、IDのみを格納するとかでいいんじゃなくて?
それだとセキュリティ的に問題なんかね。
0973nobodyさん
2008/06/07(土) 03:53:33ID:???あと携帯の場合のIP範囲もみてた
0974nobodyさん
2008/06/07(土) 14:21:12ID:MmjCOEMo∩ ・∀・)∩∩ ´∀`)∩ このレスを見た人はコピペでもいいので
〉 _ノ 〉 _ノ10分以内に3つのスレへ貼り付けてください。
ノ ノ ノ ノ ノ ノそうすれば14日後好きな人から告白されるわ宝くじは当たるわ
し´(_) し´(_) 出世しまくるわ体の悪い所全部治るわでえらい事です
0975nobodyさん
2008/06/08(日) 00:36:30ID:???0978nobodyさん
2008/06/08(日) 22:12:29ID:???0980nobodyさん
2008/06/08(日) 22:27:30ID:???どうもありがとう
0981nobodyさん
2008/06/08(日) 22:31:16ID:???こちらの話を無視する人にどうして情報を教える義理がある
0982nobodyさん
2008/06/08(日) 22:35:55ID:???0984nobodyさん
2008/06/08(日) 22:50:56ID:???俺PHPよくわからんが
rand(0, 99)==3だから3%の確率で
www.example.com:80をGETして
でもその後特に何もしてない。
0985nobodyさん
2008/06/08(日) 22:57:50ID:???事が大きくなるのを避けたいと願うこちらの心情もお察しください。
2ちゃんねるという性格上、どうしても起こり得ることなので。
そのため、書かれていたURLもずっと伏せてまいりました。
むしろ、提示した当該スクリプトのみで何一つわからないと言うわけではないとすれば
なぜ配布パッケージ丸ごとを提出しろ、配布元を提示しろ、と強いるのか、
その点がますます上記の懸念を強固に抱いてしまいます。
0989nobodyさん
2008/06/08(日) 23:10:21ID:???0991nobodyさん
2008/06/08(日) 23:12:36ID:???タダで使わせてやるが、クリックの1%は俺が貰う系のやつ。
0992nobodyさん
2008/06/08(日) 23:14:29ID:???判ったぞ、つまり「Unix ドメイン」の意味がわかれば解決でしょ。
でもちゃんと回答しようとするほど「rand(0, 99)==3」とか意味不明な点が気になるんだよ。
こちらの心情もお察しください。
0994nobodyさん
2008/06/08(日) 23:32:10ID:???0995nobodyさん
2008/06/08(日) 23:33:17ID:???0996nobodyさん
2008/06/08(日) 23:39:37ID:???>事が大きくなるのを避けたい
そのスクリプトが韓国製だからといって叩かれるとでも?
情報小出しが一番嫌われるっていい加減気付けよ
0997nobodyさん
2008/06/08(日) 23:48:56ID:???0998nobodyさん
2008/06/08(日) 23:56:26ID:???>.955に続きを書くように言われたため、要求された続きの部分を書きました。
その後、とくに返答が無いので再度>>965で伺いましたが、
>>966で提示したコードだけではわからないという言葉をいただいたため>>967を書きました。
>>966では配布元を書いたほうがいいとの指摘がありますが
>>985で書いた不安があるため配布元の提示を避けていました。
ただ、その時点で「配布元の提示できない」と断言してしまうと
俺たち(2ちゃんねらー)を信用できないのか、と気分を害してしまう恐れがあったため
あいまいな返答をしてしまいました。
結果的に気分を害することとなり申し訳なく思っています。
スクリプト自体は国産だと思います。
スクリプト内の自然言語は日本語で、配布サイトも日本語で書かれています。
0999nobodyさん
2008/06/08(日) 23:57:42ID:???×「配布元の提示できない」
○「配布元の提示はできない」
1000nobodyさん
2008/06/09(月) 00:17:32ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。