【PHP】質問スレッドpart26【php】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
04/12/21 22:34:55ID:???0413nobodyさん
05/01/21 10:43:33ID:???どうしてもやりたきゃ、main/php_variables.c に
/* ensure that we don't have spaces or dots in the variable name (not binary safe) */
って行があるからそこを書き換えれば出来ると思いますよ。
<input type="image" name="a">なんかも、座標値が a.x -> a_x になって渡されます。
spaceも_ になるのか。これは知らんかった。
0414nobodyさん
05/01/21 13:10:43ID:???0416nobodyさん
05/01/21 14:47:33ID:???>>413の言うとおりにすれば可能と思われ
それとも、なぜ現状ではピリオド付きでは
受け取れないのか理解できないとでも?
0417nobodyさん
05/01/21 15:07:12ID:???具体的なPHPのコードに関する質問はここ。
それ以外、コード以前の質問は↓
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
★ ★
☆ 新規質問は名前欄・メール欄を空にして行え ☆
★ ★
☆ 質問者が返信する際は、名前欄に「最初に質問したレス番号」を入れろ ☆
★ ★
☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
0418軟式PHP
05/01/21 15:41:16ID:???0419nobodyさん
05/01/21 15:52:54ID:6l6oJL9k1つでもあれば別のプログラムを実行する、
というスクリプトは実現可?
0421nobodyさん
05/01/21 15:56:14ID:???0424nobodyさん
05/01/21 21:03:41ID:???質問ばかりしか無かったってことか?
0425nobodyさん
05/01/21 22:40:18ID:???0426nobodyさん
05/01/21 23:10:43ID:EgTTTyzS直してください。
0430nobodyさん
05/01/22 01:53:06ID:???0431nobodyさん
05/01/22 01:54:35ID:???0432nobodyさん
05/01/22 02:53:34ID:???なんで本人がこんなとこで公表するんだよ
0433nobodyさん
05/01/22 07:19:46ID:???0434nobodyさん
05/01/22 12:39:37ID:Drlw2rEk1つ目の画面でsession_startして2つ目の画面で設定して
10個目の画面で参照しても大丈夫?
0436nobodyさん
05/01/22 16:04:36ID:JnEFpsgm他人がつくったソースを参考として拝見して、勉強したいのですが、
「このソースを参考にしたらいい」っていうおすすめあります?
なお、速さ重視より保守性重視なほうがいいです。
ふとおもったんですが、pearとかどうなのかな???
0438nobodyさん
05/01/22 17:04:02ID:???リダイレクトができません。
↓これであってますよね?
header("Location : http://192.168.xxx.xxx/xxxx/xxx.php");
何か他で、設定とかいるんですか?
0442nobodyさん
05/01/22 17:43:20ID:???・自分で考える
・他人に聞かない
・グーグル
0444nobodyさん
05/01/22 18:47:46ID:???だめだった。
<?php
header("Location : http://XXXXXX/XXXX/XXX.php");
?>
これだけの実験なんだけど動かない。
続きは、くだらねえ質問スレ逝ってきます。
すみませんでした。
0445nobodyさん
05/01/22 19:53:24ID:7Lald5AzRDBは使いたくないんですが。
0447nobodyさん
05/01/22 20:23:30ID:???0449445
05/01/22 22:31:44ID:TvWo965lここは質問スレ!!
答えたくないなら黙っとけ。
答えられなくても黙っとけ。
関係ないことは書くな!!
おまえのはただのスレ汚しだ。
0451445
05/01/22 22:42:48ID:TvWo965l何がすれ違いなんだ?
448の馬鹿にこのスレのルールを教えてやっているのに。
0454nobodyさん
05/01/23 01:15:36ID:???よくわからんが、答えるぞw
間違ってたらゆるしてくれ。
文字列をデリミタで区切ってつかう。
では駄目なのか?
だめなら誰かかわりに答えてやってくれ。
0456nobodyさん
05/01/23 02:29:54ID:???PHP5のget_headers();しかないですか?
php4でリモートファイルのHTTPヘッダ取得が出来る方法があったら
教えてください。
0458nobodyさん
05/01/23 12:44:26ID:???スクリプト実行中にPHP以外の動作によって情報に変更が入った場合には
どうなるのでしょうか?
キャッシュした情報のみで処理されてるのかなぁ
0459nobodyさん
05/01/23 12:59:11ID:v8YGggq/どうしてココのスレは性格の悪い人が多いのですか?
0461459
05/01/23 13:14:55ID:v8YGggq/解決しました。ありがとう御座います。
0462nobodyさん
05/01/23 14:24:03ID:???http://jp.php.net/manual/ja/function.filemtime.php
http://jp.php.net/manual/ja/function.clearstatcache.php
PHPがキャッシュするので、PHP以外、場合によっては
別のPHPコードの実行によっても差異が生じる可能性がある。
あるPHPのコードと別のPHPのコードが、"同じPHP"によって
実行されるとは限らんし、"別のPHP"同士でキャッシュを
共有してる訳でもないから。
必要ならOSのロック機構を使用できないか検討する。
0463nobodyさん
05/01/23 22:03:29ID:zrTgGnqoしないのですが私の環境だけでしょうか?
<?php
class count
{
function __construct()
{
session_start();
if(!isset($_SESSION['count']))
$_SESSION['count']=0;
}
function __destruct()
{
echo $_SESSION['count'];
$_SESSION['count']++;
}
}
$obj=new count;
//ここに $_SESSION['count']++; を移動させると正常に動作
?>
0464nobodyさん
05/01/23 22:14:30ID:???今のところ明示的に参照を0にする必要がある。
0465463
05/01/23 22:22:31ID:zrTgGnqoなるほど。レスありがとうございます。
友人のlinux版では正常に動作したのですがwindows版だと
動作が違うのですかね。^^;
0466nobodyさん
05/01/23 22:49:39ID:???代入すれば自動的にsession_startするみたいだけど。
linuxの環境では自動スタートの設定になっていたとか?
0467nobodyさん
05/01/23 23:12:58ID:???うちのWoodyも5.0.3入れてるがWinと同じ動作。
その友人ので動いたとすれば、どこかで参照カウンタがゼロになったかのどちらかだと思う。
あるいはCVS版では既に修正されているかも。
とりあえずはregister_shutdown_func〜を使うか、unsetでオブジェクトを
破棄してデストラクトをコールさせるしかない。
0469nobodyさん
05/01/24 00:29:55ID:???clearstatcache()
filemtime()関数の説明にも書いてある。
>>459
>>458みたいに1分でもマニュアル読めば分かるような事を聞く奴ばかりだと、
段々腹立ってくるから。
0471nobodyさん
05/01/24 01:08:27ID:eTYF+FRLサイトの場所、わからない;;
0475nobodyさん
05/01/24 01:10:48ID:???0476nobodyさん
05/01/24 01:21:12ID:???0477463
05/01/24 01:30:08ID:9W2iCmX2__construct() 内でsession_startしています。^^;
0479nobodyさん
05/01/24 03:33:48ID:???{}の閉じ忘れ、セミコロンのつけ忘れなど原因を調べてみても原因が分からず。
諦めモードで、試しにTabインデントをすべて削除してみたら何故か動いた。
こんな不思議なことが過去に何回かあったんだが、喪前らはどうよ?
0481nobodyさん
05/01/24 03:47:58ID:???全角が含まれているかどうかもハイライト表示でちゃんとチェックした。
置換で \n\t を \n に置換しただけで何故か動いたから、その可能性はない。
0482nobodyさん
05/01/24 03:52:14ID:???0485479
05/01/24 04:29:36ID:???インデント終了宣言部分の行頭に[Tab]が含まれていたのが原因ですた。
[Tab]$str = <<<EOD
[Tab][Tab]Hello, World!
[Tab]EOD;
吊ってきます・・・∧||∧
0486nobodyさん
05/01/24 04:55:40ID:???○ ヒアドキュ メント構文
オイラの環境 php-4.3.5@win2kだと、その類のミスは
「parse error, unexpected T_SL in 〜」と表示されるので、
マニュアルのパーサトークンのページの情報から
「<<」が不適切だと分かる。parse error行前後を見ても気づくし。
(その前にヒアドキュメントでミスなんてしないけどね;p)
0487nobodyさん
05/01/24 06:48:22ID:???print <<<EOT
<a href="javascript:fnc_a('----')";>
EOT;
fnc_a()はjavascriptの関数
上記のような文を書きたいのですが、ヒアドキュメントを使えば
そのままでいいのですが、EOTを禁止されてしまいました。(理由は不明です)
他にどのように書けばいいでしょうか?
0488nobodyさん
05/01/24 07:20:08ID:???>EOTを禁止されてしまいました
EOTを禁止ってなんだ
>他にどのように書けばいいでしょうか?
普通にechoするなりphp構文の外に出すなりすればいいだろ?
俺には何が分からんのかさっぱり分からん
0490nobodyさん
05/01/24 07:57:23ID:???0491nobodyさん
05/01/24 08:06:38ID:???print <<<_UNKO_
<a href="javascript:fnc_a('----')";>
_UNKO_;
これでバッチリ。
0492nobodyさん
05/01/24 11:32:14ID:???error_reporting = E_ALL & ~E_NOTICE
の設定でプログラムを書いてきたのですが、今後
error_reporting = E_ALL
にして書いていきたいと思っています。
ウェブフォームから入力されてくる値は、
$_REQUEST['param']
といった感じで取得するわけですが、いきなり参照するとwarningが出ます。
一切のwarningを出さないようにするためには、
例えばプログラムの先頭で、
if (isset($_REQUEST['param'])) $param = $_REQUEST['param'];
のようなかたちで一旦すべて$param形式の変数に代入して、
以下のプログラムでは$paramを参照等するようにすればOKでしょうか?
すでにE_ALLでこの点に気をつけて書かれている方がいらっしゃいましたら、
ぜひノウハウを教えていただければ幸いです。
0493nobodyさん
05/01/24 12:02:31ID:gh8S2KoaSSL非経由(http)からのアクセスの場合で
ifを使って処理を分けたいのですが、
この場合、どうすれば判断できるでしょうか?
環境変数ってやつを使うっぽいのですが・・・
0495nobodyさん
05/01/24 14:05:08ID:???おれは
if (!isset($_REQUEST['param'])) $_REQUEST['param'] = "";
と空文字をセットしたり
if (empty($_REQUEST['param'])) $_REQUEST['param'] = "初期値";
初期値をセットしたりしてる
0496nobodyさん
05/01/24 14:34:57ID:???なるほど、それだとelseまで書かなくて済みますね。
実は$_REQUEST等はread onlyかと思ってました。
(書き換えて使ったことがなかったので)
これまで、register globalがonからoffに変わった頃からの名残で、
プログラムの先頭ですべて
$param = $_REQUEST['param'];
のように代入していました。
(また$paramをquoteした場合は$quoted_paramに代入)
オリジナル値を操作しないというのは今後も続けようと思いますが、
これまでの先頭のさらに前に処理を追加しようと思います。
ありがとうございました。
0497nobodyさん
05/01/24 14:37:06ID:???現在HTML部に↓のような記述をしているのですが
<input type="checkbox" name="ckbox[0]" value="1" checked>お酒
<input type="checkbox" name="ckbox[1]" value="2">禁煙席
<input type="checkbox" name="ckbox[2]" value="3">送迎
$checkbox[0] = $_POST["ckbox[0]"]
これを[]を用いないで(配列を用いないで)FORMの値を取得する方法はありますか?
0498nobodyさん
05/01/24 14:37:30ID:???どうでも良い事だが、俺は条件式の書き方が好き
$hoge = (条件) ? 1 : 0; ってやつね。
{}でくくってないif文はなんとなく嫌。
0499nobodyさん
05/01/24 14:40:38ID:???>>497
何で配列を使わないのかが分からないが…
<input type="checkbox" name="sake" value="1" checked>お酒
<input type="checkbox" name="kin" value="2">禁煙席
<input type="checkbox" name="sou" value="3">送迎
とでもして、$_POST['sake'] $_POST['kin'] $_POST['sou'] 調べれば終わりだと思うが??
何をしたいのかよく分からん。
0500nobodyさん
05/01/24 14:42:11ID:???ゴメン。チト間違えた。
<input type="checkbox" name="sake" value="on" checked>お酒
<input type="checkbox" name="kin" value="on">禁煙席
<input type="checkbox" name="sou" value="on">送迎
とでもして、$_POST['sake'] $_POST['kin'] $_POST['sou'] 調べれば終わりだと思うが??
に訂正
0501nobodyさん
05/01/24 15:07:35ID:???質問のしかたが悪かったかもしれません・・・。
例えば、
好きな観光地と言う複数選択で
<input type="checkbox" name="kankouti" value="京都">京都
<input type="checkbox" name="kankouti" value="奈良">奈良
<input type="checkbox" name="kankouti" value="宮島">宮島
<input type="checkbox" name="kankouti" value="秩父">秩父
<input type="checkbox" name="kankouti" value="箱根">箱根
こんな感じのHTMLで
奈良と宮島と秩父にチェックを入れた場合
出力で
「奈良,宮島,秩父」という感じにまとめたいのですが、この場合のプログラムはどのように書いたらよいのか
分かりますか?
0503nobodyさん
05/01/24 15:23:02ID:???試してみます
0504nobodyさん
05/01/24 15:24:13ID:???全部name[]としておけば、チェックされたものが
name[0],name[1],...に入ってきたと思いますが。
0505二級 ◆Y7FjQgxfdo
05/01/24 15:30:37ID:???$aの中身が配列であるのか、配列ではないのかを調べる関数ってあります?
0508497
05/01/24 15:36:40ID:???配列を使わない意味はなかったかもしれません^^;
>>506
$_POST["ckbox[0]"] でやってだめだったんでハマってたんですよ。
どうやら解決しそうです。ありがとうございます。
0509nobodyさん
05/01/24 15:44:08ID:???$ckbox = $_POST["ckbox"];
としてから
$chbox[0]
でもアクセスできるよ。
0510nobodyさん
05/01/24 15:58:51ID:???$chbox[0]
じゃなくて
$ckbox[0]
です。
■ このスレッドは過去ログ倉庫に格納されています