以下代码用于处理我们网站的忘记密码部分的模板。(请不要因为它的愚蠢而责备我,我没有写它)我需要做的是嵌入 '/inc/forgot_password_form' 如果 $_POST['PID' ] 具有非数字字符。我将如何修改此代码来做到这一点?
我知道我可以使用我的 jQuery 验证器在客户端执行此操作,但我宁愿在这里执行此操作,因为我还可以检查最小值并为其显示特殊消息。
{if segment_2 == 'submit'}
<?
$embed_params = 'EmailAddress="' . $_POST['EmailAddress'] . '" PID="' . $_POST['PID'] . '" ';
?>
{embed='/inc/forgot_password_form' message='{exp:forgot_password:send_email code="{segment_3}" <?=$embed_params?>}' <?=$embed_params?>}
{if:elseif segment_2 == 'reset'}
{embed='/inc/forgot_password_reset' email='{exp:forgot_password:check_code code="{segment_3}" }' code="{segment_3}"}
{if:elseif segment_2 == 'reset_submit'}
{embed='/inc/forgot_password_reset' message='{exp:forgot_password:update_password code="<?=$_POST['code']?>" password="<?=$_POST['password']?>" }' }
{if:else}
{embed='/inc/forgot_password_form' }
{/if}
用新代码编辑:
所以你说要这样做吗?
{if segment_2 == 'submit'}
<?
$embed_params = 'EmailAddress="' . $_POST['EmailAddress'] . '" PID="' . $_POST['PID'] . '" ';
if (!is_int($_POST['PID']) {
{embed='/inc/forgot_password_form' message='You submitted an invalid Member #.' <?=$embed_params?>}
} else {
{embed='/inc/forgot_password_form' message='{exp:forgot_password:send_email code="{segment_3}" <?=$embed_params?>}' <?=$embed_params?>}
}
?>
{if:elseif segment_2 == 'reset'}
{embed='/inc/forgot_password_reset' email='{exp:forgot_password:check_code code="{segment_3}" }' code="{segment_3}"}
{if:elseif segment_2 == 'reset_submit'}
{embed='/inc/forgot_password_reset' message='{exp:forgot_password:update_password code="<?=$_POST['code']?>" password="<?=$_POST['password']?>" }' }
{if:else}
{embed='/inc/forgot_password_form' }
{/if}