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

【PHP】ID出さなくても質問OKなスレ【初心者歓迎】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/09/15(月) 18:41:32ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
0784nobodyさん2009/01/15(木) 06:39:12ID:???
=& って演算子はないよな。

$foo = &$bar;

っていうアドレス渡しが理解できないっていう質問なのかな・・・
0785nobodyさん2009/01/15(木) 07:08:27ID:???
>>783
w

>>784
アドレス渡しじゃなくてphpでは参照渡しな。
代入は=&でも正解だよ

0786nobodyさん2009/01/15(木) 07:10:50ID:???
>>784
初心者はマニュアル見ろ
ttp://www.php.net/manual/ja/language.references.whatdo.php
0787nobodyさん2009/01/15(木) 07:45:10ID:???
これって演算子って言うの?

アドレスも参照も意味同じだろ。参照って格納アドレスを参照してるわけだし。
ポインタも一緒かな。
0788nobodyさん2009/01/15(木) 07:47:53ID:???
似ているが同じじゃない。
ttp://pc11.2ch.net/test/read.cgi/php/1228709756/
ここの、見苦しい議論"参照"
0789nobodyさん2009/01/15(木) 07:54:28ID:9rDoI4vf
見苦しいけどおもろいなw
0790nobodyさん2009/01/15(木) 15:16:55ID:???
PHPの勉強に励んでいるものです。いま疑問があるのでここに着ました。
phpでGUIが作りたいんですけどスケルトンの作り方がわかりません
おしえてください
0791nobodyさん2009/01/15(木) 16:55:43ID:???
htmlのフォームからtypeがtextだったときの値を、phpで受け取って表示したときに
$_POST使ったんだけども、この受け取った値を文字型にするにはどうしたらいい?
textフォームに<font color="#ffffff"></font>みたいに書いて送信したときに
<font 〜〜>の部分を文字じゃなくて、htmlのタグとして受け取ってしまう。
strval()っていうので$_POSTしてみたんだけどやっぱりタグになってしまった。
何かうまい方法教えてくれ よろしくおねがいします
0792nobodyさん2009/01/15(木) 18:08:36ID:???
>>790
スケルトンってASP用語?
07937912009/01/15(木) 19:20:42ID:???
なんとかstrip_tags()で外部からのhtmlはエスケープできた
もうこれでいいんだけど、そのhtmlタグもあえて文字として表示できないものか
0794a<a2009/01/15(木) 19:24:13ID:???
>>793
$t="<p>てst</p>";
$s=array("<",">");
$r=array("<",">");
strtr($s,$r,$t);
0795fu‎s‎i‎a‎n‎asan2009/01/15(木) 19:25:35ID:???
>>793
>>793
$t="<p>てst</p>";
$s=array("<",">");
$r=array("&lt;","&gt;");
strtr($s,$r,$t);
07967912009/01/15(木) 19:36:45ID:???
>>795
おおっ!でけた、感謝!
0797nobodyさん2009/01/15(木) 19:41:24ID:???
意味がわからんが、タグをエスケープしたいということか?
だったら、htmlspecialcharsを使うべき。
0798nobodyさん2009/01/15(木) 19:56:55ID:???
htmlspecialcharsでエスケープ(笑)
0799nobodyさん2009/01/15(木) 20:00:54ID:???
>>798
警察に通報しました。
0800nobodyさん2009/01/15(木) 21:51:27ID:???
いまどきhtmlsp(ryに頼るような奴がまだいるんだな
高木先生に怒られてこいや
0801nobodyさん2009/01/15(木) 22:34:01ID:???
じゃあ何に頼ればいいんだよ
0802nobodyさん2009/01/15(木) 23:39:53ID:???
ここでTAKUIのひとりになることがこわかったの出番ですね
0803nobodyさん2009/01/16(金) 14:32:40ID:???
質問させてください。

最近PHPの勉強を始めて名前とコメントを入力できるだけの簡単なBBSを作りました。
名前のチェックをして名前欄が空白の時は「ななしさん」と表示させることは出来たのですが、
管理人が書き込んだとき、名前欄に「○○管理人」と入力すると後方一致で管理人の名前が赤くなるようにしたいのです。

名前欄の文字を$nameにするとして、
if($name=="") {$name = "ななしさん";}
elseif(ereg('管理人$', '$name')) {$name = "<font color=RED>$name</font>";}

こんな感じで書いてみて確認のための書き込みをしてみたのですが名前が赤くなりません。
どうやったら色が変わるようになるのか教えていただきたいです。よろしくおねがいします。
0804nobodyさん2009/01/16(金) 15:10:16ID:???
誰でも管理人名乗れるけどいいの?
0805nobodyさん2009/01/16(金) 15:12:40ID:???
eregでマッチしてない件
08068032009/01/16(金) 15:25:51ID:???
>>804
友達との間で使おうと思っていて、「管理人」をつければ色が変わるというのをバラさなければ分からないと思うので・・・

>>805
2行目のとこで ereg('管理人$', '$name') は$nameの最後が管理人でおわってるかどうか
という判断ができるかと思ったのですが書き方間違ってますか?
0807nobodyさん2009/01/16(金) 15:27:48ID:???
strposでok
0808nobodyさん2009/01/16(金) 15:36:40ID:???
>>806
シングルクォートで括ると変数は展開されないからダブルで。
つーか、クォートいらねw

ereg('管理人$', $name)
0809nobodyさん2009/01/16(金) 15:36:47ID:???
>>806
書き方が間違ってる件
08108032009/01/16(金) 15:56:17ID:???
うわあああ!ありがとうございます!
試してみたらできました!!
変数にクォートいらいない・・・メモっておきました。

>>807
初めて見ました、strpos
使い方ぐぐって次に何か使えそうなら使ってみます。
0811nobodyさん2009/01/16(金) 18:31:31ID:???
sessionを使ったときにブラウザーに保存されるクッキーログですが
ログを消す方法はないのでしょうか?
0812nobodyさん2009/01/16(金) 18:33:23ID:???
クッキー消せば?
0813nobodyさん2009/01/16(金) 18:46:06ID:???
セッション使ったらcookieを食べさせられるってことも知らないのか
0814nobodyさん2009/01/16(金) 19:01:17ID:???
セッションのクッキーってテンポラリーじゃなかった?
ブラウザ閉じれば消えるクッキーかと
0815nobodyさん2009/01/16(金) 21:58:14ID:???
クッキーのプログラム組んでるとき、
いちいちブラウザのオプションメニューとか
開いて、本当にセットされてるかどうか、
確認するのメンドイよな。

もっと、デカデカな画面で
表示してくれる、ちょっとしたアプリないのか?
0816nobodyさん2009/01/16(金) 22:00:49ID:???
ID:cpRhXZRJ乙
0817nobodyさん2009/01/16(金) 22:01:15ID:???
>>815
webdebeloppa~~~~~~~
0818nobodyさん2009/01/17(土) 00:23:58ID:???
windows2000 php5.2.6
go-pear.pharがインストールできねぇ
コマンドプロンプトでgo-pear.phar実行したけど
ファイルを開くアプリケーションの選択の画面が出てくる。
これ普通にgo-pear.pharをダブルクリックしたときと一緒ぽいんだけど、
どっかのサイトにphp -q みたいなのをしてたけど、php -qは使えないってコマンドプロンプトに言われた
とりあえずここから先にすすめね 何か特別なコマンドをしないといけないのでしょうか
助けてください よろしくお願いします
0819nobodyさん2009/01/17(土) 00:26:22ID:???
phpで実行しろ
0820nobodyさん2009/01/17(土) 02:28:48ID:???
�d、でもよくわからなかったからgo-pear.bat拾ってきて実行したらできた。
結局ほしかったHTTP_requestのやつが出てこなかったからpearのホムペいって拾ってきて入れた。
あとNetのSocket.phpが欲しいんだけどpearのパッケージ全部はちゃんとみてないけどみつけられなかった
と思ってこれを書き込みしながらもホムペ見渡してたらsearchがあってそこで検索したらでてきました
お騒がせしました
0821nobodyさん2009/01/17(土) 04:06:08ID:GpHgBk+3
>>815
開発中(デバッグ中)は全画面で
全クッキーを表示するようにプログラム組めば桶。
0822nobodyさん2009/01/17(土) 07:14:38ID:GpHgBk+3
PHP5ではオブジェクトの代入のとき、参照渡しになるらしいけど
それはつまり$aがオブジェクト(インスタンス)のとき

$b = $a;
$b =& $a;

この2つはPHP5では同じ意味ってことですか?(PHP4では意味違うけど)
0823nobodyさん2009/01/17(土) 07:24:32ID:???
>>822
違う。
マニュアル読んで、それでもわからなかったら質問しーや
0824nobodyさん2009/01/17(土) 09:57:15ID:???
>>819
指図するな!!!!!!!!!!!!!!!!!!!!!!!
0825nobodyさん2009/01/17(土) 12:01:10ID:???
>>814
残すようにも出来る

>>813
セッションクッキーといわゆる「クッキー」とを一緒にしないように

>>811
ブラウザのログ消せばいい

>>806,808
正規表現でereg()は使わない。
使うならpreg_match()。マルチバイトならmb_ereg()も視野に入れる。
正規表現要らないのならstrpos()。
マルチバイト対応の必要があるのならmb_strpos()
0826nobodyさん2009/01/17(土) 12:26:46ID:???
>>825
>>807
0827nobodyさん2009/01/17(土) 12:31:24ID:???
もう解決してるけど>>825はプライドが高そうだからスルーでおk
0828nobodyさん2009/01/17(土) 12:36:44ID:???
プライドが高いっつか虚栄心を満たしたいんだろ
0829nobodyさん2009/01/17(土) 14:48:46ID:???
>>825
>ブラウザのログ消せばいい
その方法をphpでどう書くのかをきいてんだろ。馬鹿じゃねーの?
わからねーんだったらレスしねーで見てるだけにしろよ。キチガイ。
0830nobodyさん2009/01/17(土) 14:55:29ID:???
>>829
それが出来たらセキュリティも糞もないわな
寝言は寝てから言えカス
0831nobodyさん2009/01/17(土) 15:00:42ID:???
>>830
だから・・・わからねーのなら偉そうにレスしなくていいだろう・・・・・
馬鹿じゃねーのか?
0832nobodyさん2009/01/17(土) 15:50:02ID:???
formでpostした内容をログと照合しpost内容がログにあればその結果を表示、
無ければpostする時点のページを再表示したいのですが、どう書けばいいのでしょうか。
そもそも1ファイルですますなら、
formの部分は全体のどこへ置くのが理想なんでしょう。

0833nobodyさん2009/01/17(土) 15:53:43ID:???
http://jp2.php.net/manual/ja/function.preg-match-all.php
$matches[0] はパターン全体にマッチした文字列の配列、 $matches[1] は第 1 のキャプチャ用サブパターンにマッチした文字列の配列、 といった順番となります。
<?php
preg_match_all("|<[^>]+>(.*)</[^>]+>|U",
"<b>example: </b><div align=left>this is a test</div>",
$out, PREG_PATTERN_ORDER);
echo $out[0][0] . ", " . $out[0][1] . "\n";
echo $out[1][0] . ", " . $out[1][1] . "\n";
?>
上の例の出力は以下となります。
<b>example: </b>, <div align=left>this is a test</div>
example: , this is a test
0834nobodyさん2009/01/17(土) 15:56:15ID:???
>>832
strpos使う
最初のうちは1ファイルで済まさないほうがいいと思うよ?
あと>>1な
08358332009/01/17(土) 16:07:55ID:???
>>833
>第 1 のキャプチャ用サブパターンにマッチした文字列の配列
この、『第 1 のキャプチャ用サブパターン』とはどういう意味ですか?
0836nobodyさん2009/01/17(土) 16:27:35ID:???
>>834
なるほど便利そうなものがあるんですね。

逆に最初は1つのファイルで作ったほうがいいのかと思っていました。
strpos を含めいろいろ試してみます。
>>1 了解です。

レスありがとうございました。
0837nobodyさん2009/01/17(土) 16:37:39ID:f7vu9BvG
ネットショップで管理画面から項目を入力できます。普通にいれたら"テキスト"なんでimageをいれたいです。どうすればいいですか?
0838nobodyさん2009/01/17(土) 16:38:53ID:???
タグ入れれば?
0839nobodyさん2009/01/17(土) 16:51:36ID:f7vu9BvG
ありがとうございます。タグ入れたらできますよね!
0840nobodyさん2009/01/17(土) 22:22:54ID:???
すみません。
$this->error
とかの->とはどういう意味なんでしょう。
0841nobodyさん2009/01/17(土) 22:27:30ID:???
マニュアルに書いてある
0842nobodyさん2009/01/17(土) 22:31:36ID:???
>>840
の
0843nobodyさん2009/01/17(土) 22:55:25ID:???
質問スレで質問してマニュアル読めとかなんの為のスレなんだか・・・・・
次すれからもうここは廃止しろよ。
0844nobodyさん2009/01/17(土) 22:55:51ID:???
session_start();
をPOSTがされていない時もしくはログインしていないときにはsessionを使わないようにした
if($_SERVER["REQUEST_METHOD"] == "POST" || $_SESSION['login']){
session_start();
}
としたのですがうまくいきません。何か方法はないでしょうか?
0845nobodyさん2009/01/17(土) 23:01:59ID:???
ifの中でセッション開始してるんじゃね?
0846nobodyさん2009/01/17(土) 23:35:59ID:???
PHP入門者です。
PHPの仕事がしたいのですが、どんな試験に合格すればPHPの仕事が来ますか?
0847nobodyさん2009/01/18(日) 01:36:07ID:???
年齢にもよるけど資格とかいらないので面接行ってください
0848nobodyさん2009/01/18(日) 01:54:34ID:???
>>847
どうもです。
年齢が54才だから、とりあえず資格が欲しいんだけど、そもそもPHPの資格試験なんてないんでしょうか?
0849nobodyさん2009/01/18(日) 01:57:29ID:???
マルチすんな
0850nobodyさん2009/01/18(日) 02:00:08ID:???
>>848
マルチ乙、ネタ乙
が、Zendが試験やってるよ。簡単すぎて話にならんけど
0851nobodyさん2009/01/18(日) 02:11:19ID:???
ん? マルチなんてしてないよ。 年齢も本当だし。
http://www.zend.co.jp/training/zendphpcertification.html

>Zendが試験やってるよ。簡単すぎて話にならんけど
あなた受けたの? で、仕事をもらうのにご利益はありましたか?
0852nobodyさん2009/01/18(日) 02:12:08ID:???
↑
仮に資格を取ったとしても取っただけの奴に仕事なんて発注するか。
普通に考えれば分かるだろーが。
0853nobodyさん2009/01/18(日) 02:15:21ID:???
じゃあ、
・Zendの資格を取る
あと、どうすれば仕事がもらえるかな?
この年齢だから、どこかの事務所に潜り込むのは無理だと思うけど。
0854nobodyさん2009/01/18(日) 02:20:44ID:???
どうもこうも潜り込めなきゃ個人で取るしかないだろう。

いくらなんでも遅すぎるよ。
0855nobodyさん2009/01/18(日) 02:21:04ID:???
234 nobodyさん 2009/01/17(土) 23:51:38 ID:Bf8FDb6Y
PHP入門者です。
PHPの仕事がしたいのですが、どんな試験に合格すればPHPの仕事が来ますか?

本当にいましたねw
0856nobodyさん2009/01/18(日) 02:22:14ID:???
>>854
無理ですか、どうもです。
0857nobodyさん2009/01/18(日) 02:23:52ID:???
年齢のせいでも資格のせいでもない。
>>853みたいな粘着質問するやつに未来はない
0858nobodyさん2009/01/18(日) 02:25:02ID:???
つーか、>>855は誰かがコピペしたんだと思う。
0859nobodyさん2009/01/18(日) 02:36:39ID:???
まあいいや、phpでサイト作ってサイトそのもので稼ぐから。
0860nobodyさん2009/01/18(日) 02:40:39ID:???
無理だろうけどがんばって、無駄な日々をお過ごしください。
0861nobodyさん2009/01/18(日) 02:43:04ID:???
↑
好きにしろ。じじい
0862nobodyさん2009/01/18(日) 02:51:19ID:???
ワシはお前らと違って想像力があるからな。 儲かりそうなサイトのアイディアが色々と湧くんじゃよ。
ただ、プロのプログラマの仕事を一応、見ておきたい、という気持があるからね。
ある程度見通しが付いたらお前らに仕事を回してやるよ。
0863nobodyさん2009/01/18(日) 02:59:38ID:???
いままでプログラムしたことあるの?
0864nobodyさん2009/01/18(日) 02:59:43ID:???
で、儲かりそうなサイトのPHPのプログラムを外注した場合、
そのアイディアを資本力のある所に盗られて先にやられちゃう、って危険があるじゃない。
その辺は皆さんどうやってるんだろーね?
0865nobodyさん2009/01/18(日) 03:00:42ID:???
>>863
大むかしにCをちょこっと。
0866nobodyさん2009/01/18(日) 03:07:44ID:???
$str = "<script>alert("hello");</script>"
$str2 = htmlentities($str, ENT_QUOTES, mb_internal_encoding());

したときに「(」と「)」が変換されずそのままになってしまいます。
何かオプションとか間違っているのでしょうか?
(後から「(」「)」だけ変換すればいい、というのもありますが・・・)
0867nobodyさん2009/01/18(日) 03:07:47ID:???
>>864
自分、もしくは自社で組めば?
あるいは知的財産権およびNDAおよび契約書で
固めるしかない。
0868nobodyさん2009/01/18(日) 03:09:05ID:???
>>867
> あるいは知的財産権およびNDAおよび契約書で
> 固めるしかない。
どうもです。
0869nobodyさん2009/01/18(日) 03:15:28ID:???
>>866
<?php
var_dump(get_html_translation_table (HTML_ENTITIES));
?>

これでhtmlentitiesが変換する文字の一覧が表示されるけど、
左パーレン、および右パーレンは変換されないのでは?
0870nobodyさん2009/01/18(日) 03:16:08ID:???
>>868
ちなみにNDAの契約書を書ける弁護士は東京にしかいない。
だから地方在住者は東京に移動したほうがいい。
08718662009/01/18(日) 03:34:14ID:???
>>869さん
ありがとうございます。
( ) の変換はできないようです。
私の勘違いでした。
申し訳ないです。
0872nobodyさん2009/01/18(日) 13:22:31ID:???
Eclipseに導入したPDTよりPHP Scriptを実行しようとすると
次のエラーが出k手しまいます。一体何が原因なので
でしょか?

【PHPソース】
<?php
$strMessage = "あいうえお";
print ($strMessage) ;
?>

【エラー】
Error running PHP executable
Cannot run program "C:\php" (in directory "C:\Documents and Setting\
ゲスト用のユーザ\workspace\PHP_Eclipse")
CreateProcess error=5

【PHP executables】
Debugger Type
Zend Debugger
Location
C:\php
0873nobodyさん2009/01/18(日) 13:28:20ID:???
Cannot run program "C:\php"ということ
0874nobodyさん2009/01/18(日) 13:36:17ID:???
>>873
次の階層にphpソースを配置してブラウザからphpスクリプトの実行確認は出来ているのですが
なぜEclipse PHPからだと「C:\php」で実行する事が出来ないのでしょか?
C:\Program Files\Apache Software Foundation\Apache2.2\htdocs
0875nobodyさん2009/01/18(日) 13:45:47ID:???
>>872
ここで実行できるようにhttpd.confで設定されてるから。
C:\Program Files\Apache Software Foundation\Apache2.2\htdocs

c:\phpはディレクトリとして認識されてないから。
eclipseの問題じゃない
08768722009/01/18(日) 13:46:55ID:???
自分なりに怪しいと思う箇所を調べていたところphp serverの設定を
行っていない事が原因かと思いました。
私が参考にしているサイトでは、
  http://journal.mycom.co.jp/column/ide/006/index.html
Eclipseのメニューから
  「Window」→「Preferences」→PHP→PHP Server   
と選択しその中でPHPを実行する為のサーバの設定を行うとの事なのですが、
そもそもWindwos上に 「 Preferences 」なる文字列自体が存在しません。

一体どこからPHP Serverの設定をすれば良いのでしょうか?

Eclipseのバージョン
  Eclipse Platform
  Version: 3.4.1
  Build id: M20080911-1700

08778722009/01/18(日) 13:50:59ID:???
>>875
httpd.confを見ると確かに設定していました。
  >DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
しかし、どうしてもEclipse(PDT)からPHPソースを実行する事が出来ません。
一体どの様にすればPHPスクリプトを実行する事が出来る様になるのでしょうか?

※テキストエディタでちまちまスクリプトを修正するのは手間がかかる(メンドクサイ)ので、
PDTから作業をしたいです。

0878nobodyさん2009/01/18(日) 13:56:12ID:???
PDTのほうがめんどくさくない?
どんなところがいいの?
08798722009/01/18(日) 14:49:06ID:???
コード補完機能が使えたりして非常に便利。

ってかEclipseでPDTが実行出来ないのはなぜでしょうか?


かなり困っています。
0880nobodyさん2009/01/18(日) 14:50:33ID:???
コード補完機能なんか使ってると頭悪くなりそう
0881nobodyさん2009/01/18(日) 15:06:55ID:???
>>880
kwsk
0882nobodyさん2009/01/18(日) 15:11:19ID:???
>>877
eclipesでphpの実行パス合ってるか確認城や
08838722009/01/18(日) 15:16:24ID:???
>>882
大変厚かましいお願いだとは思いますが、まったく原因が分からないのでEclipse上から実行パスの
確認をするにはどうすれば良いかご教授下さい。

自分としては、以下の設定を行ったのでEclipseから見たPHPの実行パスは
  C:\php
になっていると思うのですが。


【PHP executables】
Debugger Type
   Zend Debugger
Location
   C:\php
■ このスレッドは過去ログ倉庫に格納されています