WataruIkeda
wataru_ike****@yahoo*****
2006年 5月 31日 (水) 23:36:44 JST
山本様、ご返信ありがとうございます。 お知らせ頂いたコードでは以下のように期待値になりました。 通常ページ、SSLページとも動作を確認しました。 別に tep_draw_form は定義していません。 <form name="newimages" action="https://sd07.securesite.ne.jp/ssl.hibi-ki.net/browse/admin/categories.php?action=del_images&cPath=&pID=&SID" method="post" enctype="multipart/form-data"> openbazaar0.0.3だとファイルの配置が以下のようになっています。 別途、パスは変更しました。 <?php require('../lib/admin/configure.php'); define('FILENAME_CATEGORIES', 'categories.php'); require('../lib/admin/functions/general.php'); require('../lib/admin/functions/html_output.php'); print tep_draw_form('newimages', FILENAME_CATEGORIES, 'action=del_images&cPath=' . $cPath . '&pID=' . $products['products_id'], 'post', 'enctype="multipart/form-data"'); ?> このテストでは問題はありませんでした。 ただ1点、ソースにあった general.php からエラーログが吐き出されていました。 PHP Warning: rawurlencode() expects parameter 1 to be string, array given in /var/www/openbazaar-0.0.3/lib/admin/functions/general.php on line 110 この辺が怪しい気がしてきました。少し調べてみたいと思います。 貴重なお時間をいただき、ありがとうございました。 Hajime Yamamoto wrote: > 山本と申します。 > > 以下のような最小のコードを作って > 実行させてもmethod が action 値に連結されてしまいますか? > > <?php > require('includes/configure.php'); > define('FILENAME_CATEGORIES', 'categories.php'); > > require('includes/functions/general.php'); > require('includes/functions/html_output.php'); > > print tep_draw_form('newimages', FILENAME_CATEGORIES, > 'action=del_images&cPath=' . $cPath . '&pID=' . > $products['products_id'], 'post', 'enctype="multipart/form-data"'); > ?> > > 別に function tep_draw_form が定義されてませんか? > >> 池田と申します。 >> >> 現在 Linux PHP4.3.0 PostgreSQL7.3.2 という組み合わせで openbazaar0.0.3 >> を使ってサイトを構築しています。 >> osCommerce用の additional_images モジュール を postgreSQL用にカスタマイ >> ズしつつ組み込んでいる最中に、うまくフォームが処理されないことに気が付き >> ました。tep_draw_form の挙動が良く分からないのです。 >> >> :tep_draw_form >> function tep_draw_form($name, $action, $parameters = '', $method = >> 'post', $params = '') { >> $form = '<form name="' . tep_output_string($name) . '" action="'; >> if (tep_not_null($parameters)) { >> $form .= tep_href_link($action, $parameters); >> } else { >> $form .= tep_href_link($action); >> } >> $form .= '" method="' . tep_output_string($method) . '"'; >> if (tep_not_null($params)) { >> $form .= ' ' . $params; >> } >> $form .= '>'; >> >> return $form; >> } >> >> : 呼出元(SSLページ) >> tep_draw_form('newimages', FILENAME_CATEGORIES, >> 'action=del_images&cPath=' . $cPath . '&pID=' . >> $products['products_id'], 'post', 'enctype="multipart/form-data"') >> >> : 作成される form タグ >> <form name="newimages" >> action="https://example.com/osc/admin/categories.php?action=add_images&cPath=&pID=method=post" >> enctype="multipart/form-data"> >> >> &pIDの値はありません。method が action 値に連結されてしまいます。 >> もちろんこのフォームは正常に動作しません。この部分はオリジナルソースのま >> まです。また、'&pID=' を '&pID' にすると、きちんと method が別になります。 >> >> SSLだと、tep_href_link で最後に SID を連結していますが、環境では cookie >> を利用しています。似たような症状の方、いらっしゃいますでしょうか? >> >> > コードをみると、常にSID を連結しています。 > >> action 引数を別変数とすると問題ないのですが、数が多そうなので何かしらの >> ご助言があれば幸いです。 >> >> >> > > -- Wataru Ikeda