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

【PHP】質問スレッドpart26【php】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/12/21 22:34:55ID:???
のフリをした糞スレ
0345nobodyさん05/01/16 00:45:46ID:QR0dYcnM
<form name='form' method='post' action='./'>
<input type='checkbox' name='cu'>
<input type='submit' value='submit'>
</form>

チェックボックスを空でPOSTすると$_POST['cu']の空変数は
セットされないのですね。今日、はじめて気づいたよ^^;。
valueを付けたら良いのだろうか・・・やってみよ



034634505/01/16 00:47:54ID:???
valueを付けてもダメですね
$_POST['cu']の空変数を取り出せるタグの書き方等はあるのでしょうか?
0347nobodyさん05/01/16 00:53:48ID:???
>>346
hiddenで隠し持つしかないねぇ。(checkboxとhiddenで1セット)
0348nobodyさん05/01/16 00:56:15ID:???
>>346
受け取る側で使う前に

$cu = isset($_POST['cu']) ? $_POST['cu'] : '';

とかやってみるといいんでは?
034934505/01/16 01:26:50ID:???
>>347
checkboxに使う変数をhidden1つにカンマ区切りで纏めて送信する事にしました。

>>348
それがPOSTを受け取る側ではキーの部分が不特定になる構造なので空変数の
キーが必要だったのです。

0350nobodyさん05/01/16 02:55:33ID:ChEzpbOr
>>349
そういや、チェックボックスで漏れも痛い目にあったことあるな。
原因がわかるまで、4日くらい帰れなかった。
セッションとクッキーも絡めて使ってたから、一度チェック入れちゃうと
外してpostしてもチェック入った値が入るので大問題になった。
0351nobodyさん05/01/16 03:52:05ID:???
>>350
うはwwwレベル低すぎwwwwwwwww
0352nobodyさん05/01/16 05:17:32ID:K/l3JAK3
全くの初心者が無謀にも挑戦してますです。

アパッチ+postgres+phpと言うサイトで
$memberlist というテーブルがあります。
Create文

create table memberlist (
id int primary key,
name text,
hurikana text,
bag int8,
…

こんな感じのテーブルがあります。

php上で リストに何人いるか表示させたいのです。
nameの総数という感じでしょうか?

<TD> ******** </TD>

この****部分にどんな指定をすれば総数がでるでしょうか?
ダメもとでやっても出来るはずないので聞きに来ました。
これだけではデータが少ないかも知りませんがどなたかお願い出来ませんか?
ちなみにphpファイルを扱うのははじめてなのです。

0353nobodyさん05/01/16 05:22:49ID:???
>>352
まず、マニュアル読め!
0354nobodyさん05/01/16 05:35:14ID:???
すげえな。「何が分からないのか分からない」という某CMをも超えてるぜ。ゴクリ
1. SQLを調べる
2. phpとPostgreSQLの連携を調べる
0355nobodyさん05/01/16 07:18:17ID:???
PHPじゃなくてHTTPの質問になっちゃうんだけど、
RedirectをさせたときにGETじゃなくてPOSTにさせることってできますか?
やりたいことはRedirect先にリクエストパラメータを渡したいだけなんで
Location: http://server/path/script?param1=value1
とすればいいんですが、パラメータをURLに出したくないので、POSTでできないかなーと。
0356nobodyさん05/01/16 07:51:28ID:???
>>355
リダイレクトの仕様上ムリ。
0357nobodyさん05/01/16 08:00:55ID:???
>>355
そゆときの為のセッション管理。
$_SESSIONを使う。
0358nobodyさん05/01/16 08:16:42ID:???
>>355
「リダイレクト先に指定のデータをPOSTするPHP(別にPHPである必要もないが)」へリダイレクトをかければ良いと思うが??
サーバーを跨がないのであれば、>>357が良いだろうな。
035935705/01/16 08:37:58ID:???
>>358
ああ、別に質問の条件にあったわけじゃないけど、
サーバを跨ぐ可能性ってのを完全に忘れてたYO。
036035505/01/16 14:34:54ID:???
>>356-359
どうもありがとう。別スクリプトを呼び出すなんて考えもしなかったよ。さんくす。
0361nobodyさん05/01/16 16:53:56ID:???
functionを作成する場合、引数の数を不定にすることはできるでしょうか?
やりたいこととしては、function に渡した引数が
Perl のサブルーチンのように配列に入ってくれれば良いのですが。
呼び出し元では配列を使用せず、変数を列挙したいのです。

foo($a, $b, $c); // 3つとは限らない
function foo($array) {
// 引数を全て$arrayにセットしたい
}

呼び出し元から配列を渡せば良いことは承知ですが
何か上手い方法は無いでしょうか?
0362nobodyさん05/01/16 16:57:56ID:???
>>361
呼び出し元で、配列を渡したくない意味がわからない。
0363nobodyさん05/01/16 16:58:35ID:???
http://jp.php.net/func_get_args
036436105/01/16 17:43:21ID:???
>>362
$a, $b, $c, "aaa", "bbb" など、変数や固定値をまとめて渡したいのです。
これを配列やハッシュに代入してから関数に渡すと、
呼び出し元で配列への代入文を記述する必要がある上
ワーク配列を1つ作成しないといけません。
配列を渡したくない理由はその辺りです。

>>363
ありがとうございました。まさにこれです。
0365nobodyさん05/01/16 18:33:57ID:???
配列をセッション変数にした場合、$_SESSIONで受け取る場合は、どういう風になるんでしょうか?
例えば student という変数をarrayで配列宣言して、セッション変数に指定した場合、
$_SESSION['student']['no'] といった感じで $student['no']を受け取るのかと思いましたが
駄目なようです。
0366nobodyさん05/01/16 18:40:36ID:???
>>365
言ってる意味がわからん
$_SESSION['student']['no'] と $student['no'] はどうみても
別物にしか見えない
0367nobodyさん05/01/16 18:44:08ID:???
すいません。
要はセッションで配列変数を渡したいのです。
0368nobodyさん05/01/16 18:44:33ID:???
>>365
>例えば student という変数をarrayで配列宣言して、セッション変数に指定
これはどうやったんだよ
0369nobodyさん05/01/16 18:47:06ID:???
$a = array('a','b','c');
$_SESSION = $a;
print_r($_SESSION);
とか?
0370nobodyさん05/01/16 18:47:22ID:???
勝手にシリアライズされるから普通に配列も突っ込めるけど
0371nobodyさん05/01/16 18:49:39ID:???
素直に解釈するとこうだよな
まぁ、前の$_SESSIONが消えてなくなるが;

$student = array();
$_SESSION = $student;
0372nobodyさん05/01/16 18:54:16ID:???
今のサーバーがPHP4.0.6の為に普通に session_registerで student をセッション変数にして
その後、 $student=array() で配列にています。
今後サーバーが変わって、PHPのバージョンが上がるために、今のうちに$_SESSIONで対応しておこうと
$_SESSION = $HTTP_SESSION_VARS
で $_SESSION にセッション変数を取り込んでいます。
0373nobodyさん05/01/16 18:57:42ID:???
駄目な奴ってほんと何をやらせても駄目なんだなあ
0374nobodyさん05/01/16 18:58:24ID:???
>>371
ハァ?
0375nobodyさん05/01/16 19:14:12ID:???
>>374
馬鹿ってキーでも欲しいのか
0376nobodyさん05/01/16 23:56:26ID:???
質問です
PHPでwindowsを操作することってできますか?
例えばFormのボタンをおすとコピー(Ctrl+C)などやりたい
0377nobodyさん05/01/17 00:02:37ID:???
>>376
夢離
0378nobodyさん05/01/17 00:06:38ID:???
>>376
サーバサイドとクライアントサイドの違いぐらい理解してください
0379nobodyさん05/01/17 00:12:44ID:???
CGIでも無理ですか?
じゃあ何だとできますか?
0380nobodyさん05/01/17 00:15:23ID:???
クリップボードなら JavaScript からいじれなかったっけ
0381nobodyさん05/01/17 00:22:29ID:???
>>380
IE限定でね。
0382nobodyさん05/01/17 09:05:14ID:???
>>380,381
ありがとう!!
IE限定だけどできましたっ
ちなみに別に開いてる窓をPrintScreenとかできないでしょうか?
0383nobodyさん05/01/17 09:17:27ID:???
>>382
スレ違い。
>>378を読んだあと他のスレ行け。ウザい。
0384nobodyさん05/01/17 09:48:42ID:???
関係ないけどJscriptね
0385nobodyさん05/01/17 09:51:39ID:???
初心者質問とかJスク質問スレとかあげだしかねんな。
0386軟式PHP05/01/18 12:44:00ID:???
最近はくだらねぇの方が活発になってるのかな?
スレ違いだけど↓面白かった。
ttp://www.blueshoes.org/en/developer/syntax_exam/
0387nobodyさん05/01/18 20:17:14ID:???
smarty の設定をclassを extends してディレクトリの場所を定数で設定している
のですが、定数が設定されていないようです。

PHPマニュアルによると、定数のスコープはグローバルのはずなのですが、
classや、extendsを使うとダメとかあるのでしょうか?
設定すれば、どこからでも定数を利用できると思っていたのですが違うのでしょうか?

よろしくお願いします。
0388nobodyさん05/01/18 20:47:38ID:???
>>387
【PHP】Smarty【Template】
http://pc5.2ch.net/test/read.cgi/php/1047225437/
0389nobodyさん05/01/18 20:56:05ID:???
>>387
定数の上書きは出来ない
つまり定数が設定出来ていない
smarty以前の問題
っていうか定数が何か理解してるのだろうか
039038705/01/18 21:47:37ID:???
>>388
smartyだけではなく、違うphpプログラムでも同じく定数が読めません。

>>389
ちょっと間違った書き方をしてしまいました。
定数の上書きはしていません。定数は書き換えられないということは
一応わかっていて、プログラムの最初の方で一度、defineで指定?設定?
しただけです。
それをrequireしたり、classになっているファイルから使おうとしても
使えなかったということです。

あり得るのでしょうか?


0391nobodyさん05/01/18 21:57:10ID:???
定数だとrequireする順番に依存しているのではなかろうか・・・
0392nobodyさん05/01/18 22:01:56ID:???
>>390
エラーでてないか?
0393nobodyさん05/01/18 22:02:24ID:???
なんでオイラがサンプルを書かねばならんと思いつつ、、
<?
class Cparent {
 var $data;
 function show(){
  echo $this->data;
 }
}
class Cchild extends Cparent{
 function set(){
  $this->data = DATA;
 }
}

define("DATA",'test');
$obj = new Cchild();
$obj->set();
$obj->show();
?>
--
こういうこと?
結果は正しくdefineされてる。
039438705/01/18 22:28:58ID:???
>>391-393
ありがとうございます。
複雑なプログラムの中でなっているので、正確にどういう状態っていうのを
言うのが大変です。
ちょっと今コードを見たりデバッグしたりして調べています。

ちなみに
define("DATA",'test');
print "debug: DATA";

っていうのは、無理なんですよね?

print "debug:" . DATA;
ってやるしかない。
039538705/01/18 22:54:47ID:???
ヒアドキュメントで使おうとしていたからが、一つ。
あと、``の中で使おうとしていたのもありました。

この場合は、一回変数に入れるって方法で回避できそうです。
今日は時間がもうないので、明日までにコードをちゃんと見ておきます。
0396nobodyさん05/01/18 23:07:15ID:???
>>387
まずは、お前の頭の中のコードを見直して来い!
0397nobodyさん05/01/18 23:27:35ID:???
まぁ結論としては、定数のスコープはグローバルで、
class内や継承しようと問題なく利用できる。 ということでFA。
0398nobodyさん05/01/19 16:56:17ID:???
さっかりんさんのようなサイトを作りたいのですが、
元になるxoopsとかWikiみたいなソフトがなにかあるのでしょうか?
全くのオリジナルなんですか?
0399nobodyさん05/01/19 17:02:11ID:???
さっかりんって誰だよ!
0400nobodyさん05/01/19 17:08:41ID:???
また宣伝か
0401nobodyさん05/01/19 17:22:49ID:???
398です。
すみません。宣伝じゃなくほんとに質問なのですが、
アドレスを書き込んでもいいものなのでしょうか

会員登録ユーザーにRSSのマイブックマーク機能を提供し
RSSアンテナと、サイトの更新未読既読の自動表示など
盛りだくさんなのです。


0402nobodyさん05/01/19 17:30:03ID:???
>>401
なんでそこの管理人に聞かないの?
0403nobodyさん05/01/19 18:09:01ID:???
お伺いメールは出したのですがまだ返事はいただいてません。
すぐには来ないでしょうし、いただけたらラッキーぐらいの気持ちですが、
(先方は私に返事をする義理はないので、という意味で)
少しでも早く情報を得て勉強してサイト作りに取り掛かりたかったので
こちらにも聞いてみました。
0404nobodyさん05/01/19 18:42:30ID:???
>>403
こういうところで、情報は小出しにしない。
聞いているなら、聞いているという事を最初から書きなさいね。
0405nobodyさん05/01/19 18:51:09ID:???
未知のサイトがオリジナルかどうかなんて聞いてる時点でネタだろ
0406nobodyさん05/01/19 21:25:27ID:???
WinNT+Apacheで、PHP の共有メモリ関数 shmop を使って
作ったメモリ領域にC言語で作ったプログラムから、
アクセスしてデータ取得をしたいのですが、
可能なんですか?

Linux系のヒント(可能であるらしい情報)は見つかるのですが、
Windows系での情報がなかなか無くて困っています。
0407nobodyさん05/01/19 21:35:06ID:???
>>406
不可能です
040840605/01/19 21:58:27ID:???
>>407 さん
ありがとうございます。
そーですか。なんか別の方法を考えてみます。
0409nobodyさん05/01/21 09:58:42ID:???
教えてください。
$_POSTのデータを受け取ってるんですけども、
nameの文字列に.(ピリオド)があると、_に変換されてしまいます。
foreach( $_POST AS $name => $value ){
echo $name."=".$value;
}
こんな風に表示してみたんですけど、ピリオドはアンダーバーに変換されるものなのですか?
ブラウザはIEで、POSTしています。
PHPのバージョンは4.3.9でした。
0410nobodyさん05/01/21 10:11:14ID:???
マニュアルすら読む気もないと?

ttp://www.php.net/manual/ja/language.variables.external.php →外部変数名のドット
0411nobodyさん05/01/21 10:30:32ID:???
>>410
そこのマニュアルに気づきませんでした。。。すいません。
それで、みてみたらピリオドはアンダーバーに変換されてしまうって書いてあるんですが、
ピリオドのままうけとれないのですか?
0412nobodyさん05/01/21 10:38:42ID:???
>>411
よく読んで実験汁
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:???
結局ピリオドの受け取りは無理なんですか
0415nobodyさん05/01/21 13:41:39ID:???
>>414
何がしたいんだ
0416nobodyさん05/01/21 14:47:33ID:???
>>414
>>413の言うとおりにすれば可能と思われ
それとも、なぜ現状ではピリオド付きでは
受け取れないのか理解できないとでも?
0417nobodyさん05/01/21 15:07:12ID:???
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

具体的なPHPのコードに関する質問はここ。

それ以外、コード以前の質問は↓

【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
★                                               ★
☆ 新規質問は名前欄・メール欄を空にして行え                  ☆
★                                               ★
☆ 質問者が返信する際は、名前欄に「最初に質問したレス番号」を入れろ  ☆
★                                               ★
☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
0418軟式PHP05/01/21 15:41:16ID:???
変数名にピリオド使う時点で精神衛生上よくないな。
0419nobodyさん05/01/21 15:52:54ID:6l6oJL9k
mail boxのメール数をチェックして、0なら何もしない、
1つでもあれば別のプログラムを実行する、
というスクリプトは実現可?
0420nobodyさん05/01/21 15:55:50ID:???
>>419
>>231 >>417
0421nobodyさん05/01/21 15:56:14ID:???
めくらでバカなの?
0422軟式PHP05/01/21 15:57:05ID:???
>>419
IMAPでも使っとけ。
0423nobodyさん05/01/21 16:00:06ID:???
>>419
可能ですが馬鹿には無理です。
0424nobodyさん05/01/21 21:03:41ID:???
ここが最近閑古鳥なのは、やはり元々くだ質へ行くような
質問ばかりしか無かったってことか?
0425nobodyさん05/01/21 22:40:18ID:???
だいたいある程度できる人は自力で解決しちゃうからねえ。
0426nobodyさん05/01/21 23:10:43ID:EgTTTyzS
http://pya.cc/pyaimg/
直してください。
0427nobodyさん05/01/21 23:13:05ID:???
>>426
ババアのマンコ画像 有害
0428nobodyさん05/01/21 23:13:27ID:???
>>426 は、ただの宣伝
0429nobodyさん05/01/21 23:45:43ID:???
>>426 のドメインはあぼーん指定しました。
>>427-428 人柱あり!
0430nobodyさん05/01/22 01:53:06ID:???
pyaはこんなとこで宣伝しなくても十分メジャーだろ。
0431nobodyさん05/01/22 01:54:35ID:???
pyaの中の人乙
0432nobodyさん05/01/22 02:53:34ID:???
セキュリティ問題になるかもしれないエラー表示を
なんで本人がこんなとこで公表するんだよ
0433nobodyさん05/01/22 07:19:46ID:???
ソースわからんと直せない
0434nobodyさん05/01/22 12:39:37ID:Drlw2rEk
sessionってどこまで持つの?
1つ目の画面でsession_startして2つ目の画面で設定して
10個目の画面で参照しても大丈夫?
0435nobodyさん05/01/22 13:20:50ID:???
>>434
タイムアウトまで


ていうか、こんな質問ばっかだな。。
0436nobodyさん05/01/22 16:04:36ID:JnEFpsgm
phpのコーディングをもっとうまくできるようになりたいので、
他人がつくったソースを参考として拝見して、勉強したいのですが、
「このソースを参考にしたらいい」っていうおすすめあります?

なお、速さ重視より保守性重視なほうがいいです。

ふとおもったんですが、pearとかどうなのかな???
0437nobodyさん05/01/22 16:48:55ID:???
>>436
>>417
0438nobodyさん05/01/22 17:04:02ID:???
つるし上げ覚悟で書きます。

リダイレクトができません。

↓これであってますよね?
header("Location : http://192.168.xxx.xxx/xxxx/xxx.php");

何か他で、設定とかいるんですか?
0439nobodyさん05/01/22 17:18:01ID:???
>>438
書いてる場所によるな。
0440nobodyさん05/01/22 17:24:02ID:???
>>438
>>231
0441nobodyさん05/01/22 17:41:14ID:???
もう>>231は「知ってる人から見れば」を「俺から見れば」に変えようぜ
0442nobodyさん05/01/22 17:43:20ID:???
あたらしいテンプレ

      ・自分で考える

      ・他人に聞かない

      ・グーグル
0443nobodyさん05/01/22 18:18:32ID:???
>>439
ありがとう。
なんとなくわかった。
試してみます。
0444nobodyさん05/01/22 18:47:46ID:???
>>443
だめだった。
<?php
header("Location : http://XXXXXX/XXXX/XXX.php");
?>
これだけの実験なんだけど動かない。

続きは、くだらねえ質問スレ逝ってきます。
すみませんでした。
0445nobodyさん05/01/22 19:53:24ID:7Lald5Az
セッションで保存できるデータって、文字列や数字だけらしいのですが、配列や、もっと複雑な構造をしたデータ構造を保存するにはどうしたらいいでしょうか。
RDBは使いたくないんですが。
■ このスレッドは過去ログ倉庫に格納されています