これは、パスワード フォームの検証と、使用される大文字、小文字、数字、および文字の組み合わせに関する一般的な質問です。
調査によると、パスワード (または使用する変数) を検証するには preg_match が必要であることが示されています: (preg_match("/^. (?=.{8,})(?=. [0-9])(?=. [ az])(?=. [AZ]).*$/")
これを以下のifステートメントにどのように統合しますか? && を使用してそれらを組み合わせてみましたが、これは preg_match 部分を無視しているようです。if(($pass == $pass2) && (preg_match("/^. (?=.{8,})(?=. [0-9])(?=. [az])(?=. [ AZ]).*$/"))
アドバイスをいただければ幸いです。
<?php
require "dbconn.php";
$username = ($_GET['username']);
$email = ($_GET['email']);
$pass = ($_GET['pwd1']);
$pass2 = ($_GET['pwd2']);
$USN = ($_GET['schoolnumber']);
$matching = 0;
if($pass == $pass2)
{
echo "<script type='text/javascript'> window.alert('Your details have been successfully registered, please proceed to login with your new credentials!')</script>";
echo '<script>javascript:window.close();</script>';
$query = "INSERT INTO customer VALUES ('".$username."','".$email."','".$pass."','face1.jpg','".$USN."','N')";
$results = mysql_query($query) or die (mysql_error());
$results1 = mysql_query($query1) or die (mysql_error());
}
else{
header('Location:register.php?matching=1');
}
?>