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

PHP, MySQL-validatie defect en zoeken werkt niet?

uw variabelen zoals $fname $lname $gender $age $email $course worden in if-voorwaarde geplaatst na if-voorwaarde voor isset($_POST['register']) . Zelfs als uw validatie werkt, worden de gegevens nog steeds in de database ingevoerd. omdat je voorwaarde hebt gesteld

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

Nu zal de controle dat blok binnengaan als je zelfs maar een enkele waarde in al die variabelen hebt. Wat er moet gebeuren, is dat u verkeerde waarden invoert, deze worden gevalideerd, het bericht wordt weergegeven, maar als het blok is voltooid, hebben $_POST-variabelen nog steeds ENIGE waarde, ongeacht of ze ongeldig zijn, ten tweede als het blok wordt ingevoerd en de vraag wordt afgevuurd.

Wat u kunt doen, is, waar u ook een foutmelding geeft, die respectieve variabele leeg te maken. zoiets als dit:

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


  1. Hoe kan ik een query uitvoeren tussen twee datums waarbij het veld 'datum' een string is?

  2. SQL Azure:SMO-uitzondering bij het scripten van objecten in SSMS 2008 R2

  3. De laatste DBeaver EE-release in 2020

  4. MySql #1243 fout tijdens het uitvoeren via phpMyAdmin