【PHP】質問スレッドPart3
レス数が1000を超えています。これ以上書き込みはできません。
0001名無しさん@お腹いっぱい。
02/02/17 13:23ID:N+9Uw5dE答えられる方、返答よろしくお願いします。
<<参考リンク>>
■本家
http://www.php.net/
■PHP日本語マニュアル
http://www.php.net/manual/ja/
■JapanPHPUsersGroup
http://www.php.gr.jp/
■PHP日本語ページ
http://www.cityfujisawa.ne.jp/~louis/apps/phpfi/index.html
■Pearのドキュメント
http://phpdocu.sourceforge.net/peardocs/
<<過去スレ>>
■【PHP】質問スレッドPart1
http://ebi.2ch.net/test/read.cgi/php/982687820/
■【PHP】質問スレッドPart2
http://pc.2ch.net/test/read.cgi/php/1003283567/
<<教えて君>>
■ここ見習って書き込んじゃ、駄目よ
http://pc.2ch.net/test/read.cgi/unix/1011345180/242-245
0951nobodyさん
02/05/30 23:50ID:???Googleで探しても見つからなかったです。
0953nobodyさん
02/05/31 04:33ID:???しているのですが header("Location: ".$_SERVER['PHP_SELF']); のところで
エラーが発生してしまいます。
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
header("Location: ".$_SERVER['PHP_SELF']); ←ここでエラー
}
エラーメッセージは,Warning: Cannot add header information - headers
already sent by ...... です。
どうしたら,POST後に自分自身をリダイレクトできるのでしょうか?
0954名無しさん
02/05/31 05:37ID:???改行とか先に出力されてたりしない?
0956FAQ
02/05/31 07:45ID:???通 常の HTML タグまたは PHP からの出力にかか
わらず、すべての実際の出 力の前にコールする
必要があることです。 頻出するエラーとして、(以下略)
http://www.php.net/manual/ja/function.header.php
http://ns1.php.gr.jp/pipermail/php-users/2002-February/005678.html
http://ns1.php.gr.jp/pipermail/php-users/2002-February/005680.html
http://ns1.php.gr.jp/pipermail/php-users/2002-February/005681.html
http://ns1.php.gr.jp/mailman/listinfo/php-users
>エラーメッセージは,Warning: Cannot add header information - headers
>already sent by ...... です。
質問なんですが、この by の意味は?
0957nobodyさん
02/05/31 09:29ID:???/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ♪聞いてうにゅうリーナ ちょっと言いにくいんだけど
| ♪聞いてうにゅうリーナ
|
| 最近、エラーメッセージも読まずに質問する厨がふえてるんだよ
| ぐんにょり
|
| 聞いてくれてあーりがと うにゅうリーナ♪
\____ __________________
V
, -―- 、 ./ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
/了 l__〕 〈] | 火炎瓶投げてきていいで
7| K ノメノ )))〉 | 不審美や。
l」 |」(l| ( | | || \_ _____________
| |ゝリ " (フ/リ V
| | /\_V〕、 _/l__
. l l | /ヽ/<ノ|〉ヘ. / く
!リl〈 〈〉、_ト .〉 | ´ω` |
V^i` ―lV | C=' |
`ァ'/ l|-' | ̄ ̄ ̄ ̄ ̄|
/ \/V| ~|  ̄ ̄ ̄ ;|~
ゝ | | .;;|
0958名無しさん
02/05/31 10:24ID:???PocketPCでは新規にウインドウを開くことや、モーダルダイアログ
などのイベントは一切発生しません。
まず、テキストファイルにフラグを立てるやり方をしていましたが、
フラグを消す処理を違うフレームに配置して
onunLoadイベントで実行させる方法がうまく動かずに苦労しています。
そこでそれとは違う方法も模索しています。
PHPではどのクライアントからでも参照できるグローバルな変数を
持つことは可能でしょうか?回答を宜しくお願いします。
0959nobodyさん
02/05/31 13:10ID:kQ6/O1xW<script language="javascript">
function test1 (){
for (i=0;i<document.test_form.test.length;i++){
document.test_form.test[i].checked=true;
}
}
</script>
<form name="test_form">
<input type="checkbox" name="test" value="">
<input type="checkbox" name="test" value="">
<input type="button" value="test" onclick="test1()">
</form>
と同等の処理を、PHPで配列として扱えるようにnameを
<form name="test_form">
<input type="checkbox" name="test[]" value="">
<input type="checkbox" name="test[]" value="">
<input type="button" value="test" onclick="test1()">
</form>
として処理したいのですが、
どのようにすればいいのか、どなたか教えてもらえないでしょうか?
0960nobodyさん
02/05/31 14:52ID:???誰に何をいつまでさせたくないのか分からないので
後は何とも。
>>959 はずしたらスマソ。 しかしセンスないなぁ>>960
<html><body>
<?php
foreach($_POST["test"] as $value) {
echo $value;
}
?>
<form method="post" action="<?= $_SERVER["PHP_SELF"];?>">
<input type="checkbox" name="test[]" value="MA">MA
<input type="checkbox" name="test[]" value="MUKO">MUKO
<input type="submit" value="Go">
</form>
</body></html>
0961名無しさん
02/05/31 16:02ID:???回答ありがとうございます。
質問の仕方がまずかったのであまり趣旨が伝わらなかったようで
すみません。要するに、ASPでいうところのGlobal.asaのような
グローバルなセッションを持つことは可能でしょうか?
0962959
02/05/31 16:48ID:OsEG1hGVうーん、javascriptをどう書けば name が test[] の項目を一括で変更できるかという話なんですよ。
PHP使ってる人の方が同じ状況に陥った人が多そうなのでここに書いてみたんですが。。。
0963nobodyさん
02/05/31 18:00ID:3WIJ9xDFJavaScriptがわかりゃだれでもできるだろ
Web制作板でも逝け
0964qqq
02/05/31 21:08ID:Yl9y3+1W解決できません。助けて下さい。
フォーム送信データを変数として取り込めないのです。
参考書に付いていた、サンプルがあるのですが、
sample3.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
<title>サンプル3</title>
</head>
<body>
<form method="post" action="sample3.php">
お名前: <input type="text" name="YourName"><br>
<input type="submit" value="GO">
</form>
</body>
</html>
------------------------
sample3.php
<?
header("Content-type: text/html; charset=euc-jp");
?>
<html>
<head>
<title>サンプル3</title>
</head>
<body>
お名前: <b><? print($YourName); ?></b><br>
</body>
</html>
----------------------
つづく。。。
0965qqq
02/05/31 21:08ID:Yl9y3+1Wphp自体は普通のプログラム(時間表示)などはちゃんと
動作しています。上のサンプルも、送信ボタンを
押すとsample3.phpを実行してくれるのですが、
変数が空白で表示されてしまいます。
他の参考書でも入力フォームの物は変数が空白で
帰ってきてしまいます。変数名の大、小文字
対策もしています。(付録のcdromから直接使っても
結果は同じでした。)
なんかすんごい初歩的なことを見逃しているのは
十分わかっているのですが、それがなにかわからなくて。。
redhat7.2
apache1.3.24(ソース版)
php-4.2.1(ソース版)
0966nobodyさん
02/05/31 21:12ID:???これをインクルードしたり記述すると止まります
先輩!解決方法教えてください
0967nobodyさん
02/05/31 21:34ID:???list($v['name'],$v['msg'],$v['ipaddr'],$v['icon'])
= explode("\t",trim(fgets($fp, 4096)));
というところで、もし
名無しさん\tage\t\tface.png
というログだった場合、undef代入したということで Undefined offset 3 と
怒られてしまうのですが、うまい方法無いでしょうか。
やっぱlistを放棄してせこせこ切り分けするしか無いんでしょうか。
# error_reporting(5);じゃあんまりだなぁ…と思うのです。
# 別にundef代入してもいいじゃん…
0968qqq
02/05/31 22:02ID:Yl9y3+1W自己レスです。
4.2からはグローバル変数がデフォルトでoffになっていたようですね。
おさわがせしました。
それにしてもphp.iniなんかも探しまくったのですが、見つからないと思ったら
手動なんですね。この手の設定があやしいと思っていたのですが。
3冊の参考書にはそれらしい注意事項も書かれていなかった(4.1まで)ので
まさか初期状態で使えなくなるとは。。。初心者にはマジできつかったです。
0969967
02/05/31 23:31ID:???これ。
http://jp.php.net/manual/ja/language.basic-syntax.php#language.basic-syntax.phpmode
最初の方法は、短縮型のタグが有効な場合にのみ利用可能です。
短縮型のタグは、short_tags() 関数を使用するか (PHP 3のみ)、
PHPの設定ファイルに short_open_tagを設定する か
--enable-short-tags オプションを configure に 指定して
PHP をコンパイルすることにより、有効にできます。
0972nobodyさん
02/06/01 03:20ID:???メジャーバージョンがあがるまでは間違える人が後を断たないだろう・・。
0973967
02/06/01 06:16ID:???http://jp.php.net/manual/ja/function.array-pad.php
list($v['name'],$v['msg'],$v['ipaddr'],$v['icon'])
= array_pad(explode("\t",trim(fgets($fp, 4096))), 4,0);
でなんとか。綺麗じゃないけど
0974nobodyさん
02/06/01 12:44ID:???ショッピングカート作ってて
商品番号=商品個数
みたいなデータを渡そうと思ってたんだけどうまくいかないや
多分これが原因かな?
0975nobodyさん
02/06/01 13:13ID:???<body>
<?php
session_start();
if(!isset($_SESSION["num"])) {
$_SESSION["num"] = 10;
} else {
echo "num = ".$_SESSION["num"];
//リロードしてください
}
?>
</body>
</html>
0976nobodyさん
02/06/01 13:28ID:???error_reporting = E_ALLで
$str = " 名無しさん\tage\t\tface.png";
list($v['name'],$v['msg'],$v['ipaddr'],$v['icon'])
= explode("\t",trim($str));
すると、警告なしで下記のようになりました。
$v['name'] => 名無しさん
$v['msg'] => age
$v['ipaddr'] =>
$v['icon'] => face.png
ファイル使わないとダメ?
PHP 4.2.1です。
0978y2kbest@k9.dion.ne.jp
02/06/01 13:50ID:???「 RX-2001 」がパワーアップした、
「 RX-2000V 」↓
http://user.auctions.yahoo.co.jp/jp/user/NEO_UURONNTYA
店頭販売価格は、13900 円なんですが、
今回だけ、破格の 7100 円に設定して
おります。
購入希望の方は、名前の所にも書いて
ある、y2kbest@k9.dion.ne.jp 迄、
メールを下さい。
不安な方は、落札をして頂いても
構いません。
0979nobodyさん
02/06/01 14:47ID:PQ5ydhwv./configure \
--with-apxs=/usr/local/apache/bin/apxs \
--enable-mbstring \
--enable-mbregex \
--enable-mbstr-enc-trans \
--with-pgsql=/usr/local/pgsql \
--enable-sockets
---e.hdml (EUC)
<hdml version="3.0">
<display>ほげほげ</display>
</hdml>
---p.php
<?php
mb_http_output('SJIS');
ob_start('mb_output_handler');
header('content-type: text/x-hdml; charset=shift_jis');
require './e.hdml';
?>
p.phpにアクセスするとEUCなんです。
e.hdmlをshift_jisにコンバートして試すと、SJISなんです。
php.iniのmbstring.http_outputなどをいじっても結果は変わりません。
requireではなく、fopenで読み込みechoしても結果は変わりません。
私、何か勘違いしてますか?
0980967
02/06/01 16:47ID:???レスありがとうございます。
こうだと転けてくれるみたいです、こちら4.2.1です。
$str ="1\t2\t\t\t\t\t\n";
list($v['name'],$v['msg'],$v['ipaddr'],$v['icon'])
= explode("\t",trim($str));
Undefined offset: 3
Undefined offset: 2
0981nobodyさん
02/06/01 18:56ID:P630Haih---e.html (EUC)
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
</head>
<body>日本語の出力。</body>
</html>
---p.php
<?php
mb_http_output('SJIS');
ob_start('mb_output_handler');
//header('content-type: text/html; charset=shift_jis');
require './e.html';
?>
こうするとshift_jisになりますが、
headerのコメントをはずすと
私もEUC-JPになってしまいます。?。
0982nobodyさん
02/06/01 20:43ID:Q92m0630このファイルを新しい順に並べたいのと、一番最後のファイルを別に表示させたいんだけどどうすればいいの?
教えてください。
0983967
02/06/01 21:07ID:???http://jp.php.net/manual/ja/function.readdir.php
でファイルリスト配列取って
http://jp.php.net/manual/ja/function.sort.php
でソートではダメだったの?
ソート方法はSORT_NUMERICで。
0984nobodyさん
02/06/01 23:21ID:???<?php
$path = "./work";
$dir = @opendir($path)
or die("Cannot open directory $path");
while ($file = readdir($dir)) {
if (!ereg("(\.|\.\.)" , $file)) {
$files[$file] = filemtime($path . "/" . $file);
}
}
closedir($dir);
arsort($files);
foreach($files as $key => $value) {
echo $key . "<br>\n";
}
?>
0985nobodyさん
02/06/02 00:16ID:7VWf6zUb$sに、
test<>hoge
という文字列が入ってるんですが、
test()hoge
にするにはどうしたらいいですか?
0986nobodyさん
02/06/02 00:58ID:???0987nobodyさん
02/06/02 01:17ID:SBRh2TolPascal から C への変換プログラムとありました。
しかし、混乱しております。
あるphpとmysqlのスクリプトのソースを見ていたのですが、こんな感じでp2cが使われていました。
"select products_id, products_name, products_quantity, products_image,
products_price, products_date_added, products_status from products , products_to_categories p2c
where products_id = p2c.products_id and p2c.categories_id = '" . $current_category_id . "' order by products_name");
テーブル、カラムの名前にはp2cの文字は使われていません。
何故こんなところにp2cでしょうか?
0988nobodyさん
02/06/02 02:00ID:nwqefcRuFROM句で products_to_categories p2c ってやってるでしょ。
products_to_categories を p2c というエイリアスで扱ってるんよ。
だから p2c.products_id は products_to_categories.products_id と同じになるんよ。
0989987
02/06/02 02:30ID:SBRh2Tolありがとうございます。ちょっと書いただけでわかるのですね。感激です。sqlファイルを今見ています。
エイリアスとはわからず、p2cばかり調べていました。
今、夜空の星にあなたの幸せを祈りました。
でも何故p2cとしたのでしょう?作者の気まぐれでしょうか。
それとも慣用句みたいによく使うのでしょうか。
0990nobodyさん
02/06/02 03:26ID:???products = p
to = 2
categories = c
自分が省略するときのことを考えてみろよ
0992nobodyさん
02/06/02 10:01ID:smXe05SQありがとうございます。
感動しました。
言葉がでません。
星がでてないので、暗くなったら祈ります。
0993nobodyさん
02/06/02 13:35ID:S6tfVE27ウェブデザイナーって儲かるんですか?
進学に困ってるのです><
0995979
02/06/02 14:51ID:???0996981
02/06/02 14:56ID:iCTCDCX0説明不足でスマソ。書いてくれたの読んで大体わかったよ。
ディレクトリの中のファイルを番号が若い順に並べたいの。
更新時間はバラバラなので、ファイル名だけ配列に入れてrsortしようと思うんだけど、
readdirってちゃんとファイル名順に読み込んでいくの?
あと、ディレクトリの中のファイルで一番番号が若いファイル名を取得したいんだけど、
それも上のように一度配列に読み込まないとだめかな。
0997教えて君
02/06/02 14:58ID:Tbi7w50X($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
$year += 1900;
$month = $mon + 1;
@dayname = ('日','月','火','水','木','金','土');
このあたりが怪しいと思うのですが見当違いですか?
初心者でスンマセン
0998979
02/06/02 14:59ID:???ini_set('default_mimetype', 'text/x-hdml');
で回避できました。お騒がせしました。
0999nobodyさん
02/06/02 15:34ID:???http://pc.2ch.net/test/read.cgi/php/1022999539/l50
1000埋め立て
02/06/02 16:19ID:???''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。