トップページphp
990コメント299KB

【PHP】下らねぇ質問はここに書き込みやがれ 68

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/05/03(土) 22:52:16ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは970が立ててください立たなかった場合は980よろ

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 67
http://pc11.2ch.net/test/read.cgi/php/1207863515/
◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。

◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくは質問時のトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0389nobodyさん2008/05/10(土) 21:04:08ID:???
スレタイ100回読んで出直せ。
0390nobodyさん2008/05/10(土) 21:07:08ID:???
>>388
それはグループ以外に見られている可能性はないのかな?
0391nobodyさん2008/05/10(土) 21:17:42ID:ZfUSU8TD
今、php5で作っているんですが、会員制サイトなので
ログインチェック用に別ファイルの.phpをすべてのページに読み込ませたいと
思っています。
個別に include()させるほかにどんな方法があるでしょうか?
アドバイスお願いします
もしかしたらphpの話題からずれてるかもしれませんが、もちろんphpでも
うまいやり方があれば教えてください。よろしくお願いします
0392nobodyさん2008/05/10(土) 21:20:53ID:???
ログインチェックファイルの中で個別コンテンツをincludeする
0393nobodyさん2008/05/10(土) 21:34:39ID:batXv2Os
zend studio+zend debuggerを使ってデバッグをしていましたが、
xdebugをインストールし、有効にすると、
zend debuggerがphpinfoに表示されなくなりました。
zend debuggerとxdebugは同時に使うことが出来ないのでしょうか?
同時に使う方法があれば教えてください
0394nobodyさん2008/05/10(土) 21:42:03ID:???
両方動かすのは無理だと気づこうぜ
0395nobodyさん2008/05/10(土) 22:22:47ID:???
デバッグはzend debugger
エラー時のスタックトレースはxdebug
って感じに両方の機能を使いたいんですが
やっぱり無理ですかね〜
0396nobodyさん2008/05/10(土) 22:37:07ID:???
くどい
0397nobodyさん2008/05/10(土) 22:44:15ID:???
>>396
お前に聞いてねーよデブ
0398nobodyさん2008/05/10(土) 22:47:07ID:???
はい、それでは次の質問をどうぞ
0399nobodyさん2008/05/10(土) 22:57:37ID:???
できねえもんはできねえんだよ氏ね
0400nobodyさん2008/05/10(土) 23:01:55ID:???
>>399
ゴリラは動物園に帰れよ
0401nobodyさん2008/05/10(土) 23:14:52ID:???
何事も無かったかのように、次の質問をどうぞ
0402nobodyさん2008/05/10(土) 23:22:14ID:???
393 名前:nobodyさん[] 投稿日:2008/05/10(土) 21:34:39 ID:batXv2Os
zend studio+zend debuggerを使ってデバッグをしていましたが、
xdebugをインストールし、有効にすると、
zend debuggerがphpinfoに表示されなくなりました。
zend debuggerとxdebugは同時に使うことが出来ないのでしょうか?
同時に使う方法があれば教えてください

395 名前:nobodyさん[sage] 投稿日:2008/05/10(土) 22:22:47 ID:???
デバッグはzend debugger
エラー時のスタックトレースはxdebug
って感じに両方の機能を使いたいんですが
やっぱり無理ですかね〜

397 名前:nobodyさん[sage] 投稿日:2008/05/10(土) 22:44:15 ID:???
>>396
お前に聞いてねーよデブ

400 名前:nobodyさん[sage] 投稿日:2008/05/10(土) 23:01:55 ID:???
>>399
ゴリラは動物園に帰れよ
0403nobodyさん2008/05/10(土) 23:48:22ID:0rIgLgLy
質問です。
フォームの(POST)データをデータベースに入れる際
何か処理(htmlspecialcharsなど)をしたほうがいいのでしょうか?
それとも何も処理無しでも問題ないのでしょうか?
もしよろしければデータベースに入れるまでの処理をご教授ください。
よろしくお願いします。
0404nobodyさん2008/05/10(土) 23:49:50ID:???
こんなところで聞かないでちゃんと基礎から学べよ
0405nobodyさん2008/05/10(土) 23:50:55ID:DfRnQgur
セキュリティ関係は勉強しても不安なものさ。わかるだろ?
0406nobodyさん2008/05/10(土) 23:53:09ID:???
>>403
htmlspecialcharsはDBに入れるときじゃなく表示するときに処理する
DBには生データを入れて問題はないんじゃね
もちろんSQLインジェクション対策だけはしてな
04073802008/05/11(日) 00:19:51ID:???
どなたかよろしくお願いいたします。

携帯3キャリア共通でうまくセッションを持ちまわる方法をいろいろ試し中です。
SIDを用いることはわかったのですが
クッキーが残ったりでうまくいってないように感じます。

よろしくおねがいします。
04084032008/05/11(日) 00:22:43ID:Zep2ba94
>>406
ありがとう。
>>405
まあそういうことです。
0409nobodyさん2008/05/11(日) 00:39:36ID:lx6MvMXP
>>392
ありがとうございます、それってどういうことですか?
済みませんが良くわからないのでもう少し解説お願いします
0410nobodyさん2008/05/11(日) 01:22:00ID:???
>>409
auto_prepend 使えば?
0411nobodyさん2008/05/11(日) 01:25:39ID:???
>>409
ログインチェックファイルがあるじゃん?
あとそれぞれの個別コンテンツがあるじゃん?
前者の中で後者をincludeするってこと。
04123772008/05/11(日) 03:45:04ID:KEs91aIs
>>379
>>385

ありがとう〜!
両方試してみました。
>>385のリンク先のソースを利用することにしました。
どもです!
0413nobodyさん2008/05/11(日) 06:14:53ID:4J9HPCgP
$_POST[hoge] と
$_POST["hoge"]
の違いってなんなんでしょうか?

サンプルで

if (isset($_POST["submit_resdel"])){
 $res_no = key($_POST[submit_resdel]);

って記述があったんですが、これって2個目の$_POST[submit_resdel]は
$_POST["submit_resdel"]でもいいんじゃないかという気がするのですが・・・。
0414nobodyさん2008/05/11(日) 07:04:04ID:???
間違ってるだけに一票
0415nobodyさん2008/05/11(日) 07:09:19ID:LZ9HoYsn
PHP4.4.4(サーバはxrea)で、
__construct()が問題なく呼び出されているのですが、
PHP4系でも対応してるんですか?
0416nobodyさん2008/05/11(日) 07:09:30ID:???
一応それでも動く
0417nobodyさん2008/05/11(日) 07:10:04ID:???
>>416>>413 向けな
04184132008/05/11(日) 07:18:18ID:4J9HPCgP

こんな時間にありがとうございます。

>>414さん
やっぱりそうなんでしょうか・・・。
ここの例では、submitするとき、以下のように組んで配列っぽく
セットしてるんですが、


while($row = $mysql->fetch()){
$no = $row["no"];
$name = $row["name"]
echo <<<EOT

$no:
<input type="text" name="name[$no]" value="$name" size="10">
<input type="submit" name="submit_resdel[$no]" value="削除">
<br>
EOT;
}


このときだけは特別、とかいうことは・・・ないですよね。。


>>417さん
動作はするんですね!
でも、どっちも[submit_resdel]にしちゃうとそれはそれで動作しませんよね?
0419nobodyさん2008/05/11(日) 07:34:49ID:???
>>418

変数じゃなくて文字列か
それなら動作しないわ

書き間違いだと思われ
04204132008/05/11(日) 07:43:03ID:4J9HPCgP
>>419さん
ありがとうございます。やはり書き間違いですか・・・

今回のこの件をググってる最中に↓のようなページをみつけたんですが、

ttp://oshiete.coneco.net/qa4004454.html

このページでの質問者も同じように記述してるんですよね・・・わざわざダブルクォーテーション外して・・・。
key関数を使うときだけ・・・?とか色々考えたんですが、
とりあえず書き間違いと思って進めていこうと思います。

皆様ありがとうございました。
0421nobodyさん2008/05/11(日) 08:08:48ID:???
>>359
runkit_method_redefine
これじゃできないん?

もうちょっと具体的にやりたい事書かないとわからん
0422nobodyさん2008/05/11(日) 08:10:14ID:???
>>413
カメレスであれだけど、一応。

書き間違えとは思うが、文法的には未定義の定数の動作。
PHPは好きだけど、さすがにこの仕様はどうかと思う。

http://www.php.net/manual/ja/language.constants.php
>未定義の定数を使用した場合、ちょうどstringとして コールしたかのように(CONSTANT vs "CONSTANT")、
> PHPはその定数自体の名前を使用したと仮定します。
04234132008/05/11(日) 08:19:46ID:4J9HPCgP
>>422さん

おおっ!ありがとうございます!
なるほど、未定義の定数として使用され、さらにそのものの名前を使用したと解釈されて
動作しちゃうわけですね・・・。。
私自身、現在習作を作る過程でPHPに慣れようとしているのですが、
確かにこの仕様には違和感がありますね。

書き間違えだったとしても、きちんと動作したものとして公開されていた理由がわかって、
やっとスッキリしました。
やっと寝られます。笑 ありがとうございました!
0424nobodyさん2008/05/11(日) 08:24:05ID:???
>>422
どっちかってーと
http://www.php.net/manual/ja/language.types.array.php#language.types.array.foo-bar
こっちだな

>>415
__constructを使ったコンストラクタはphp5からで
php4の場合はただのメソッドになる

class Hoge {
 function __construct() {
  echo 'A';
 }
 function Hoge() {
  echo 'B';
 }
}
これを実行したらphp4の場合はBが出てphp5の場合はAが出る
で、php5で__constructが無い場合はHogeが呼ばれる
04254152008/05/11(日) 08:33:54ID:LZ9HoYsn
>>424
確かにそうでした!

>PHP4.4.4(サーバはxrea)で、
>__construct()が問題なく呼び出されているのですが、

というのは、自分のテストコードに間違いがあったための、勘違いでした。
0426nobodyさん2008/05/11(日) 12:51:45ID:t1T6pRlq
rand(1,3)で、1〜3の数字をランダムで出せますが、
「1が出る確率は50%、2が出る確率は30%、3が出る確率は20%」
と言う風に、確率として表示する場合、どういう計算式にすればいいのでしょうか?
0427nobodyさん2008/05/11(日) 12:55:27ID:???
01234・・・1
567・・・2
89・・・3

0428nobodyさん2008/05/11(日) 12:55:49ID:???
なにその宿題丸投げ
0429nobodyさん2008/05/11(日) 13:28:56ID:???
PHPを仕事場でやっていると、集中している時に下記みたいな文章を首に掲げたくなる俺は三流ですよ?

/*
現在理論しか通じないパソコンとプログラミングで対話中です。
人様との円滑な対話モードへの切り替えが少々上手くいかない場合や遅い場合が多々ありますので、理屈や理論以外をお求めの方はご遠慮頂くか少々お待ち頂くか生暖かい目で見守ってくださるようお願い致します。
*/
0430nobodyさん2008/05/11(日) 13:41:54ID:???
>>426
$a = array(1,1,1,1,1,2,2,2,3,3);
echo $a[array_rand($a)];
0431nobodyさん2008/05/11(日) 13:55:36ID:???
質問です。
PHP5 PEAR image_graph7.1
でjpg画像を作りたいのですができません(PNGはできる)
$graph =& Image_Graph::factory("graph", array(array("width" => 400, "height" => 400, "canvas" => "PNG")));
ここの最後の方の部分をJPGにする以外に変更が必要なのでしょうか?

下記の方法だと画像JPG画像はしっかり保存されてはいます。
$out = $Graph->done(array(
'tohtml' => TRUE,
'border' => 1,
'filename' => 'tes.jpg',
'filepath' => './',
'urlpath' => './'
)
);
0432nobodyさん2008/05/11(日) 14:05:58ID:???
できませんって何がどうできないでどうなってしまうのか書かないと分かるだけないだろ
0433nobodyさん2008/05/11(日) 14:48:08ID:???
>>432氏ね聞いてねえよ
0434nobodyさん2008/05/11(日) 14:57:33ID:???
CentOS 4.6 (kernel 2.6.9-67.0.1.EL)
Apache/2.0.52
PHP 4.3.9 (cgi) (built: Sep 20 2007 19:31:11)
mysql Ver 14.7 Distrib 4.1.20
phpmyadmin-2.11.6-1.el4.rf

という環境です。この環境で、
クライアントマシンから phpmyadmin にアクセスすると、
mcrypt 拡張をロードできません。PHP の設定を確認してください
と警告を受けます。mcrypt 関係は

libmcrypt-devel-2.5.7-2.el4.kb
libmcrypt-debuginfo-2.5.7-1.2.el4.rf
libmcrypt-2.5.7-2.el4.kb
mcrypt-2.6.4-2.el4.kb

がインストールしてあるのですが。
この問題はどのようにフィックスすべきなのでしょうか?
それとも何も問題がないのでしょうか?
0435nobodyさん2008/05/11(日) 15:12:25ID:???
PHPをmcrypt対応にしてリビルド
0436nobodyさん2008/05/11(日) 15:15:43ID:???
ttp://phprpms.sourceforge.net/mcrypt
のRHEL4用php-mcryptを入れても大丈夫かもしれんが試してない
0437nobodyさん2008/05/11(日) 17:27:34ID:???
>>432
あなたバカですよね?よくわかります。
0438nobodyさん2008/05/11(日) 18:57:26ID:???
いいえ、ケフィアです
0439nobodyさん2008/05/11(日) 20:39:47ID:???
いいえ、ケフカです。
0440nobodyさん2008/05/11(日) 21:00:47ID:???
1人の天才的な人間の出現で、10000人の人間が不要になる時代。
そんな時代にあって、俺はその天才的な人間の1人なのかもしれない。
俺のせいで、仕事がなくなって首になった奴が相当いる。
もちろん、その中には潰れた会社もある。
でも、それが自然淘汰、適者生存であり自然の摂理なのだから・・
04414262008/05/11(日) 23:21:03ID:t1T6pRlq
>>430
ありがとうございます。上手くできました。

ただ、細かい%で区切りたい場合はどうなるのでしょうか?
array内の数が増えすぎると思うのですが・・・。

if文と倍数を使う方法も考えたのですが、数学が苦手でわかりません。。
何か良い関数はないでしょうか?
0442nobodyさん2008/05/11(日) 23:23:03ID:???
>>441
rand
range
0443nobodyさん2008/05/11(日) 23:34:25ID:???
>>441
参考に
if($hensu<50){}elseif(50<$hensu){}
0444nobodyさん2008/05/11(日) 23:37:06ID:???
$hensu(笑)
04454262008/05/11(日) 23:42:46ID:???
みなさん、ありがとうございます。
教えて貰ったのを参考に、以下のソースを作りました。
たぶん、行けるのではないかと思っていますが、おかしい場合は指摘して下さい。

$item = array("aaa"=>"50","bbb"=>"30","ccc"=>"20");
$num_max = array_sum($item);

foreach($item as $keys => $values){
$number = $values/$num_max*10;
for($i=0;$i<$number;$i++){
$array[] = $keys;
}
}
echo $array[array_rand($array)];
0446nobodyさん2008/05/11(日) 23:48:23ID:???
10の倍数しか対応してないじゃねえかw
0447nobodyさん2008/05/12(月) 00:05:59ID:???
アホになります
0448nobodyさん2008/05/12(月) 00:17:13ID:???
オモロー
0449nobodyさん2008/05/12(月) 00:59:12ID:???
XMLデータを扱ってます。

http://jp2.php.net/manual/ja/simplexml.examples.php
$obj = new SimpleXMLElement($xml);

PEARのXML_Serializerを使わないで、PHP5の関数を使って
オブジェクト$objを配列に変換するにはどうしたらいいですか?
04504492008/05/12(月) 01:01:55ID:???
ググッたら解決しました
04514492008/05/12(月) 01:45:29ID:???
>>450
秋元さんのブログの解説?
http://akimoto.jp/blog/2008/01/05/php%E3%81%A7%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%82%92%E9%85%8D%E5%88%97%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AFget_object_vars/

よく分からなかったので、とりあえずPEAR::XML_Serializerを使うことにしました!^^
…便利すぎて勉強にならん><
04524492008/05/12(月) 01:49:26ID:???
include ('XML/Unserializer.php');
$unserializer = new XML_Unserializer();
$unserializer->unserialize($xml);
$array = $unserializer->getUnserializedData();
print_r($array);
これでOK

$obj = new SimpleXMLElement($xml);
でも値を取り出せるのでOKなんだけど、データ型はオブジェクトのまま
配列と同じ操作で扱うのは何か変だなーと思った
おやすみなさい
0453nobodyさん2008/05/12(月) 01:53:48ID:???
配列と同じ操作で扱って問題あるの?
0454nobodyさん2008/05/12(月) 07:24:54ID:o0vmBy2P
すいません質問です。
今運営しているPCサイトの携帯版を作ろうと思っています。
携帯用にするとき、元のサイトのサイズが大きいため分割する必要があると思い自分なりにやってみましたが、
分割のやり方が悪いため、htmlタグの途中で切れたりして変になってしまいます。


//1ページあたりの文字数(ページのサイズ)
$pagesize=1000;

元の文字列をページサイズで割り、合計のページ数を出す
$totalpage=ceil($str/$pagesize);

//↓1ページ目の場合は、テキストが0〜1000までの部分文字列になる
$text=mb_substr($str,($page-1)*$pagesize,$pagesize);

上記のようにやってみたのですが、下記のようになったりします。
----------------------------------------------------
nページ目のテキスト終わり部分

・・・・・・・・
<a href="http:
---------------------------------------------------
n+1ページ目のテキスト始め部分

//hoge.com">ホゲドットコム</a>
---------------------------------------------------

タグの部分で分割させないためには、
1000文字を超えたところで一番最初に出てくる \n で分割したりすればいいと思うのですが、
それはどのようにやればいいのでしょうか。
アドバイスお願いします。
0455nobodyさん2008/05/12(月) 07:42:33ID:???
正規表現で /^.{1000}.*?\n/s とかすれば良いんじゃなかろうか。
. が1バイトになるのか1文字になるのかは、よく知らないから自分で確認してね。
04564542008/05/12(月) 08:19:16ID:o0vmBy2P
>>455
アドバイスありがとうございます
やってみます
04574542008/05/12(月) 08:30:04ID:o0vmBy2P
>>455
すいません
ずうずうしいですが、何の関数を使ったらよいか教えてもらえないでしょうか
0458nobodyさん2008/05/12(月) 08:50:40ID:???
>>457
なんで検索すらしないの?
http://www.google.co.jp/search?hl=ja&q=php+%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE+%E9%96%A2%E6%95%B0&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
0459nobodyさん2008/05/12(月) 09:07:53ID:???
<a href="test2.php?<?= SID ?>">page 2</a>

こんなかんじにしたときに、
携帯(DoCoMo)だとSIDが100%付与されるのですが、
PCだと付与されるときとされないときがあります。

原因は何でしょうか・・?
0460nobodyさん2008/05/12(月) 09:54:38ID:???
>>459
マニュアルぐらい調べろ。すっとこどっこい
http://www.php.net/manual/ja/session.idpassing.php
0461nobodyさん2008/05/12(月) 12:23:50ID:???
>>454
htmlの文字数で分割すると
場合によっては1ページ中に含まれるコンテンツがほんのわずかで
ユーザに余計なページ送りのストレスかけることにならないかい?
0462nobodyさん2008/05/12(月) 16:05:32ID:1jI7+vyu
配列の操作がよくわかりません。
var_dump()をかけると以下の結果を返す配列があります。($data_list)

array(1) { [0]=> array(7) { ["id"]=> string(1) "5" ["title"]=> string(97) "ゴールデンボウル~ポール・アンカ・オリジナル・グレイテスト・ヒッツ"
["artist"]=> string(21) "ポール・アンカ" ["kaisetsu_text"]=> string(19) "おすすめのCD 1"
["url"]=> string(7) "testURL" ["myWork"]=> string(1) "1" ["musicGenre"]=> string(1) "5" } }

これに対して、titleを抜き出したくて echo $data_list["title"] としても何も表示されません
どうしてでしょう? ご意見お願いします
0463nobodyさん2008/05/12(月) 16:08:00ID:???
$data_list[7]['title']

以下のようにするとよくわかります
echo "<pre>";
var_dump($data_list)
echo "</pre>";
0464nobodyさん2008/05/12(月) 16:08:24ID:???
訂正

×$data_list[7]['title']
○$data_list[0]['title']
0465nobodyさん2008/05/12(月) 16:16:41ID:1jI7+vyu
>>463-464
ありがとうございます!
そっか、二次元になってたんですね 自分で作ったのに忘れてました
echo "<pre>";
var_dump($data_list)
echo "</pre>";
↑これも活用します ありがとう
0466nobodyさん2008/05/12(月) 19:01:23ID:???
Parsing configuration file phpDocumentor.ini...ERROR: cannot open phpDocumentor.
ini in directory C:/xampp/php/PEAR/PhpDocumentor
-Is phpdoc in either the path or include_path in your php.ini file?

Xampp使ってるんですが、これはどういういみでしょうか。
0467nobodyさん2008/05/12(月) 19:32:36ID:o0vmBy2P
>>458
検索しましたが、preg_split()でうまくできませんでした
何時間考えても自分ではもうわからないので答えそのものを聞きたいところですが
そんなことしたら罵倒されるのはわかってるので、よそに行って聞いてきます
ありがとうございました
0468nobodyさん2008/05/12(月) 19:41:10ID:???
>>454
"/.*{1000}\n/s"
0469nobodyさん2008/05/12(月) 19:42:34ID:???
間違えた

"/^.{1000}\n/"

確認してないけど正規表現で
0470nobodyさん2008/05/12(月) 19:45:13ID:???
>>469
s指定は付け忘れだとして、それだと1000文字目の次が改行じゃないとマッチしない気がする。
0471nobodyさん2008/05/12(月) 20:10:37ID:NEnrgbxP
smartyのテンプレートでJavascriptを書いているのですが、
どうしてもエラーで出力自体が出来ません。
どのようにすればいいのでしょうか?

出力したいJavascriptはこのような感じです。
<SCRIPT language="JavaScript">
<!--
function OpenWin(url){
win=window.open(url,'sub','width=200,height=150');
}
// -->
</SCRIPT>
0472nobodyさん2008/05/12(月) 20:12:23ID:???
1000ピッタシにはならないけどこうかな?

"/^.{950,1000}?.+\n/s"
0473nobodyさん2008/05/12(月) 20:13:35ID:???
>>471
エラーがでてたならそれも書く
肝心のPHPコード部分がないとなんとも
0474nobodyさん2008/05/12(月) 20:27:01ID:NEnrgbxP
Fatal error: Smarty error: [in formVew.tpl line 59]: syntax error: unrecognized tag: win=window.open(url,'sub','width=200,height=150'); (Smarty_Compiler.class.php, line 446) in C:\Program Files\xampp\php\pear\smarty\libs\Smarty.class.php on line 1092
エラーはこのような感じです。
コードに関しては、上で書いたJavascriptをテンプレートとしてdisplayで出力するだけですから
0475nobodyさん2008/05/12(月) 20:27:18ID:???
>>471
{}がスマタグとして認識されてパースエラーになってんだろ
04764712008/05/12(月) 20:41:04ID:NEnrgbxP
>>475
なるほど
テンプレートで{}を出力する方法はありませんでしょうか
0477nobodyさん2008/05/12(月) 20:55:31ID:1jI7+vyu
登録フォームを作っていて、セキュリティについて質問します

記入>確認>登録 という流れを考えていて、
確認ページでは、
print $_POST['message']; の形で、記入ページでtextareaに
記入したものを確認できるようにし、
<input type="hidden" name="message" value="$_POST['message']" />として、
値を登録ページに渡すようにしています。

今まで、登録ページ(実際のSQL登録の直前)で、addslashes($_POST['message'])として
いたんですが、addslashes()は、確認ページですべきなんでしょうか?
<input type="hidden" name="message" value="addslashes($_POST['message'])" />という感じで。。
どなたか教えてください、よろしくお願いします
0478nobodyさん2008/05/12(月) 21:00:05ID:???
>>476
マニュアルに載ってるよ
0479nobodyさん2008/05/12(月) 21:01:26ID:???
>>477
addslashesはDBに挿入する際のエスケープ。
HTMLタグ無効化はhtmlspecialshars
04804542008/05/12(月) 21:04:30ID:o0vmBy2P
色々考えていただいてありがとうございます
でもダメでした 

print_r(preg_split("/^.{1000}.*?\n/s", $str));
結果
Array ( [0] => [1] =>
[1]に$str全部がはいる

print_r(preg_split("/^.{950,1000}?.+\n/s", $str));
結果
Array ( [0] => [1] => )


正規表現ではなく私の関数の使い方がおかしいのかもしれません
お付き合いありがとうございました
0481nobodyさん2008/05/12(月) 21:06:42ID:1jI7+vyu
>>479
ありがとうございます  じゃ、上のケースだと、確認ページで
print htmlspecialchars($_POST['message']);
<input type="hidden" name="message" value="{htmlspecialchars($_POST['message'])}" />
という感じでしょうか?
使い分けがいまいちわからず困ってました ありがとうございました
0482nobodyさん2008/05/12(月) 23:11:13ID:???
>>480
もう見てないかもしれんが

preg_match_all('/.{1000}.*?\n|.*/s', $str, $matches);

ちゃんと動くかどうかは自分で確認して。
0483nobodyさん2008/05/13(火) 00:16:15ID:???
ttp://www.web-liberty.net/cgi-bin/sample/gallerypro/gallery.cgi
このCGIをそのままインデックスページにしたいんですけど
CGIですからURLがhttp://***/cgi-bin/gallerypro/gallery.cgi
っていう風になるのが気に食わないので
http://****/だけで済むURLでインデックスページにしたいんですけど
どうすればいいですか
0484nobodyさん2008/05/13(火) 00:18:27ID:???

http://ml.php.gr.jp/pipermail/php-dev/2005-June/001135.html

このページに出ているような現象が出ていますが、
session_idを見たところ、これといって問題はありませんし、
プログラム的にもそこまでがちがちのセキュリティをというものでもないので、
このエラーを回避するようにしたいのですが、
どのような処理を行えばいいか教えていただけないでしょうか

よろしくおねがいいたします。
0485nobodyさん2008/05/13(火) 00:33:59ID:???
いふ(!しーたいぷ_あるなむ(くっきー[セッション_ねーむ()])) だい(エラー);
04864542008/05/13(火) 00:42:34ID:dYo6M2/f
>>482
できました!!
今日一日かかってもできなかったので、
とりあえず\nで分割して配列にいれて、処理させようと考えていたところでs

本当に感謝です!!
0487nobodyさん2008/05/13(火) 00:43:35ID:???
>>483>>484

2つ同時に質問したくてID隠してるんですよね、わかります
04884842008/05/13(火) 00:44:57ID:???
いや、違うしww
あふぉはすぐそうやって知識のない人間を卑下するww
■ このスレッドは過去ログ倉庫に格納されています