[Tep-j-general] Re: tep_draw_form の挙動について

Back to archive index

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




Tep-j-general メーリングリストの案内
Back to archive index