9ml

ユーザー登録

page-register.php

<?php get_header(); ?>
<main>
	<?php
		
		// データの初期化
		$flag = 1;
		$errors = [];
		
		if ( isset($_POST['submit_register']) ) {
		
		    // サニタイズ
			$name = sanitize_text_field($_POST['input_name']);
			$password = sanitize_text_field($_POST['input_password']);
			
			// バリデーション
			if ( empty($name) ) { $errors[] = 'ユーザー名が入力されていません'; }
			if ( empty($password) ) { $errors[] = 'パスワードが入力されていません'; }
		
			
			if ( empty($errors) ) {
				// ユーザーの作成
				$user = array(
					'user_login' => $name,
					'user_pass' => $password,
					'role' => 'subscriber',
				);
			
				// wp_usersテーブルにユーザー情報を登録
				$inserted = wp_insert_user($user);
				if ( is_wp_error($inserted) ) {
					echo 'ERROR: ' . $inserted->get_error_message ;
				} else {
					$flag = 2;
				}
			}
			
		}
		
	?>
	<?php if ( $flag == 2 ) : ?>
		<div>
			<p>ユーザー登録が完了しました。</p>
			<a href="<?php home_url(); ?>">トップページはこちら。</a>
		</div>
	<?php else : ?>
		<div>
		<?php
			if ( $errors ) {
				foreach ( $errors as $error ) {
					echo '<p>' . $error . '</p>';
				}
			}
		?>
		</div>
		<form method='post' action=''>
			<input type='text' name='input_name' placeholder='ユーザー名'>
			<input type='text' name='input_password' placeholder='パスワード'>
			<input type='submit' name='submit_register' value='ユーザー登録する'>
		</form>
		 
	<?php endif; ?>
</main>
<?php get_footer(); ?>
ホームに戻る