Codeigniter "SPACE" при вводе вызвал ошибку - PullRequest
0 голосов
/ 11 июля 2019

Проблема: когда пользователь вводит «пробел» в форме регистра, он все равно вводится в базу данных, как мне это предотвратить?

Код, который я пробовал: использовал обрезку, но та же проблема возникала, когда пользователи только вводят «ПРОБЕЛ», как мне решить проблему?

$userName=  ($this->input->post("userName"))? trim($this->input->post("userName"), " ") : "NIL";

Ответы [ 2 ]

1 голос
/ 11 июля 2019

$userName= ctype_space($this->input->post("userName"))? trim($this->input->post("userName"), " ") : "NIL";
 ----- OR ------
$userName= strlen(trim($this->input->post("userName")))!=0? trim($this->input->post("userName"), " ") : "NIL";

Вы можете использовать ctype_space, чтобы проверить, содержит ли строка только пробел. Пожалуйста, обратитесь к этому вопросу Если строка содержит только пробелы?

1 голос
/ 11 июля 2019

Прежде всего, вы присваиваете значение $username, поэтому оно не будет нулевым

Вы можете проверить значение, используя

$userName= (trim($this->input->post("userName"), " ") !="")? trim($this->input->post("userName"), " ") : "NIL";

, но это будет присваивать значение в любом случае, если оно равно нулю, чем $username будет NIL, иначе входное значение

Предложение

 $username = "";
if(trim($this->input->post("userName"), " ") != ""){
    $userName= $this->input->post("userName");
    //insert into database
}else{
//redirect with error message
} 

Также используйте проверку на стороне клиента и на стороне сервера и проверьте минимальную длину для этого поля

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...