【PHP】質問スレッドPart2
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
01/10/17 10:52ID:zLTg5ihK答えられる方、返答よろしくお願いします。
参考リンク
■本家
http://www.php.net/
■PHP日本語マニュアル
http://www.php.net/manual/ja/
■Japan PHP Users Group
http://www.php.gr.jp/
■PHP 日本語ページ
http://www.cityfujisawa.ne.jp/~louis/apps/phpfi/index.html
■Pearのドキュメント
http://phpdocu.sourceforge.net/peardocs/
■前スレ
http://ebi.2ch.net/test/read.cgi/php/982687820/
0102名無しさん@お腹いっぱい。
01/11/08 17:09ID:HO03TXDJreturnみたいな。値を返しもしないのにreturn使うのは変ですよね。
0103名無しさん@お腹いっぱい。
01/11/08 17:36ID:???別に。
010489
01/11/08 18:35ID:OMPb1F5X引数を渡す方法ってあるのでしょうか?
例:http://choco.2ch.net/test/read.cgi/morningcoffee/1004377410/358
0105php!
01/11/08 19:15ID:RPFuud00>$PATH_INFO=/morningcoffee/1004377410/358
>$PHP_SELF =/read.php/morningcoffee/1004377410/358
list($bbs,$key,$num)= explode("/",$PATH_INFO);
Winではダメだった。
010689
01/11/08 19:43ID:???早速試します。
有難うございました。
010789
01/11/08 20:10ID:???出来ました。
$PATH_INFOに引数が入るのですね。
ありがとうございます!
010889
01/11/08 20:38ID:???先ほどの例(>>104)でread.cgiをdirectoryindexに指定して
http://choco.2ch.net/test/morningcoffee/1004377410/358
のようにしようとするとnotfoundになってしまいます。
自分でも色々試していますが、もし分かる方いましたら
宜しくお願いいたします。
0109マジレスさん
01/11/08 21:29ID:???前々から思ってたんだけど引数にPATH_INFO使う必要あるんか?
ふつうに
?bbs=php&key=1003283567
で $bbs 、$key で参照できるのに。
PATH_INFOだといちいちexplodeしなきゃいけないし。
いまは
read.cgi/php/1003283567/l50
て3つのkeyしかないから一応分かるけど
将来さらにkeyを増やすとき対応しにくいでしょ。
そのへんどうなんかな。
011089
01/11/09 09:13ID:???普段はそう思ってたんですけど
URLを短くする必要があるもので。。。
あと<a href="mailto:?body=http://choco.2ch.net/?bbs=php&key=1003283567">
ってやるとURLが?で切れてしまうのです。
0111名無しさん@お腹いっぱい。
01/11/09 09:33ID:????意味不明
0112名無しさん@お腹いっぱい。
01/11/09 09:36ID:???0113名無しさん@お腹いっぱい。
01/11/09 16:18ID:???<a href="mailto:?body=<?php echo urlencode("http://choco.2ch.net/?bbs=php&key=1003283567"); ?>">ほげ</a>
0114名無しさん@お腹いっぱい。
01/11/09 17:17ID:6Oa5DpZA&は
&
だろう
0115名無しさん@お腹いっぱい。
01/11/09 17:28ID:???意味不明
0116名無しさん@お腹いっぱい。
01/11/09 23:25ID:???&は
&amp;
だろう
の間違いだと思われ。(文字参照そのまま書いて区別が付かないw)
0117名無しさん@お腹いっぱい。
01/11/10 02:08ID:V4EHGbe9rawって何してるの??
0119名無しさん@お腹いっぱい。
01/11/10 23:58ID:???phpをどのようにconfigureすれば使えるようになりますか?
--with-ibm-db2では使えるようにならないのですか?
0120名無しさん@お腹いっぱい。
01/11/11 15:44ID:Ri6d8trjPHPの小部屋にあるスクリプトでは出来なかった・・・UNIX用なのかなぁ。
cgiでblatjによるメール送信ってのは使えないし。
(掲示板にカキコしたユーザーの暗号化されたメールアドレスへメール送信が出来ない)
Win+ApacheでPHPによるメール送信フォームってあります?
これを参考にしようと思っているのですが・・・グーグルで探してもみつからなひ・・・
0121名無しさん@お腹いっぱい。
01/11/11 16:59ID:2wDnOXojあるよ
0122名無しさん@お腹いっぱい。
01/11/12 07:03ID:???>>89っていつ解決したんです?
私も、>>89の問題に当たっちゃいました。
とりあえず、無理なら無理って結論でもいいんで
仮にできるのであれば教えていただきたいな〜と・・・。
お願いです。
とりあえずcgiのソースが以下のとおり
<?
pg_connect("dbname=test");
?>
でtest1のアクセス権限はあります(Apacheを介してだったら見えます)
そして
postgres$ php -f a.php で実行
そうすると定義してないって出ちゃった・・・。
Call to undefined function: pg_connect() in <b>a.php</b> on line <b>13</b><br>
0123122
01/11/12 08:30ID:???すいません解決しました。
単に『/usr/bin』にディストリビューションを入れたときのPHPの
(多分--with-pgsqlをしてない)バイナリのファイルが残ってました
コマンドラインを実行した時にそれが実行されてたみたい。
てゆーか、コマンドラインのPHPを入れた『/usr/local/bin』にパスが通ってなかった・・・。
そんなわけでお騒がせしましたですます。
>>89
バージョンを確認して、そんでもってもしバージョンがおかしかったら
こんな感じでインストールしたらどうでしょうか?
root# rm /usr/bin/php ←ディストリビューションをがインストールしたPHPがある場所
root# ./configure --with-pgsql=/postgresql <その他>(--with-apxsはいらない)
root# make
root# mv php /usr/bin/
ちなみに、バージョンがおかしくなかったらよくわかんないです。
0124
01/11/12 15:20ID:6n3JoHjm具体的に言うと、
$bって配列から要素をひとつひとつ取り出して、その要素が$aに含まれているか
どうかを知りたいんですが。。
0125名無しさん@お腹いっぱい。
01/11/12 17:04ID:???>配列$aにaiuって文字列が存在すれば真、
>無ければ偽を返すみたいな関数ありますか?
あります。
0126名無しさん@お腹いっぱい。
01/11/12 17:38ID:???0127
01/11/12 18:59ID:5TRvso4yじゃ教えて下さい。
0128名無しさん@お腹いっぱい。
01/11/12 19:35ID:???http://www.php.net/manual/ja/ref.array.php
0129
01/11/12 20:18ID:5TRvso4yどうもすみません。in_arrayですね。
0130名無しさん@お腹いっぱい。
01/11/12 21:39ID:d+ZIc+xpよければそのページのURLを教えて頂けませんか?
ページの名前だけでも結構ですので、教えて下さい!
0131神奈車 ◆Key/kjX6
01/11/13 00:16ID:???学習に使う書籍はマンモス本だけで充分かな?
0132名無しさん@お腹いっぱい。
01/11/13 00:48ID:???俺も初心者なんで見当違いなこと言ってたらスマソ。
Winにメル鯖立ててmail()じゃだめなのか?
0133名無しさん@お腹いっぱい。
01/11/13 01:02ID:GvqlY7/pSOFTBANKのやつ?
マンモス本か、うまいこと言うねえ。
0134名無しさん@お腹いっぱい。
01/11/13 02:20ID:lo4tr8dd0135名無しさん@お腹いっぱい。
01/11/13 03:24ID:7n/nfZfv俺は日本語マニュアルだけで使えるようになったヨ
もともとCを知ってたからだけど、言語的にはそんなに難しくないよ。
ただ、細かいテクニックなんかは知らない。
でも、そこらへんは PHP のソース拾ってきて見てれば
本見るより実用的なのが手に入るよ。
0136名無しさん@お腹いっぱい。
01/11/13 09:34ID:aMJ0AM9Oそして、さらに特定のデータについてクリックで個別に詳細表示する、
といった二段の検索を考えています。
フォームであれば、簡単に選択したデータの情報が送れますが、
リストのすべての行に「詳細を〜」といったボタンが付いているのは
不格好な気もします。
いい方法をご存じないでしょうか。
また、リストの件数を20件等に制限して、「次ページ」「前ページ」
と順に閲覧するページ作成についてのテクニックが紹介してある
サイト等、ご存じでしたら教えて下さい。
0137名無しさん@お腹いっぱい。
01/11/13 10:53ID:???>不格好な気もします。
ハイパーリンクにすれば?
0138名無しさん@お腹いっぱい。
01/11/13 10:59ID:???入力した値を引数として受け取って、
<input type="text" name="hoge" value="$aaa">
としますよね?
しかし、入力項目に「\」を入力すると
投稿後に、入力項目が「\\」と\の数が倍になってしまいます。
php掲示板配布サイトのスクリプトでもテスト書き込みすると
このような現象が起きてしまいます。
これは仕方の無いバグなんでしょうか。
0139136
01/11/13 10:59ID:aMJ0AM9Oそう、ハイパーリンクにしたいのですが、リンクの形式でPHPの変数
をリンク先のページに送れるのかどうかが知りたいのです。
0140名無しさん@お腹いっぱい。
01/11/13 11:50ID:???stripslashesすればいいじゃん。
思い通りいかない = バグ じゃないですよ。
0142名無しさん@お腹いっぱい。
01/11/13 11:53ID:???<a href="./hoge.php?hoge=$hoge">
ってな風に普通にQUERY_STRINGで渡せば良いじゃん。
0143名無しさん@お腹いっぱい。
01/11/13 12:08ID:???ひとつだけ質問させて下さい。
もし配列$aiueoに一個も要素が無かったら次の場合どうなるんでしょうか。
if(in_array ("あ", $aiueo)){
print "「あ」は存在します。";
}
で自分でやったら
Warning: Wrong datatype for second argument in call to in_array in 〜
というエラーが出ました。
僕の予想では調べる対象の配列が空だったんでエラーが出たと
考えたんですが、どうでしょうか。
今やりたいのは、配列が空でも普通にチェックできて、
空だから当然「あ」は存在しない、
という分岐にしたいんですが。。
0144名無しさん@お腹いっぱい。
01/11/13 12:18ID:???$aiueo = array ();
if(in_array ("あ", $aiueo)){
print "「あ」は存在します。";
}
0145名無しさん@お腹いっぱい。
01/11/13 12:27ID:???そうでしたか、どうもすいませんでした。
0146136
01/11/13 14:42ID:aMJ0AM9Oありがとうございました。
0147御死絵手君
01/11/13 16:02ID:LontiJZ/教えてくれませぬか?
0148yyyy
01/11/13 16:05ID:PsEtRtlGおこずかいの欲しい女の子募集!!
http://000.zive.Net/e.html
(援助交際クラブ)
.,,,,,,,
0149名無しさん@お腹いっぱい。
01/11/13 16:55ID:???何がしたいんだよ。
0150御死絵手君
01/11/13 17:04ID:LontiJZ/何だろって・・・
PHPに関係してることだったら、覚えとこうかなぁ。と・・・
0151名無しさん@お腹いっぱい。
01/11/13 17:24ID:???http://tohoho.wakusei.ne.jp/wwwcgi3.htm#CgiEnvironment
でも見れ。
015289
01/11/13 19:30ID:???私の場合はユーザ権限が原因でした。
ApacheのユーザはPostgreSQLの権限をあたえられていたのですが、
コマンドラインのときは別ユーザーだったことに気が付かず。。。
0153名無しさん@お腹いっぱい。
01/11/13 21:15ID:vaOyrI+yなにか良い本もしくはサイトがあれば教えてもらえないでしょうか。
http://laika.111.ne.jp/linux/text/mssql.html
↑ここを参考にがんばってみたのですが、MS SQLServerとの接続がうまくいきませんでした。
環境はFreeBSD4.4STABLE + PHP4.0.6 + Apache1.3.22 + PostgreSQL7.1.3
PostgreSQLとの接続はうまくいっています。
これにfreetds-0.53pre1.tgzを拾って展開後、
# ./configure --enable-msdblib
# -with-tdsver=7.0
# make
# make install
そしてPHP4.0.6の再インストール
# ./configure--with-pgsql --without-mysql --enable-track-vars \
# --with-apxs=/usr/local/apache/bin/apxs --enable-trans-sid \
# --enable-mbstring --enable-mbstr-enc-trans --with-sybase=/usr/local/freetds
# make && make install
最後に/usr/local/freetds/interfacesに
mssql
query tcp ether 192.168.0.5 1433
master tcp ether 192.168.0.5 1433
を追加し、Apacheを再起動しましたがsybase_connectがエラーしか返しません。(postgresはOK)
自分のインストールのやり方に問題があるのでしょうか?
MS SQL Serverの設定がわるいのか、freetdsのインストールor設定がわるいのか、
原因の切り分けができなくて前に進めません・・。
0154153
01/11/13 21:17ID:vaOyrI+y# --with-tdsver=7.0 ○
です
0155名無しさん@お腹いっぱい。
01/11/13 23:01ID:lo4tr8ddそこからいちいちJapanese押して日本語にするのがメンドくさいよ。
0156
01/11/13 23:22ID:+gYmYw0oPHP勉強し始めて1日目の俺でも見つけられたぞ。
http://search.net-newbie.com/php/
きっと君はPHP勉強し始めて3時間くらいね。
0157名無しさん@お腹いっぱい。
01/11/13 23:43ID:j6Jrm/Zm.php3や.php4だと今後変えなければならないのが嫌で.phpにしてるんですが。
0158名無しさん@お腹いっぱい。
01/11/13 23:48ID:???俺は.mona
0159名無しさん@お腹いっぱい。
01/11/13 23:52ID:???AddType application/x-httpd-php .ehehe
にしてます。
時々問い合わせがあるから面倒だけど。
0160159
01/11/13 23:56ID:???でも、けっこうマジです。
0161155
01/11/14 00:21ID:DRaRb4EGphp.netだって言ってんだろが
さすが1日目だね
0162PHP知らんが
01/11/14 00:30ID:???なるべく原文読んでどうしてもって時のみ訳見るようにしたほうがよいのでは。
そうさせたいのでは。
0163名無しさん@お腹いっぱい。
01/11/14 10:57ID:???ないですかねー。サーバ立ててみたいので。
0164名無しさん@お腹いっぱい。
01/11/14 11:50ID:???0165名無しさん@お腹いっぱい。
01/11/14 12:06ID:???今年の春頃から売り上げどころか、利用者激減だから。
0166163
01/11/14 12:43ID:???0167名無しさん@お腹いっぱい。
01/11/14 12:51ID:???0168れこば
01/11/14 13:35ID:NLukidWfHTMLのフォームに入力された文字列を名前とする
テーブルを作成したいのですが
やりかたがわかりません。
DBを作成する関数はあっても(mysql_create_db)、
テーブルを作成する関数はないんですね。。。
0169名無しさん@お腹いっぱい。
01/11/14 13:49ID:???0170名無しさん@お腹いっぱい。
01/11/14 13:54ID:ULg6QqiR下記のメールアドレス及びサブドメインレベルの
アドレス差し上げます・・・・
御希望の方は [email protected] まで★
無料で差し上げるYOOOOO !!
http://XXXXX.mil.md
[email protected]
************************************************
0171名無しさん@お腹いっぱい。
01/11/14 14:01ID:???それはね〜テーブルはね〜SQL文で作るからだよ。
0172れこば
01/11/14 14:49ID:NLukidWf$result = mysql_query("CREATE TABLE $tablename (id tinyint(4))",$db);
いままでmysql_queryは
SELECT,INSERT,UPDATE,DELETEしか
使えないと勘違いしてました。
アホでした。
0173153
01/11/14 15:20ID:bDslTiVaそれだけではあれなので、自分のやったことは
FreeTDSをソースからでなくportsからインストールし、
FreeTDSの場所が変わったので、PHPのconfigureを
--with-sybase=/usr/local/freetdsから
--with-sybase=/usr/local/etc/freetdsに変更して再インストール。
あとは/usr/local/etc/にあるfreetds.confに
[myserver]
host = 192.168.1.xxx
port = 1433
tds version = 7.0
/usr/local/etc/freetds/にあるinterfacesに
myserver
query tcp ether 192.168.1.xxx 1433
master tcp ether 192.168.1.xxx 1433
を追加して、
pnp.iniのsybase.interface_fileを
sybase.interface_file = "/usr/local/etc/freetds/interfaces"
にして繋がるようになりました。
どもでした。
0174名無しさん@お腹いっぱい。
01/11/14 16:32ID:???Inter Baseでオートカウンターみたいなフィールドを
作りたいんですがどうすればいいんでしょうか。
一応、ヘルプからオート、フィールドとかで検索したんですが
見つかりませんでした。
0175174
01/11/14 16:38ID:???無いのは知っているのですが、それに代わる何かがあるはず
というところまではわかったのですが。。
0176174
01/11/14 16:45ID:???これっぽいです。
0177神奈車 ◆Key/kjX6
01/11/14 16:57ID:???恐らく金儲けが目的と思われ
0178136
01/11/14 17:13ID:HD2ScIB/前半は解決しましたが後半につきご存じの方は引き続き情報
お待ちしています。
0179名無しさん@お腹いっぱい。
01/11/14 17:35ID:DRaRb4EGWeb製作板みてたら、月数十万とか貰ってるやつ結構いるもんな
ちょっとした小遣い稼ぎには良いのかも知れん
0180167
01/11/14 17:53ID:???やっぱそうか。
>出会い系サイトスクリプト探してた奴
金儲けに初期投資したくないなら、自分の足で探すぐらいの努力しろや。
人生なめてんのかボケ。
0181名無しさん@お腹いっぱい。
01/11/14 18:32ID:i01y8+MQ楽したいから聞いてるんだろ!ゴルァ!
はっきりいって、なめてます。ペロリ
0182名無しさん@お腹いっぱい。
01/11/14 19:31ID:???かわいい。
0183これって法の盲点?
01/11/14 19:50ID:???1 :ひろゆき@暫定管理人 ★ :01/11/01 15:49 ID:???
「削除依頼は公開」の原則に従って削除したものを公開してますー。
ソース。
http://www.dd.iij4u.or.jp/~cap/nissei/
17 :ひろゆき@暫定管理人 ★ :01/11/01 16:01 ID:???
いやぁ、削除依頼は公開って原則ですから、、
( ̄ー ̄)ニヤリ
18 :va :01/11/01 16:01 ID:+W2rWnl4
同じこと書き込んだら、速攻で削除されるのかな?
19 :ひろゆき@暫定管理人 ★ :01/11/01 16:03 ID:???
削除依頼がくるまで放置っす。
詳しくはhttp://news.2ch.net/test/read.cgi?bbs=newsplus&key=1004597354
0184名無しさん@お腹いっぱい。
01/11/14 20:55ID:???で、なんでこのスレに書くの?
0185153
01/11/14 21:37ID:bDslTiVaFreeBSD4.4STABLE + PHP4.0.6 + Apache1.3.22 + PostgreSQL7.1.3と
MSSQLServer7.0(NT4.0) + FreeTDS0.52でやってます。
今回MSSQLServerの日本語をPHPでどう処理すればいいのかわからず、
書き込んでしまいました。
まず、英数字のテーブルeigoを使うとして
$table = "select * from eigo";
$queryid = sybase_query($table, $database);
とかだと上手く働いてくれるのですが、MSSQLServerの日本語テーブルを使おうと
$table = "select * from なまもの";
$queryid = sybase_query($table, $database); //ここでエラー
と書くとエラーになってしまいます。
このときのエラーメッセージはなぜか文字化けしていて、ブラウザのエンコードを変えても読めませんでした。
(ほかのエラーメッセージはちゃんと読めてます)
ためしに
$table = "select * from なまもの";
$table = mb_convert_encoding($table,"SJIS");
$queryid = sybase_query($table, $database); //やっぱりエラー
としてみたのですが、さっきと変わらない文字化けエラーメッセージが出てしまいました。
MSSQLServerを使っている人がいたら、やりかたを教えてください。お願いします。
mbstringが臭いかなとか思っていたりもするのですが・・
0186名無しさん@お腹いっぱい。
01/11/15 09:52ID:???簡単に言うとなんですか。
0187名無しさん@お腹いっぱい。
01/11/15 10:15ID:???解決策でもなんでもないけど
テーブル名に日本語使う必要あんの?
そんな部分で迷うなら素直に英語にしておいたほうがいいような・・・。
0188153@185
01/11/15 10:24ID:TQBAxEPH全くそのとおりなのですが、
テーブル設計した人はえらい人なので、変更は不可能です。
また、日本語データも化けてますので・・・
0189187
01/11/15 10:27ID:???$table = mb_convert_encoding($table,"SJIS");
の結果の$tableは文字化けしてますか?
この部分で文字化けしているなら
>>97のjcode.phpを試してみたら?
0190186
01/11/15 10:54ID:???トリガーっていうんでしょうか。
データを操作すると毎回その動作を自動的にやってくれるから
手間が省けるって事ですよね?
0191test
01/11/15 11:12ID:???0192153@188
01/11/15 12:51ID:TQBAxEPH$sql = "select * from なまもの";
echo $sql . "<br>\n";
$sql = mb_convert_encoding($sql,"SJIS","EUC");
echo $sql;
を実行したところ、
ブラウザをEUCに設定してみたばあい
select * from なまもの
select * from ????
SJISにしたばあい
select * from 、ハ、゛、筅ホ
select * from ????
と変換に失敗している様子です。
さっそく>>97をためしてみます。
ありがとうございました。
0193
01/11/15 17:34ID:cjLmXB10ブラウザの「戻る」キー(javascript:history.go()でも同様)
を使って、戻った先の画面が『警告: ページの有効期限切れ』と
表示されてしまうのを防ぐ為に、
session_cache_limiter('private')
とか書いてみるんだけど、
session に保存している内容によって PHP 側の処理
を変更しているような場合、
今度はキャッシュが優先されて
セッション値での更新が行えないんだけど、
これって解決不可なんですか?
0194名無しさん@お腹いっぱい。
01/11/15 18:16ID:sO/k3nR5この文字コードはUnicodeと同様に?のような書式でPHPに渡ってくるのですが、
一発で2バイト分の長さの文字列(つーか、エスケープ処理みたいな事を全然やってない
生の文字コード)に変換する関数はないでしょうか?なんか、説明が変ですみません。
0195194
01/11/15 18:18ID:???&#44032;という書式でPHPに渡ってきます......
0196名無しさん@お腹いっぱい。
01/11/15 18:45ID:WaDje7k90197名無しさん@お腹いっぱい。
01/11/15 19:46ID:???0198名無しさん@お腹いっぱい。
01/11/15 20:02ID:WaDje7k9イヤだ!くれくれくん
0199名無しさん@お腹いっぱい。
01/11/15 21:58ID:O3vY5vPcheader("location: $REQUEST_URI");
って感じで一回リロードしてやったら?
自己流だけどとりあえず解決させてる。
他に解決方法あったらおせーて
0200名無しさん@お腹いっぱい。
01/11/16 02:36ID:u+h72O5A$email = "xxx.xxx.com";
$subject = "TEST";
$message = "TEST";
$headers .= "From: aaa.ccc.com";
mail($email, $subjectj, $messagej, $headers);
こんな感じで普通のメールは送れるけど
test.csvやtest.jpgなんかを添付ファイルにして送りたい時は
どうやんの?
バイナリーの時とテキストでは送り方も違うのかな。
0201200
01/11/16 02:45ID:u+h72O5A$headers = "From: aaa.ccc.com"; ○
単なる打ち間違えです。
■ このスレッドは過去ログ倉庫に格納されています