У меня есть простая форма регистрации html с onsubmit = "return validateForm()", где validateForm() - это javascript, чтобы обеспечить правильность ввода данных, а поля по электронной почте и паролю соответствуют их полям подтверждения.Как не запускать скрипт php при неудачной проверке JavaScript?
Действие формы установлено в add.php. add.php добавляет ввод в базу данных mysql. Как javascript, так и php работают отлично, однако даже когда javascript предупреждает об ошибке, например, «слишком короткий пароль». скрипт php запускается в любом случае и новая запись, сделанная в базе данных.
Я хотел бы, чтобы PHP-скрипт работал только при успешной проверке javascript, и пользователь оставался на одной странице, если какая-либо проверка не прошла, как это делается?
Я могу добавить код, если необходимо, но я думаю, что ответ здесь будет общим.
EDIT:
, например, здесь код для проверки полей имени:
function checkName()
{
var fName = document.getElementById("firstName");
var lName = document.getElementById("lastName");
if (fName.value.length >= 2 && fName.value.match(/^[A-Za-z]+$/) && lName.value.length >= 2 && lName.value.match(/^[A-Za-z]+$/))
{
return true;
}
else
{
return false;
}
}
function validateForm(){
if (checkName() == false)
{
alert("First and Last Name must be at least 2 characters long and contain only alphabetic characters");
document.getElementById("fName").focus();
document.getElementById("fName").select();
return false;
}
}
имеют 'validateForm()' return false on error. Кроме того, вы должны проверить этот материал в php также перед тем, как сделать вставку, потому что это безумно легко обойти проверку JavaScript. –
Это просто школьное задание, безопасность не вызывает беспокойства. Также мой validateForm() возвращает false при ошибке. Я отредактирую исходное сообщение с помощью примерной функции. – user2837791
, если вы вызываете свою функцию, используя onclick = "return validateForm()", она должна остановить форму от отправки, как указал jKuhn – David