gpt4 book ai didi

php - 如何在 IF 语句中满足特定条件时停止执行 PHP 脚本?

转载 作者:行者123 更新时间:2023-12-02 20:43:06 26 4
gpt4 key购买 nike

我正在使用 PHP 开发应用程序。我有一个包含三个输入字段的 HTML 表单:用户名、密码和确认密码。我想防止空输入。我有这个 PHP 代码:

if (empty($firstname)) {
$message = "Please enter first name";
}
if (empty($password)) {
$message = "Please enter password";
}
if (empty($confirm_password)) {
$message = "Please confirm password";
}

现在它所做的是一次检查所有 3 个输入并显示 3 条消息。但我希望它首先检查名字是否为空。如果为空,则显示消息并退出(终止其余代码,不仅在 IF 语句中,而且在整个 PHP 代码中。如果不为空,那么它应该跳转到下一个字段,在这种情况下是密码。

请帮助我实现这一目标。

最佳答案

虽然最简单的解决方案,如上所述,确实只是调用 exit()die()(实际上是一个 alias exit()),也是最差的解决方案。通过简单地杀死您的脚本,您可能会阻止僵尸末日淹没地球和其他领域,但实际上在 cli 脚本之外没有一个很好的 exit 用法。根据经验;如果您在代码中的某处编写了 exit()die(),则说明您做错了什么。最主要的是;事情不如预期的事实并不意味着你无法处理它。你不会因为忘记买早餐而整天躺在床上,不是吗?你去超市买一些。如果发生“意外”的事情,在这种特殊情况下,您会向您的用户报告,以便他可以解决问题(例如,通过填写他忘记的字段)

在你的情况下;将您的代码适本地分成相关部分,并且您可以像处理异常一样处理异常(在任何意义上)。一个小脚本为例;

function handleForm() {
$formInput = sanitizePostData( $_POST );
if ( ! formValidated( $formInput ) ) {
return false;
}

doWhateverYouWantWithYourPostData();
}

function sanitizePostData( $postData ) {
// do something magical and return clean data
return $sanitizedData;
}

理想情况下,您让handleForm() 函数throw an Exception ,或抛出自定义 FormException(通过扩展 Exception 类)。但是,如果您不想这样做,可以像这样调用此 handleForm() 函数;

if ( ! handleForm() ) {
// Present a meaningful message to the user
} else {
// Go and grab a pina colada!
}

关于php - 如何在 IF 语句中满足特定条件时停止执行 PHP 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45454327/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com