Я пишу плагин, который вызывает API и использует адрес электронной почты как часть аутентификации.PHP sanitize email из формы Wordpress
Я очень запутался в отношении того, какие круглые части моего кода должны идти в терминах переменных, и как таковые продолжают получать неопределенные переменные ошибки.
Эта функция выводит форму на странице администрирования Worpdress и позволяет пользователю вводить свой адрес электронной почты. Я хочу дезинформировать электронную почту после ее ввода, а затем отбросить санированную версию в поле ввода.
function dotmailer_options() {
?>
<div class="wrap">
<h2>Dotmailer API information</h2>
<form method="post" action="options.php">
<?php settings_fields('settings-group'); ?>
<?php do_settings_sections('settings-group'); ?>
<label>API key</label><br />
<input type="email" name="apiemail" value="<?php echo $sanitized_email; ?>"><br />
<label>Password</label><br />
<input type="password" name="apipassword" value="<?php echo get_option('apipassword'); ?>"><br />
<p><input type="submit" value="Save" class="button-primary" /></p>
<?php
// Store email field as var
$apiemail = get_option('apiemail');
// Sanitize var
$sanitized_email = filter_var($apiemail, FILTER_SANITIZE_EMAIL);
?>
</form>
</div>
Однако, когда я это делаю, я получаю «неопределенную» ошибку на самом деле в поле ввода.
Я понимаю, это, вероятно, потому, что код для создания $sanitized_email
запускается после того, как вход вызвал его, но я не могу понять, как еще я должен это делать.
Также будет ли код непосредственно в этой функции открывать меня до атак? У меня есть следующее в верхней части моего кода плагина: defined('ABSPATH') or die();
- но я не знаю, достаточно ли этого.
«apiemail» присутствует в db таблице 'options' с действующим адресом электронной почты – Saqueib
, вам нужно будет установить переменную, чтобы функция узнала, является ли это показателем в первый раз или что-то уже обработано. – RST