目標:適切なビューを取得するためにいくつかの基本的な事前登録情報を収集し、その他のいくつかの詳細を管理します。
問題:意図したメソッドに何も渡せないようです。何も渡さない場合、else
条件が評価され、リダイレクトが発生します。ただし、$preReg
が渡された場合、内容に関係なく、このエラーを揺さぶることはできません。
無効なユーザー エラー: 要求されたアドレス
'/myAppName/users/registerUser/userType%26amp%3B7%26amp%3B3%26amp%3B1%26amp%3B5%26amp%3B%26amp%3B%26amp%3B'
このサーバーには見つかりませんでした。
これは最初の方法です:
public function register() {
if ($this->request->is('post')) {
if ($this->request->url == "users/register") {
$this->redirect("registerUser/".urlencode(implode("&",$this->request->data('Registration'))));
}
}
// various other logic
}
同じコントローラーの別のメソッドに、完全に機密ではないが有用な情報を渡す必要があります。
public function registerUser($preReg = null) {
if ($preReg) {
$data = explode("&",urldecode($preReg));
$this->view($preReg['UserType']);
$groups = $this->User->Group->find('all', array('conditions' => array("name =".strtolower(substr($preReg['UserType'], -4)))));
$this->set(compact($groups, $data));
} else {
$this->Session->setFlash("A few details are required before registration can begin. Please fill out the form below.");
$this->redirect("register");
}
}
これが行く先のビューは、今のところ、このようにシンプルです:
<h1>THIS IS HOW I KNOW I GOT HERE</h1>
<?php pr($this->request);?>
なぜこれが起こるのか、特に私の考え方に関して、私が間違っていることを理解したいと思っています。誰?