以下の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;
}

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/08/14 13:54:40
  • 終了:--

回答(2件)

id:ito-yu No.1

ito-yu回答回数323ベストアンサー獲得回数142005/08/14 14:16:02

ポイント25pt

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関数が何をしているのかわからないのですが、エラー処理の所に適宜使用してください。

id:yashio

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と表示されます

2005/08/14 14:28:29
id:ito-yu No.2

ito-yu回答回数323ベストアンサー獲得回数142005/08/14 14:37:26

ポイント25pt

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行目に)が一つ抜けてましたスミマセン。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません