I want to block a certain word from being entered in my username field.
if($stmt = mysqli_prepare($link, $sql)){ // Bind variables to the prepared statement as parameters mysqli_stmt_bind_param($stmt, "s", $param_username); $param_username = trim($_POST["username"]); if(mysqli_stmt_execute($stmt)){ /* store result */ mysqli_stmt_store_result($stmt); **if(mysqli_stmt_num_rows($stmt) == 1) { *$username_err = "This username is already taken.";* } else{ $username = trim($_POST["username"]); }**
I want to add another condition where I want to block a specific username and show an echo for it.
} else{ echo "Oops! Something went wrong. Please try again later."; }
Advertisement
Answer
If you want to compare more than one value.
Try this code.
<?php $reservedUsername = array('saurishmonga','users','friends','settings','logout','blahblah')); $param_username = trim($_POST["username"]); if (!in_array(strtolower($param_username), strtolower($reservedUsername)) { // insert user in the darabase if ($stmt = mysqli_prepare($link, $sql)) { // Bind variables to the prepared statement as parameters mysqli_stmt_bind_param($stmt, "s", $param_username); if (mysqli_stmt_execute($stmt)) { // store result mysqli_stmt_store_result($stmt); if(mysqli_stmt_num_rows($stmt) == 1) { $username_err = "This username is already taken.";* } else{ $username = $param_username; } } else{ echo "Oops! Something went wrong. Please try again later."; } } } else { echo "You can't use a reserved username"; } ?>