function arrayString($str)
{
    // from JSON string to array:
    if (is_string($str)) {
        $array = json_decode($str);
    } else {
        $array = $str;
    }
    // array(),
    $string = '';
    foreach ($array as $n => $v) {
        if (is_string($v)) {
            $string .= '
            ' . "'" . $n . "' => '" . $v . "',";
        } else {
            $string .= '
            ' . "'" . $n . "' => array(" . myLineSpacing(arrayString($v), 2) . " ),";
        }
    }
    return $string;
}
Example #2
0
<?php

require_once 'phpconf.php';
require_once 'phpfunc.php';
require_once 'phpsecurity.php';
session_cache_expire(0);
session_cache_limiter('private_no_expire');
session_start();
if ($_SERVER['REQUEST_METHOD'] != 'POST') {
    // CSRF対策
    setToken();
} else {
    $_POST = arrayString($_POST);
    checkToken();
    $emailre = '/^(?!(?:(?:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){255,})(?!(?:(?:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){65,}@)(?:(?:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22))(?:\\.(?:(?:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22)))*@(?:(?:(?!.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-[a-z0-9]+)*\\.){1,126}){1,}(?:(?:[a-z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-[a-z0-9]+)*)|(?:\\[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\\.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\\]))$/iD';
    $passre = '/^[0-9a-zA-Z]{6,20}$/';
    $birthre = '/\\d{4}\\-\\d{2}\\-\\d{2}/';
    $error = [];
    if (1 > strlen($_POST['name']) || strlen($_POST['name']) > 20) {
        $error[] = '名前は1文字以上20文字以内';
    }
    if (!preg_match($emailre, $_POST['email'])) {
        $error[] = '不正なメールアドレス';
    } else {
        if (emailExists($_POST['email']) != 0) {
            $error[] = 'このメールアドレスは既に登録されています';
        }
    }
    if (!preg_match($passre, $_POST['password'])) {
        $error[] = 'パスワードは英数字6文字以上20文字以内';
    } else {