[Codeigniter-users] javascriptのalert

Back to archive index

kunitsuji tsuji****@m-s*****
2009年 3月 11日 (水) 16:04:32 JST


 kunitsujiです。

$a = "error";
redirect("test/index/$a");

これで日本語をURIに入れて送っているからですね。

taroさんが書かれているページのように対応すればとりあえず日本語などもいけ
るはずです。
この場合URLエンコードしたほうがいいですね。

で、このtestコントローラですが、具体的に何をしようとしているんでしょう?
単にヘルパーのテストであれば、日本語を入れないで動作させればいいかと思い
ます。

もし、何らかの処理にこれを適用させるのであれば、コントローラからの遷移を
きっちり考えたほうがいいすね。

たとえば、直接メッセージを入れなでredirect("test/index/$a");で
フラグコードか何かを入れ、そのコードの種類によってindex()側でエラーなの
かOKなのかを判定させるとかして文字を受け渡さない方がいいです。

function index($a = null){
	$this->load->helper('java');
	$data['title'] = "test";
	$data['headline'] = "test";
	$message = '';
	if ($a)
	{
		switch ($a)
		{
			case '0':
			default:
				$message = "OK";
				break;
			case '9':
				$message = "エラーがでました";
				break;
		}
	$data['message'] = $message;
	$this->load->view('template', $data);
}

こんな感じでしょうか。

>こんばんは
>javascriptのalertを使ってみようと思いhttp://d.hatena.ne.jp/KuniTsuji/20080617
>/1213685444にあったヘルパーをコピーさせていただいて
>/application/helpersにjava_helper.phpで保存しました。
>
>やったこと。
>test.php
><?php
>
>class Test extends Controller {
>
> 	function Test(){
>		parent::Controller();
>	}
>  
>	function index($a = null){
>		$this->load->helper('java');
>		$data['title'] = "test";
>		$data['headline'] = "test";
>		$data['message'] = $a;
>		$this->load->view('template', $data);
>        }function index($a = null){
>		$this->load->helper('java');
>		$data['title'] = "test";
>		$data['headline'] = "test";
>		$data['message'] = $a;
>		$this->load->view('template', $data);
>        }
>
>	function check(){
>		submitボタンが押された時
>		$a = "error";
>
>		redirect("test/index/$a");
>	}
>}
>?>
>
>template.php
><html>
><head>
><meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
><title><?php echo $title;?></title>
><div align="center"><h1><?php echo $headline;?></h1></div>
>	
>	echo form_open('test/check');でsubmitボタンをつくっています。
>
>	</form>
>	<? if ($message != ""){
>	echo js_codeBlock("alert('$message')");
>	} ?>
></body>
></html>
>
>ボタンを押したらalertボックス(errorと表示)が出ますが$a = "error";に漢字をい
>れたり変数をいれたら「The URI you submitted has disallowed characters.」と表
>示されます。
>
>使い方が間違っているせいだと思いますが正しい使用方法をご教授お願いします。
>
>_______________________________________________
>Codeigniter-users mailing list
>Codei****@lists*****
>http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users




Codeigniter-users メーリングリストの案内
Back to archive index