質問編集履歴

2

試したことを追求しました。

2022/02/13 02:02

投稿

emi_ono
emi_ono

score34

test CHANGED
File without changes
test CHANGED
@@ -38,6 +38,12 @@
38
38
  $msg = '半角英数字と_(アンダースコア)のみ。7文字以上14文字以内。';
39
39
  $link = '<a href="signup.php">戻る</a>';
40
40
  }else {
41
+ $sql = "INSERT INTO users(name, mail, pass) VALUES (:name, :mail, :pass)";
42
+ $stmt = $dbh->prepare( $sql );
43
+ $stmt->bindValue( ':name', $name );
44
+ $stmt->bindValue( ':mail', $mail );
45
+ $stmt->bindValue( ':pass', $pass );
46
+ $stmt->execute();
41
47
  $msg = '会員登録が完了しました';
42
48
  $link = '<a href="login.php">ログインページ</a>';
43
49
  }

1

2022/02/12 13:10

投稿

emi_ono
emi_ono

score34

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,7 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
3
  PHPのパスワードで「半角英数字と_(アンダースコア)のみ、7文字以上14文字以内」の正規表現を作成したいです。
4
+ 半角英数字と_で13文字のでパスワードを作り入力しても「会員登録が完了しました」と表示されません。
4
5
 
5
6
 
6
7
  ### 該当のソースコード
@@ -45,8 +46,13 @@
45
46
  <!--メッセージの出力-->
46
47
  <?php echo $link; ?>
47
48
  ```
49
+ ### 試したこと
50
+ [http://okumocchi.jp/php/re.php](url)
51
+ 上記URLの正規表現チェッカーを使い、
52
+ 正規表現:/^[a-z0-9_]{7,14}$/i
53
+ 文字列:gh0_eg8npw75v
54
+ をチェックすると「一致しました。」と出ました。
48
55
 
49
- 例えばパスワードに「gh0_eg8npw75v」(13文字)を入力すると「半角英数字と_(アンダースコア)のみ。7文字以上14文字以内。」が表示されてしまいます。
50
56
  !preg_match()の書き方が間違えているのでしょうか?
51
57
  よろしくお願いします。
52
58