私は現在、このセットアップを持っています:
class Post_Validations {
protected $mysqli;
protected $URI;
public $_POST;
public function __construct(){
$this->_SQL = new mysqli("");
$this->URI = $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
public function Register(){
print_r($this->_POST);
}
public function RenderForms($FormID){
switch ((int)$FormID){
case 192:
$this->Register();
echo "Register Form";
break;
default:
echo "NOT FOUND";
}
}
}
と;
$Test = new Smarty_Views();
if (isset($_POST)){
if (in_array("FormID",$params)){
$FormSearch = array_search("FormID",$params);
}
$Form = new Post_Validations;
foreach ($params AS $Keys => $Values){
if ($Values === "FormID"){
$Form->RenderForms($params[$Keys++]);
echo $params[$Keys++];
break;
}
}
}
$Test->Display_Page($params[0]);
私はこの表示を得ています:
明示的な型ジャグリングの正しいケースでは、Switch 関数で「デフォルト」オプションが表示されます。どこが間違っているのかわかりません。誰かが問題を見つけて理由を説明できるかどうか疑問に思っています。
新しいアップデート:
新しいインデックス ページ: http://pastebin.com/kjPY7bFf
新しい Libs.inc.php: http://pastebin.com/YQzWVqSW
新しい Post.Valid.php: http://pastebin.com/5wFbjSqu
これらすべてが更新されたので、次のように到達したと言えます。
$FormValidation->FormID($Parameters[$Form_Key]);
このメソッドは、最初に渡された FormID をエコーアウトするように設定されており、192で出力されます。
FormID の if ステートメントは、FormID が 192 に等しい場合に「yay」をエコーするように設定されています。これは、エコーから判断すると、次のようになります。