またはioncubeについて詳し~く解説してあるサイトの紹介をしていただくのも有難く、ポイントを差し上げます(日本語での解説)。
公式の日本語マニュアルはすでに持っているのですが、大変不親切でわかりづらいのです。
フォームから送信されたデータを$_POSTや$_GETで受け取ってデータ作成等の処理を行いますよね?
その受け取った時点でデータが正常かどうか検査するのがバリデーションです。
ver1のプログラムにはnameがaというプルダウンが有り、
そのaからはa1,a2...a5の値しか来る筈が無い場合は下記の様なコードになります。
$is_valid = FALSE;
$valid_array = array( "a1","a2","a3","a4","a5" );
foreach ( $valid_array as $val ) {
if ( $_POST[ "a" ] === $val ) {
$is_valid = TRUE;
break;
}
}
if ( $is_valid ) {
// 正しい値の場合の処理
}
else {
// 不正な値の場合の処理
}
これをykhpno1さん作成のプログラム毎のプルダウンのパターンに当てはめて書けば良いと思います。
パターンというのは、
プログラムver1は、aというプルダウンからa1~a5、bというプルダウンからはb1~b5の値以外は受け取らない
プログラムver2は、bというプルダウンからb1~b5、cというプルダウンからはc1~c5の値以外は受け取らない
というルールになっていると仮定して、
ver1に、ver2では受け取れるc1~c5の値が来た場合は、不正な値として弾くという事です。
上記例で言うと、プルダウンaかbにc1~c5の値が入っている時ですね。
バリデーションについては下記が参考になると思います。
http://qiita.com/mpyw/items/346f1789ad0e1b969ebc
プルダウンメニューの項目が違うだけで、あとは全部同じPHPプログラムが有るって事ですか?
んでそのプルダウンメニューの違いに応じて「ソフトのバリエーション」としてる、という事でしょうか?
PHPの暗号化が出来てて、フォームのコピペに依る不正データ使用(ver1でver2)のデータを防ぐだけで良いのでしょうか?
上記前提が全てyesなのであれば、
PHPでリクエストのバリデーションすれば良いのでは無いでしょうか。
ver1にはver1のデータしか受け付けない、
ver2にはver2のデータしか受け付けない、
という様なコードをそれぞれのバリエーション毎に埋め込んでやれば良いと思います。
回答いただきありがとうございます。
前提は全てYESです。
受け付けるデ-タを絞るコードをそれぞれのバリエーション毎に埋め込んでやれば良い、ということですが、参考URLなどを教えていただけませんでしょうか。
フォームから送信されたデータを$_POSTや$_GETで受け取ってデータ作成等の処理を行いますよね?
その受け取った時点でデータが正常かどうか検査するのがバリデーションです。
ver1のプログラムにはnameがaというプルダウンが有り、
そのaからはa1,a2...a5の値しか来る筈が無い場合は下記の様なコードになります。
$is_valid = FALSE;
$valid_array = array( "a1","a2","a3","a4","a5" );
foreach ( $valid_array as $val ) {
if ( $_POST[ "a" ] === $val ) {
$is_valid = TRUE;
break;
}
}
if ( $is_valid ) {
// 正しい値の場合の処理
}
else {
// 不正な値の場合の処理
}
これをykhpno1さん作成のプログラム毎のプルダウンのパターンに当てはめて書けば良いと思います。
パターンというのは、
プログラムver1は、aというプルダウンからa1~a5、bというプルダウンからはb1~b5の値以外は受け取らない
プログラムver2は、bというプルダウンからb1~b5、cというプルダウンからはc1~c5の値以外は受け取らない
というルールになっていると仮定して、
ver1に、ver2では受け取れるc1~c5の値が来た場合は、不正な値として弾くという事です。
上記例で言うと、プルダウンaかbにc1~c5の値が入っている時ですね。
バリデーションについては下記が参考になると思います。
http://qiita.com/mpyw/items/346f1789ad0e1b969ebc
ありがとうございます、この考え方で問題は解決できると思います!
助かりました、ありがとうございます。
ありがとうございます、この考え方で問題は解決できると思います!
2016/01/12 08:12:20助かりました、ありがとうございます。