人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

以下のPHPソースで
まずブランクではなく、
その後にチェック条件を二個流したいのですが何処を修正すれば直りますか??
switch ($user_id != ””){
case ’(!mb_ereg(¥’[^0-9a-zA-Z]¥’, $user_id)’:
$check=check($user_id,’.+’,
’ユーザIDは半角英数字のみで設定して下さい。’,$check);
showcheck($check);
break;
case ’(strlen($user_id) < 3)’:
$check=check($user_id,’.+’,
’ユーザIDは4文字以上、15文字以内で設定して下さい。’,$check);
showcheck($check);
break;
}

●質問者: yashio
●カテゴリ:就職・転職 コンピュータ
✍キーワード:CASE PHP switch ソース ブランク
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● ito-yu
●25ポイント

http://jp2.php.net/switch

PHP: switch - Manual

switch文を使いたいのでしょうか?if文の方が目的に合っていそうですが…

各if文で、エラー条件をチェックし、エラーで無ければ次のif文に進むような感じです。

if($user_id != ’’){

if(mb_ereg(’[^0-9a-zA-Z]’, $user_id)){

//半角英数のみでないエラー

}elseif(strlen($user_id) < 3){

//3文字未満エラー

}

}

どうしてもswitch文を使うなら

if($user_id != ’’){

switch(true){

case mb_ereg(’[^0-9a-zA-Z]’, $user_id):

//半角英数のみでないエラー

break;

case strlen($user_id) < 3:

//3文字未満エラー

break;

}

}


check関数とshowcheck関数が何をしているのかわからないのですが、エラー処理の所に適宜使用してください。

◎質問者からの返答

if ($user_id != ””){

if(!mb_ereg(’[^0-9a-zA-Z]’, $user_id){

$check=check($user_id,’.+’,

’ユーザIDは半角英数字のみで設定して下さい。’,$check);

showcheck($check);

}elseif(strlen($user_id) < 3){

$check=check($user_id,’.+’,

’ユーザIDは4文字以上、15文字以内で設定して下さい。’,$check);

showcheck($check);

}

}

を行うと、

Parse error: parse error, unexpected ’{’ inと表示されます


2 ● ito-yu
●25ポイント

http://php.net/

PHP: Hypertext Preprocessor

if ($user_id != ””){

if(!mb_ereg(’[^0-9a-zA-Z]’, $user_id)){

$check=check($user_id,’.+’,

’ユーザIDは半角英数字のみで設定して下さい。’,$check);

showcheck($check);

}elseif(strlen($user_id) < 3){

$check=check($user_id,’.+’,

’ユーザIDは4文字以上、15文字以内で設定して下さい。’,$check);

showcheck($check);

}

}


2行目に)が一つ抜けてましたスミマセン。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ