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

【PHP】質問スレッドpart21【php】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/08/27 18:00ID:???
・PHP全般の質問スレです。
・新規質問の方は上げてください。age進行でお願いします。
・質問する際には環境も明記。
・正しい日本語で分かりやすく。
・レスがつかないからって逆切れする厨お断り。
・解決しなくてもこたえてもらったら礼を。


■本家
 http://www.php.net/

■日本 PHP ユーザ会
 http://www.php.gr.jp/

■PHP マニュアル
 http://www.php.net/manual/ja/

■PEAR マニュアル
 http://pear.php.net/manual/ja/

過去スレ, 関連スレ等>>2-4
0514nobodyさん04/09/06 14:00ID:???
>>513
HTMLからやり直し
051534004/09/06 14:09ID:???
POSTの場合、フォーム入力が必要になりますよね、
フォーム入力させるのは無理なんです。
メールフォームの関係上
0516nobodyさん04/09/06 14:14ID:???
>>515
全部Perlでやりゃいいじゃん・・・
拾い物に少し手を加えればいいだけだろ?
0517nobodyさん04/09/06 14:15ID:???
>>513
アドレスの後についてるのはゲットじゃないかな?
0518nobodyさん04/09/06 14:22ID:???
(´-`).。oO(>>512 ソンぐらい作れよ)
0519nobodyさん04/09/06 14:30ID:???
>>518
html部分が面倒なんだよな・・・・

052034004/09/06 14:45ID:???
単純にGET使ってみたんですが、これって何か問題ありますかね?
0521nobodyさん04/09/06 14:49ID:???
お前が何かする都度質問するのか?
答えなきゃならんのか?
052234004/09/06 14:53ID:???
>>521
GETを使えという方が一人もいらっしゃらなかったもので
まさか皆さんが思いつかないような方法を僕ごときが思いつくとは
思えませんのでねぇ
0523nobodyさん04/09/06 14:56ID:???
>>522
藻まえが思ってるほどここの住人頭よくない
基本的にプログラミングなんて社会の底辺がすること
0524nobodyさん04/09/06 14:59ID:???
茶碗は左、箸は右
0525nobodyさん04/09/06 15:10ID:???
>522
お前は天才だ。
何も教えることは無い。
一人で何でもできるだろう。
0526軟式PHP04/09/06 15:15ID:???
>>523
同意。
でも楽しいからいいよ。・゚・(ノ∀`)・゚・。
0527nobodyさん04/09/06 15:17ID:???
GETメソッドはブラウザの履歴に値が丸々残る。
送られた方にはあまり関係ないが、送る方の都合やメールという方向性を考えた場合
送信側のリスクは大きくなるだろうね。
ネットカフェや不特定多数が使う端末なんかで個人情報漏洩する事も考えうる。
052834004/09/06 15:24ID:???
>>527
なるほど、名前だとかなりリスクありますね・・・。
他の方法考えます。サンクスです
0529nobodyさん04/09/06 16:20ID:???
>>528
>>527の理由でゲットは誰も言わなかったんだろうね。
0530nobodyさん04/09/06 18:06ID:???
つーか、フォームメールでGETなんかありえない
文字数制限あるし
0531軟式PHP04/09/06 20:02ID:???
制限は問題ないでしょう
0532軟式PHP04/09/06 20:22ID:???
偽者キタ━━━━(Д゚(○=(゚∀゚)=○)Д゚)━━━━━!!!
そしてまた台風きそうだよ(´・ω・`)
0533nobodyさん04/09/06 20:41ID:???
>>531
今回の場合、名前だからね。
まさか、ジュゲムジュゲム・・・・な人はこないだろうし。
0534nobodyさん04/09/06 22:34ID:???
>>533
この人って、メールフォームは Perl で、submit後のメール送信までは Perl でやるんだよね。きっと。
で、メール送信が終わったら、完了画面を出すために、Location で PHPスクリプトに移動するってことなのかな。
そこで送信者名だけをパラメータとして引き回すなら、GET でもこと足りそうだね。

でも、わざわざそれしきのことのために別スクリプトに移動しなくてもなぁ、と思うよ。
基本的に HTML に変数埋め込み程度しかできない人なのかな。
そうだったとしても、Perl スクリプトに手を入れてみるくらいのことは出来そうだけどね。
ちょっとがんばってみたら? >>340
一番シンプルかつ簡単な解にたどり着けると思うよ。
0535nobodyさん04/09/06 23:25ID:???
PHPカワイイよPHP〜
0536カポコン04/09/06 23:29ID:???
天下泰平、めでたし、めでたし。
0537nobodyさん04/09/07 01:04ID:???
>>491さん>>494さん
経過としては
HEADリクエストで返ってきたヘッダを1行ずつ配列に組み込み
そこからLast-ModifiedをGMT標準時間で取得し
strtotime関数でUNIX標準の時間表記に直してGMT+9の値を取得。

ここまでの事が短時間に勉強できて感動です。
ありがとうございました( つ∀`)
0538nobodyさん04/09/07 11:13ID:kzLAff5m
>>402
簡単にできると思ってやってみましたが" target="_blank"入れると、エラーになりますね…
>>404
php理解してないと、どこに" target="_blank"を入れるかわからないのでは?
0539nobodyさん04/09/07 11:18ID:???
>>538 = >>402 ;
#HTMLの勉強して下さい。
0540軟式PHP04/09/07 11:35ID:???
>>538
http://tohoho.wakusei.ne.jp/html/a.htm
0541軟式PHP04/09/07 11:35ID:???
どうしてもダメっつんなら、baseで全部ブランクにしてしまえ(藁
0542nobodyさん04/09/07 11:41ID:???
>>538
target='_blank'
にしる。
0543nobodyさん04/09/07 11:51ID:???
>>538=>>402
自作自演の勉強して下さい。

\"$url\"
この「\"」ってのがダブルクオートのエスケープシークエンスだって解んないかな。
echo "で始まってるんだからダブルクオートそのままじゃechoを閉じちゃうじゃん。
target=\"_blank\"だったり>>542だったりtarget=_blankだったり手法は幾つかあるわけで。
つーかぶっっちゃけなんも弄ってないだろ
0544nobodyさん04/09/07 11:53ID:???
なんだっていい。もうお腹いっぱい。
PHPの話がしたい。
0545nobodyさん04/09/07 11:57ID:???
データベース(mySQL)で読み書きする掲示板を作ろうと思うんですが、
ロック機構かなんかを付けて重複処理を見張らないと危ないですか?
0546nobodyさん04/09/07 13:18ID:???
>>545
基本的に多人数で読み書きするものには、ロックは必要です。
データベースの設計によっては自動的に行われるロックで十分なこともあるし、
自分で明示的にロックしなくちゃいけないこともあります。

なんでロックしなくちゃいけないか、その理由を考えれば答えが出ると思います。
0547nobodyさん04/09/07 13:37ID:???
なんで質問スレなのに>>546のようなレスする厨が居るんでしょうね
0548nobodyさん04/09/07 13:40ID:???
>>547
回答に必要な材料がそろってないからでしょ。
0549nobodyさん04/09/07 13:42ID:???
>547
ごちゃごちゃ言わずにお前が答えれば早いだろ
0550nobodyさん04/09/07 13:56ID:???
>>546=>>549
( ´,_ゝ`)

こういう無駄な煽り合いを避けるためにもさっさと君が答えればいいのに
0551nobodyさん04/09/07 13:59ID:???
そしておまえが
>>545=>>550
055254704/09/07 14:01ID:???
>>547=>>550でしたと
0553546=54804/09/07 14:02ID:91MbvsBk
>>550
はずれ。

個人特定は置いといて、無駄な煽り合いを避けるために、おまえが早く答えてやってくれ。
おれは >>545 の質問を読んだ限りでは、>>546 の回答で精一杯だ。
0554nobodyさん04/09/07 14:03ID:???
>>545
普通にinsertするだけならlockもtransactionもいらないんじゃない。
0555軟式PHP04/09/07 14:14ID:???
いらないね。同時書き込みしてもファイルみたいにぶっ壊れることないし。
まぁ整合性を取らないといけないような仕様だったら必要だけど。
0556nobodyさん04/09/07 14:16ID:???
文字列の中に変数がある場合、
その変数を文字列ではなく変数として扱うにはどうしたらいいのでしょうか?
具体的には下の例でdear_papaと出力する場合です。
宜しくお願いします。

string.txt
----------
dear_$mama
----------

<?php
$string = readfile("string.txt");
$mama = "papa";
echo $string;
?>
0557nobodyさん04/09/07 14:24ID:???
これで無理かな
確認は取ってない

----string.txt------
<?php
echo "dear_".$mama;
?>
--------------------

<?php
$mama = "papa";
include("string.txt");
?>
0558nobodyさん04/09/07 14:24ID:???
>>556
string.txt の内容を

dear_<?=$mama?>

みたいにすれば、

<?php
$mama="papa";
include 'string.txt';
?>

でいけるけど、どうよ?
0559nobodyさん04/09/07 14:30ID:???
$hoge[$lob] これ回した時、エラーが山のようにでるのさ。
$hoge["$lob"] これでも、エラーが山のようにでるのさ。
$hoge['$lob'] これだとうごかないのさ。
$hoge[$lob[$i]] これだったらもうほんとねーとんでもないよ。

誰かエラーの取り方教えてください。
宜しくお願い致します<(_ _)>
0560nobodyさん04/09/07 14:33ID:???
>>559
どんなエラーが出るのさ。
エラー文の引用とソースの抜粋を貼り付けてみなよ。
0561nobodyさん04/09/07 14:34ID:???
>>559
おまいが何をしたいのか、どんなエラーがでるのか
それが分からんと何も分からん
というか、その配列の部分がエラー元だと思う根拠も聞きたい
056255604/09/07 14:55ID:???
>>558
素早いレスありがとうございます。

やり方についてはわかりました。
もしよろしければ、それが意味するところを知るには、
マニュアル等でどこを見れば良いかも教えてもらってもいいでしょうか?
0563nobodyさん04/09/07 15:04ID:???
>>559
>$hoge[$lob]
で出てくるエラーを提示してみ。それ自体が構文エラーを吐くことはないと思うが。
0564nobodyさん04/09/07 15:06ID:???
>>562
http://www.php.net/manual/ja/language.basic-syntax.php
<q><?= expression ?> は "<? echo expression ?>"のショートカットです</q>
0565nobodyさん04/09/07 15:06ID:???
>>562
<?=・・・?> の書き方についてなら echo かな。

include したらファイルの内容が表示されることについてなら・・・
どこだろう?
PHPスクリプトは、評価(実行)されるときには <? 〜 ?> の外側はそのまま出力される、ってことを思い出せば理解できるかな?
0566nobodyさん04/09/07 15:11ID:???
>>563
"Notice: Undefined variable"と予想。
056755604/09/07 15:13ID:???
>>562
>>565
またもや素早いレスありがとうございます。
よくよく勉強してみます。
0568nobodyさん04/09/07 15:17ID:???
>>565
includeの項でいいんじゃないかな。
|ファイルが読み込まれるときには、読み込まれるファイルの先頭で
|PHPモードを抜けてHTMLモードになり、最後に再びPHPモードに戻ります。
|このため、読み込むファイル中のPHPコードとして実行する必要がある
|コードは、有効なPHPの開始タグおよび終了タグで括る必要があります。
HTMLモード(そのままechoされる)で。

大元のやりたいことはテンプレートシステムのつくりを調べると
色々な実現の仕方があるということに気がつくと思う。
0569nobodyさん04/09/07 15:29ID:3rwpPIvY
>>556
俺も普通にテンプレートを勉強するのがいいと思う。
0570nobodyさん04/09/07 15:43ID:???
>>559です。

>>560 >>561 >>563 >>566
レスありがとうございます。
Notice [PHP]: Undefined index: in file c: ・・・ 
申し訳ないです。エラーではなかったです。

このメッセージ消す方法はありますでしょうか。宜しくお願い致します。<(_ _)>
0571nobodyさん04/09/07 16:03ID:???
既出の見たのですがよくわかりませんでしたので、再度質問。
掲示板で、串制限する方法おしえてください。
よろしくおねがいします。
0572nobodyさん04/09/07 16:09ID:???
>>570
$lobがundefinedのときにはどんな動作にしたいの?
無視するとか、$lobを0に見立てるとか、なんかあるでしょ?
0573nobodyさん04/09/07 16:10ID:???
>>570
出ている警告のとおりインデックス($lob)をきちんと設定してやればいい。
プログラム的に未設定だったら該当コードをスルーするようにするか。

エラーレポートレベルを下げて「見ない振りをする」という手もあるが、
プログラム初学者の場合、悪い癖が付くのでお勧めできかねる。
0574nobodyさん04/09/07 16:11ID:???
>>570
ていうかNoticeってデフォルトでは出ないはずじゃなかったか
Notice全部イラネってんならphp.iniで
  error_reporting = E_ALL & ~E_NOTICE
今だけ消したいならそのスクリプト中で
  error_reporting(E_ALL | ~E_NOTICE);
でいけると思われ
0575nobodyさん04/09/07 16:39ID:???
>>559です。
>>572 >>573 >>574
ありがとうございます。

ちと、小コードで再現できないので、再現できたらまた来ます。
0576nobodyさん04/09/07 17:22ID:???
noticeを無視するのは良くないクセだ
定義、未定義をしっかり確認するほうがいい
0577ぬるぽ ◆GmgU93SCyE 04/09/07 17:51ID:???
2ちゃんと同じ暗号化ってないかな?
Cryptでやってみたけど多すぎ
0578nobodyさん04/09/07 18:00ID:???
いや、Cryptだが
0579ぬるぽ ◆GmgU93SCyE 04/09/07 18:05ID:UlF+H5yz
$1$EQ2.763.$nLy55zBP12g8ms/abYLiC/と出た
これを10桁&2ちゃんとまったく同じ変換にするにはどうすればよいか・・・
0580nobodyさん04/09/07 18:09ID:???
丸投げスレをのぞいてみたら何か落ちてるかもよ。
0581ぬるぽ ◆GmgU93SCyE 04/09/07 18:09ID:???
>>580
詳細&ガッキボンヌ
0582nobodyさん04/09/07 18:37ID:???
>>571
ちょうどこんなの見つけた
http://headlines.yahoo.co.jp/hl?a=20040907-00000001-imp-sci
058353804/09/07 19:04ID:kzLAff5m
>>543 説明どうも
>>402ではないので あしからず
0584nobodyさん04/09/07 19:21ID:qMLjw9o/
1,2,3,4,5,6,7,8,9,a,b,c,...,z,10,12,13,14,15,...,1z,20,21
というように36進数を連続して生成するためには
なんという関数を使えばよいのでしょうか?
0585nobodyさん04/09/07 19:30ID:???
数字を1ずつ増やす方法が分からないのか、
基底を変換する方法が分からないのか、どっちか分からんけど、
base_convert使っとき。
0586nobodyさん04/09/07 19:34ID:???
>>579
それDESじゃないか?
0587nobodyさん04/09/07 19:36ID:???
>>579
ttp://php.s3.to/man/function.crypt.html
0588nobodyさん04/09/07 19:48ID:???
<?php
$password = CRYPT_STD_DES("abc"); # saltを生成
echo $password;
?>
0589nobodyさん04/09/07 20:00ID:???
WindowsServer2003でPHP使ってる人いる?
059058404/09/07 20:47ID:???
>>585さん
ありがとうございました。
こういうのは基底を変換と言うのですね。
0591nobodyさん04/09/07 20:47ID:???
>>579
// 昔作った関数だけど
function gettrip($tripkey) {
$tripsalt=preg_replace('/[^.-z]/','.',$tripkey);
$tripsalt=strtr($tripsalt,':;<=>?@[\]^_`','ABCDEFGabcdef');
$tripsalt=substr($tripsalt.'H',1,2);
$trip=substr(crypt($tripkey,$tripsalt),3,10);
return($trip);
}

// 2ちゃんと全く同じかは(゚�听)シラネ
0592nobodyさん04/09/07 20:55ID:???
串制限おしえて!!
0593nobodyさん04/09/07 21:02ID:???
>>592
う・る・さ・い!
0594nobodyさん04/09/07 21:17ID:???
>>592
まずは以下のページで串の基礎をおさらい
http://www.cybersyndrome.net/pg.html#4

そのあと「is_proxy_access」でググってみ。
前スレ289氏のサンプルが出てくるから。
0595nobodyさん04/09/07 21:19ID:???
>589
PHP 4.3.2 + Apache 2.0.48 でとりあえずは動いてる
0596nobodyさん04/09/07 21:38ID:???
>>592
http://www.ponycanyon.co.jp/dango/
0597nobodyさん04/09/07 21:49ID:???
PHPの関数で、他のページに飛ばすのはないでしょうか?
formでsubmitして、処理の結果次第で他のページに飛ばしたいのです。
metaタグでやるしかないんでしょうか?
よろしくお願いいたします。
0598nobodyさん04/09/07 21:51ID:???
>>597
header()でLocationを使う

・・・というのはFAQですが
0599$key="php"→ ◆BhTTgvJlYk 04/09/07 21:53ID:???
>>579
つか、にちゃんと同じならぐぐればいくらでもソース出てくるだろ
下はトリップ生成ツールで生成されるトリップと一致することは確認した奴
trip(str トリップキー, int トリップ桁数)

function trip($key, $digit=10){
  $salt = substr($key."H.", 1, 2);
  $salt = ereg_replace("[^\.-z]", ".", $salt);
  $salt = strtr($salt,":;<=>?@[\\]^_`","ABCDEFGabcdef");
  return("◆".substr(crypt($key, $salt),-1*$digit));
}
0600nobodyさん04/09/07 22:17ID:???
> is_proxy_access
分かってると思うがまんまBBSに実装すんなよ
0601nobodyさん04/09/07 22:23ID:???
>>597
他にも、ジャンプ先のページを丸ごとincludeするとか。
060259704/09/07 22:30ID:???
>>598
headerにそんな使い方が。。。
ありがとうございます。

>>601
なるほど。考えつきませんでした。
変数がそのまま使えていいですね。
ありがとうございます。
0603nobodyさん04/09/07 22:36ID:Z5/Re9xz
http://script.s16.xrea.com/2ch/
これの携帯表示部分にすれたい検索を実装したいのだが…全くわからん。
ライフライン使わせてくれ。
0604nobodyさん04/09/07 22:44ID:???
そんなのないです
0605nobodyさん04/09/07 22:55ID:???
>>603
やる気ない奴は丸投げスレいけよ
0606nobodyさん04/09/07 23:01ID:???
可変変数ってどういう時に使ってますか? 
0607nobodyさん04/09/07 23:12ID:oC+AH/dT
画像を貼り付けたExcelを出力することはできますか?
0608nobodyさん04/09/07 23:28ID:???
そんなのないです
0609nobodyさん04/09/07 23:28ID:???
画像を、貼り付けた、Excelを、出力することは、できません。
0610nobodyさん04/09/07 23:28ID:???
header("ごにょごにょ");
readfile("画像付きExcel");
0611nobodyさん04/09/07 23:43ID:???
>>610
お前頭いいな!
0612nobodyさん04/09/07 23:58ID:???
どうなるかまで考えてないんだから頭がいいとは(ry
0613nobodyさん04/09/08 01:10ID:???
>>595
windowsでやるならapache2のほうがいいのかな?
apache1はssl使うのにちょっと怪しいとこのを使うので
ちょっと不安。
IIS6でやろうかと思ったんだけど
権限の設定ではまった。。。
■ このスレッドは過去ログ倉庫に格納されています