【PHP】ID出さなくても質問OKなスレ【初心者歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/09/15(月) 18:41:32ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
0166nobodyさん
2008/10/16(木) 12:14:23ID:???使ったことあるなら分かるはずだが
$text // textareaの内容
$text = str_replace("\r", '', $text);
$text = str_replace("\n", '', $text);
\rと\nを空白に置き換えれば複数行が一行になる
文字が詰まるのがイヤなら、スペースとかに置き換えればいい
0167nobodyさん
2008/10/16(木) 12:33:46ID:???なるほどありがとうござます。
試してみます。データベースに入っているものには、
改行コードが付いているんですね。
0168nobodyさん
2008/10/16(木) 18:29:44ID:???いらないんならいいけどそしたらフォーム関係ない
0169nobodyさん
2008/10/16(木) 20:57:21ID:???0170nobodyさん
2008/10/16(木) 21:00:01ID:???0171nobodyさん
2008/10/16(木) 22:09:25ID:???0172nobodyさん
2008/10/18(土) 22:48:07ID:???0173nobodyさん
2008/10/18(土) 23:16:00ID:???0174nobodyさん
2008/10/19(日) 00:34:14ID:???少なくとも企業でも使える完成度
0175nobodyさん
2008/10/20(月) 14:37:43ID:???完全独自FWとかライブラリより使えると思うぞ
0176nobodyさん
2008/11/01(土) 03:48:07ID:???0177nobodyさん
2008/11/01(土) 11:23:39ID:???0178nobodyさん
2008/11/01(土) 14:31:49ID:???http://pc11.2ch.net/test/read.cgi/php/1219842559/
502が私です。あまり私一人が独占するのもどうかと思ったのですが…。
どうしましょうか、こちらに移動したほうが宜しいでしょうか?
0179nobodyさん
2008/11/01(土) 15:18:30ID:???0180nobodyさん
2008/11/02(日) 18:42:00ID:0XM0D6GFeclipseにプラグインできるsmartyのtplファイルを記述する
エディタはありますか
あるとすればオススメはどれでしょうか?
smartyEditorというののjarファイルをeclipseのpluguinsフォルダに入れて
コマンドプロンプトからeclipse.exe -cleanを実行したのですがコードの色が変わりません
0181nobodyさん
2008/11/04(火) 12:40:57ID:???Eclipseのバージョンとか書かないとわからん
phpeclipseは確かできたと思うが
どこまで出来たかは忘れた
0182nobodyさん
2008/11/10(月) 20:00:01ID:???,-‐-、 ,.-‐-、
\_, ,_/
カサカサ... /〓癶( ;:゚;〓;゚;)癶
ー=癶(癶( 癶;;:;;ノ癶 カサカサ...
0183nobodyさん
2008/11/11(火) 17:39:13ID:???PHP5環境にすると画像表示しなくなり、投稿もできなくなりました。
レッツPHPの画像掲示板なんですけど。
0184nobodyさん
2008/11/11(火) 17:43:05ID:???0185nobodyさん
2008/11/11(火) 17:59:06ID:???解決してよかったですね
0186nobodyさん
2008/11/11(火) 23:42:25ID:???まぁどちらにせよレッツPHPさんに対応してよと言うか
自分で改造するか
ウノウラボにphp4から5へスクリプトを移行させるツールがあったと思うが
レッツPHPの場合スクリプトが3ベースで4に対応させたって場合もあるから微妙
0187nobodyさん
2008/11/17(月) 00:03:25ID:???まずはデバッグプリントできるようにしようと思い、
<?php
echo(error_log("test"));
?>
こんなソースを書いてみました。
php.iniは、
log_errors = On
error_log = "C:\Program Files\PHP\error.log"
こうなってるのですが、どこにも吐かれてないみたいです。
echoの返り値は1なので、正常にログ吐けてるはずなのですが・・・。
あと何が足りないのでしょうか?
鯖はIISでCGIじゃなくてISAPIです。
0189187
2008/11/17(月) 01:00:17ID:???それが、どうもerror_log()はエラーの有無関係なく
ログ出力する関数らしいんです。
syslogだとイベントビューワに吐かれるらしいのですが、
できればテキストに落としたいんですよね。
こんなところで躓くとはorz
0190nobodyさん
2008/11/17(月) 01:04:08ID:???第2引数で3を指定して第3引数でファイル名を指定すると
そのファイル名に記録されるみたいだけど
http://jp.php.net/manual/ja/function.error-log.php
0191nobodyさん
2008/11/17(月) 06:54:13ID:???$arr = array(1,2,3,4);
foreach ($arr as &$value) {
if ($value == '3') { unset($value); }
}
としても値3を持つ配列の要素が削除されることはないんだなorz
noticeもwarningも出ないから、深いループの中をさまよいながら朝を迎えた
俺のニータイムを返せ〜
0192nobodyさん
2008/11/17(月) 08:09:45ID:???メソッド内で定義した変数を別メソッドに呼び出すにはどうしたらいいのでしょうか?
0194nobodyさん
2008/11/17(月) 09:08:43ID:???表示したいならvar_dump
ログにはきたいならerror_log(var_export(内容,true),3,出力先);
>>192
function hoge() {
global $hoge;
$hoge += 1;
return $hoge;
}
$hoge = 1;
var_dump($hoge,hoge(),$hoge);
こんな感じでglobal使えば出来るがお勧めしない
class等の概念を覚える良い機会だと勝手に思うので調べてみては
0195nobodyさん
2008/11/17(月) 09:19:51ID:???0197nobodyさん
2008/11/17(月) 09:46:27ID:???0198nobodyさん
2008/11/17(月) 09:53:44ID:???それはクラスにした場合だろ?
まぁクラスにした場合でも
メソッド内で定義した変数をどうやって取得するんだよ
0199nobodyさん
2008/11/17(月) 10:01:09ID:???関数とメソッドは厳密に言うと別物ですよ
class Hoge {
private $a = null;
public function setA($a) {
$this->a = $a;
}
public function getA() {
return $this->a;
}
}
$obj = new Hoge();
echo $obj->getA();
$obj->set("hoge");
echo $obj->getA();
0200nobodyさん
2008/11/17(月) 10:13:42ID:???それはメンバ変数に対するgetterを定義してるだけだろ?
class A {
function test() {
$hoge = 'a';
}
}
このクラスA::test()内の$hogeを取得してみろよ
簡単に言うと質問に対する答えが違うんだよ
本来のメソッドの定義というのはクラスに対するメンバ関数等のことを言うが
初歩的な質問でと言ってる時点でメンバ関数とは考え難いわけだが?
0201nobodyさん
2008/11/17(月) 11:04:11ID:???別に答えが違ってないでしょう・・・
質問者は
>メソッド内で定義した変数を別メソッドに呼び出すにはどうしたらいいのでしょうか?
と聞いてるわけで
意訳するとメソッドAの変数hogeをメソッドBで呼び出したいということですよ
つまり同一クラスの場合メソッドAの変数hogeをメンバ変数に持ってきて
Bも同じメンバ変数を参照すればいいだけですし
別クラスのメソッドの場合でもgetterを用意しとけばそこから取得できるという話です
0202nobodyさん
2008/11/17(月) 11:21:07ID:???その意訳はあなたの持ってる常識の上での訳だよな?
質問者が何を意図してるかはあの質問では
正確な質問内容は俺にも解らないしあなたにも解らないと思うんだが?
0203nobodyさん
2008/11/17(月) 11:40:43ID:???0204nobodyさん
2008/11/17(月) 11:43:37ID:???今出てる情報は
メソッド内で定義した変数を別メソッドに呼び出す
という事だけだぞ
この事と言ってる事は違うんだから答えは違うと思うが?
0205nobodyさん
2008/11/17(月) 11:51:43ID:???答えも違うということでいいので忘れて下さい
0206nobodyさん
2008/11/17(月) 12:25:32ID:???それかReflector
0207nobodyさん
2008/11/17(月) 16:45:27ID:???『"/<dt>(.*)/"』この部分の説明をどなたかお願いします。
0208nobodyさん
2008/11/17(月) 16:57:41ID:???aaa<dt>abc
の場合はabc
<dt>aaa
sss
の場合はaaa
<dt>
の場合は空
0210nobodyさん
2008/11/17(月) 17:13:18ID:???0211207
2008/11/17(月) 17:36:48ID:???http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k09.htm
>. 改行を除く任意の 1 文字
つか、こうなってますね。 どうもでした。
0212nobodyさん
2008/11/17(月) 19:57:03ID:???0213187
2008/11/18(火) 01:28:17ID:???無事出力できるようになったので、ご報告します。
環境はXP Professional + IIS(ISAPI)です。
結局は、ディレクトリに書き込み権限がないだけでした。
デフォルトだと、ユーザ毎に権限付与するセキュリティタブが
ディレクトリのプロパティに表示されないので、
ツール→フォルダオプション→表示で、
「簡易ファイルの共有を使用する」というチェックをはずします。
その後、ログを出力したいディレクトリで、インターネットユーザの
書き込み権限を加えてやります。(IUSR_で始まるユーザ)
あとは、PHP.iniに、
log_errors = On
error_log= "C:\\path\\to\\logfile"
こんな感じでログを出したいディレクトリを指定します。
すると、
error_log("test log");
と書くだけで、指定のログファイルに日時つきでログが書き込めます。
長くなりましたが、色々教えてくださった皆さん、どうもありがとうございました。
またお世話になるかもしれませんが、どうぞよろしくお願いします。
0214nobodyさん
2008/11/20(木) 12:32:32ID:???$abc[AAA][0]〜$abc[AAA][1000]
$abc[BBB][0]〜$abc[BBB][1000]
$abc[CCC][0]〜$abc[CCC][1000]
$abc[BBB][18]を複数箇所で使いたい場合
$XXX=$abc[BBB][18];
のように一度定義した方がいいのでしょうか?
それとも$abc[BBB][18]をそのまま何度も
使う方がいいのでしょうか?
0215nobodyさん
2008/11/20(木) 13:14:15ID:???0216nobodyさん
2008/11/20(木) 13:41:09ID:???0217nobodyさん
2008/11/20(木) 15:26:21ID:qEbDDWFR今登録画面を作ってまして、登録画面ではフォームのプルダウンメニューで「親カテゴリ」と「子カテゴリ」を選ぶようになってます。
それで、うちのシステムでは親カテゴリと子カテゴリをMySQLでデータベースから引っ張ってきてるんです。
親カテゴリごとのIDがあり、子カテゴリは親のIDを保持する事で自分の親を判別するようになっています。
*問題はここからなんです。
登録画面で、プルダウンメニューで親カテゴリを選ぶと自動的に子カテゴリの中身が親カテゴリに属する子カテゴリのみに切り替わるようにしたいんです。
onChange="○○"ではjavascriptのメソッドしか呼び出す事が出来ないので、PHPでMySQLにアクセスして子カテゴリ群を引っ張ってくるという処理が出来ないんです。
なのでどうすればいいのかさっぱり……
挙動としては、よく登録画面で都道府県を選ぶと自動的に次のプルダウンで市区を都道府県に合わせたものに絞ってくれるじゃないですか?
あれをMySQLと連動した形で実現できないか、どなたが助言お願いします(たぶんスレ違いじゃないはず)。
0219nobodyさん
2008/11/20(木) 15:49:38ID:???0221nobodyさん
2008/11/20(木) 16:41:00ID:???0222nobodyさん
2008/11/20(木) 20:03:04ID:???0223nobodyさん
2008/11/21(金) 21:39:09ID:???ブラウザからアクセスして、PHPで処理中にブラウザを閉じたら、処理は止まるのですか?
それともアパッチからレスポンス返す直前までは処理は進むのでしょうか。
0224nobodyさん
2008/11/21(金) 22:33:21ID:???処理は止まる
0226nobodyさん
2008/11/21(金) 22:53:30ID:???リファレンスを上手く使うと、可読性が上がる事があるので覚えておくといいよ
$ref_array =& $array['hoge']['fuge'];
0227217
2008/11/21(金) 23:35:05ID:Z3cf5Bdj皆さんありがとうございます。松竹梅の松としてAjaxが一番適してるかな、と思いました。
っていうか今までAjaxという便利な(開発はちょっとだるいけど)技術があったなんて……
調べたら今ではAjaxぐらい当たり前らしいのに、それを知らなかったなんて恥ずかしい。
JavaScript+SQLも調べてみたら結構使えそうな場面がありそうです!
このスレのおかげでシステム開発新しい境地が開けた気がします(なんて言ったら大げさかw)
ありがとうございました!
0228225
2008/11/22(土) 00:12:26ID:???>>225に書いたみたいに動的にJavaScriptを生成した方がいいよ。
DBのデータからJSの配列を動的に作って、それを元に動的にFORMタグ内のSELECTメニュー作るようなイメージかな?
なんか良いサンプルコードでもあればいいが。
0229nobodyさん
2008/11/24(月) 03:29:48ID:qgmjaVwu調べても分かりませんでした。
情報があればお願いします。
0230nobodyさん
2008/11/24(月) 03:59:11ID:???PHPはどこまで理解してんの?
あと別にsageなくてもいいけど
糞スレageるな
0231nobodyさん
2008/11/24(月) 21:45:36ID:???Notice: Undefined variable: PHP_SELF in
Notice: Undefined variable: aclink in
というエラーが出たのですがどういう意味でしょうか?
他のサーバでは出なかったのですが・・・
0232nobodyさん
2008/11/24(月) 21:51:17ID:???0233nobodyさん
2008/11/24(月) 21:56:37ID:???でも、他のサーバではうまく動いたんだけどなあ
0234nobodyさん
2008/11/24(月) 22:05:20ID:???答えがほしいなら問題箇所のソースを出しなさいよ
0235nobodyさん
2008/11/24(月) 22:18:40ID:???<p class="uline"> | <a href="$home">Home</a> | <a href="$PHP_SELF?gal=0">File List</a> |
<a href="$PHP_SELF?mode=upload">Upload</a> | <a href="$PHP_SELF?gal=1">Gallely</a> |
<a href="$PHP_SELF?mode=ret">search</a> | <a href="$PHP_SELF?mode=rank">ranking</a> |
<a href="$PHP_SELF?mode=env">Setting</a> | <a href="$PHP_SELF?mode=admin">Admin</a> | </p>
MODELINK;
?>
0236nobodyさん
2008/11/24(月) 22:25:07ID:???register_globalsをオンにしないと
0237nobodyさん
2008/11/24(月) 22:35:16ID:???ってかこれって鯖によって変わるの?
0238nobodyさん
2008/11/24(月) 23:10:46ID:???0239nobodyさん
2008/11/24(月) 23:38:27ID:???register_globalsとかいうのをオンにすると自動的に入るとは・・・
0240nobodyさん
2008/11/25(火) 00:09:35ID:???セキュリティ上あまりよろしくない
0241nobodyさん
2008/11/25(火) 12:59:37ID:???にしたけど、違うエラーが出るな・・・・変なところありますか?
0242nobodyさん
2008/11/25(火) 13:35:39ID:???自分なら
<a href="<?php echo $_SERVER['PHP_SELF']."?gal=0"; ?>">File List</a>
にするけどたぶん同じエラーが出るだろう
0243nobodyさん
2008/11/25(火) 13:37:26ID:???Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in
0244nobodyさん
2008/11/25(火) 13:43:43ID:???echo <<<MODELINK;
が
echo <<< MODELINK;
とかになってやしないか?
とにかく>>241の箇所には問題はない
0245244
2008/11/25(火) 13:45:11ID:???0246nobodyさん
2008/11/25(火) 13:56:23ID:???ありがとうございます
PHP_SELFの行をゴッソリ抜くと、エラーが出なくなるので、そこ以外に原因が考えられないんです
0247nobodyさん
2008/11/25(火) 14:02:28ID:???>>243のエラーはかわらないだろうけど。もう全部の文張ってくれ。
<?php
〜略〜
<a href="<?php echo $_SERVER['PHP_SELF']."?gal=0"; ?>">File List</a>
〜略〜
?>
こんなことにはなってないよね?
0248nobodyさん
2008/11/25(火) 14:13:48ID:???<?php
〜略〜
MAINUP;
$modelink = <<<MODELINK
<p class="uline"> | <a href="$home">Home</a> |
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?gal=0">File List</a> | <--- 126
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?mode=upload">Upload</a> |
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?gal=1">Gallely</a> |
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?mode=ret">search</a> |
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?mode=rank">ranking</a> |
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?mode=env">Setting</a> |
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?mode=admin">Admin</a> |
</p>
MODELINK;
〜略〜
?>
エラー
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in
〜〜〜〜htdocs/config.php on line 126
0250nobodyさん
2008/11/25(火) 14:22:53ID:???<?php
〜略〜
$PHP_SELF = $_SERVER['PHP_SELF'];
MAINUP;
$modelink = <<<MODELINK
<p class="uline"> | <a href="$home">Home</a> |
<a href="$PHP_SELF?gal=0">File List</a> | <--- 126
<a href="$PHP_SELF?mode=upload">Upload</a> |
<a href="$PHP_SELF?gal=1">Gallely</a> |
<a href="$PHP_SELF?mode=ret">search</a> |
<a href="$PHP_SELF?mode=rank">ranking</a> |
<a href="$PHP_SELF?mode=env">Setting</a> |
<a href="$PHP_SELF?mode=admin">Admin</a> |
</p>
MODELINK;
〜略〜
?>
0251nobodyさん
2008/11/25(火) 14:23:06ID:???phpの変数内のヒアドキュメントで<?php echo〜なんて書いたら文字列として扱われる
ヒアドキュメント内の変数で配列変数[]を使う場合{}で囲わないといけない
<a href="{$_SERVER['PHP_SELF']}?gal=0">といった感じに変更してみてくれ
0252251
2008/11/25(火) 14:34:09ID:???よく確認してなかったスマン
ようするに$a[0]なんかは直接かけるが
$a["0"]は{$a["0"]}にしないとだめ
ヒアドキュメント内や文字列の中で変数を使う場合は{}で囲むこと推奨
0253nobodyさん
2008/11/25(火) 14:42:15ID:???駄目でした
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in
〜〜〜〜htdocs/config.php on line 123
$PHP_SELF = $_SERVER['PHP_SELF']; <----123
MAINUP;
$modelink = <<<MODELINK
<p class="uline"> | <a href="$home">Home</a> |
<a href="$PHP_SELF?gal=0">File List</a> | <--- 126
<a href="$PHP_SELF?mode=upload">Upload</a> |
<a href="$PHP_SELF?gal=1">Gallely</a> |
<a href="$PHP_SELF?mode=ret">search</a> |
<a href="$PHP_SELF?mode=rank">ranking</a> |
<a href="$PHP_SELF?mode=env">Setting</a> |
<a href="$PHP_SELF?mode=admin">Admin</a> |
</p>
MODELINK;
0254nobodyさん
2008/11/25(火) 14:47:55ID:???0255nobodyさん
2008/11/25(火) 19:28:50ID:???0256nobodyさん
2008/11/25(火) 20:42:03ID:???$_SERVER['PHP_SELF']は使わないほうがいいよ。
使うならこっち。$_SERVER['SCRIPT_NAME']
0257nobodyさん
2008/11/25(火) 22:31:22ID:???>>256も書いてるが、$_SERVER['SCRIPT_NAME'] を使うようにね。
他の人も書いてるが、ヒアドキュメント内で使う際は
必ず「{$_SERVER['SCRIPT_NAME']}」という感じで「{」と「}」で挟む癖をつけておくといい。
0258nobodyさん
2008/11/26(水) 02:41:12ID:mfh7U9YhURLの飛び先のソースを取得して、そのソースからstrip_tagsでタグ以外の部分を
抜き出したいのですが、何故かうまくいきません。
というのもタグ部分が残ったままで出力されてしまうのです。
自分のかいたプログラムは以下のようになっています。
<?php
$url = "http://〜〜〜〜";
$lines = file($url);
foreach ($lines as $line_num => $line) {
$text = htmlspecialchars($line);
$str = strip_tags($text);
$htmlstring = $htmlstring.$str;
}
echo $htmlstring;
?>
ためしに、手打ちで
$text='<a>ああ</a>いい<b>うう</b>';
とかやってみたのですが、その場合は
「ああいいうう」
とちゃんと出力されました。
何がいけないのでしょうか...。
0259nobodyさん
2008/11/26(水) 03:04:17ID:???$url = file_get_contents("http://localhost/");
$htmlstring = strip_tags($url);
print $htmlstring;
?>
0260nobodyさん
2008/11/26(水) 03:04:51ID:???0261nobodyさん
2008/11/26(水) 03:07:29ID:???$url = "http://〜〜〜〜";
$lines = file($url);
foreach ($lines as $line_num => $line) {
$str = strip_tags($line);
$htmlstring = $htmlstring.$str;
}
echo $htmlstring;
?>
0262nobodyさん
2008/11/26(水) 04:03:18ID:???class aaa
{
private $var = array(1,2,3,4);
public function __construct(array &$yyy=null)
{
$this->var =& $yyy;
var_dump($this->var); //array(4) { [0]=> int(5) [1]=> int(6) [2]=> int(7) [3]=> int(8) }
}
public function bbb()
{
var_dump($this->var); //object(aaa)#1 (1) { ["var:private"]=> &object(aaa)#1 (1) { ["var:private"]=> *RECURSION* } }
}
}
$xxx = array(5,6,7,8,);
$ref =& $xxx;
$ref = new aaa($xxx);
$ref->bbb();
?>
これがなんでこうなるのか、詳しく
コンストラクタの内部では$this->varはちゃんと代入されてるのに、
他のメソッド内ではなんでダメ?
0263nobodyさん
2008/11/26(水) 04:07:01ID:???0264nobodyさん
2008/11/26(水) 07:25:28ID:vmBPQImxOSはFreeBSDです。
できれば、コメントとか空白部分を除いたステップ数を計算したいです。
0265nobodyさん
2008/11/26(水) 07:44:44ID:???■ このスレッドは過去ログ倉庫に格納されています