phpMyAdmin
 sql >> Database >  >> Database Tools >> phpMyAdmin

PHP, malfunzionamento della convalida di MySQL e la ricerca non funziona?

le tue variabili come $fname $lname $gender $age $email $course vengono inseriti se condizione dopo se condizione per isset($_POST['register']) . Ora anche se la tua convalida funzionerà, i dati verranno comunque inseriti nel database. perché hai messo la condizione

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

Ora il controllo entrerà in quel blocco quando hai anche un singolo valore in tutte quelle variabili. Quello che deve succedere è che metti valori errati, quelli vengono convalidati, verrà mostrato il messaggio, ma quando prima se il blocco finisce, poiché le variabili $_POST hanno ancora ALCUNI valori, indipendentemente dal fatto che non siano validi, secondo se verrà inserito il blocco e la query verrà avviata.

Quello che puoi fare è, ovunque tu stia echeggiando un messaggio di errore, oscurare quella rispettiva variabile. qualcosa del genere:

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 = "";
}