phpMyAdmin
 sql >> Base de Dados >  >> Database Tools >> phpMyAdmin

PHP, mau funcionamento da validação do MySQL e a pesquisa não funciona?


suas variáveis ​​como $fname $lname $gender $age $email $course são colocados na condição if após a condição if para isset($_POST['register']) . Agora, mesmo que sua validação funcione, os dados ainda serão inseridos no banco de dados. porque você colocou condição

if($fname&&$lname&&$gender&&$age&&$email&&$course)

Agora o controle entrará nesse bloco quando você tiver um único valor em todas essas variáveis. O que deve estar acontecendo é que você colocou valores errados, esses estão sendo validados, a mensagem será mostrada, mas quando primeiro se o bloco terminar, pois as variáveis ​​$_POST ainda possuem ALGUM valor, independente de serem inválidas, segundo se o bloco será inserido e a consulta será acionada.

O que você pode fazer é, onde quer que você esteja ecoando a mensagem de erro, apague essa respectiva variável. algo assim:
if (preg_match("/[a-zA-Z ]+$/", $_POST['fname']))  {
    $fname = trim($_POST['fname']);
}
else 
{
    echo '<p>The First name is empty or has illegal characters! To edit please go the link Display Data Information</p>';
    $fname = "";
}