Неопределенный индекс: name_of_your_nonce_field во время первого базового примера с - PullRequest
0 голосов
/ 28 февраля 2019

в то время как мои первые шаги с полем wp nonce я попробовал «Основные примеры» из https://developer.wordpress.org/reference/functions/wp_nonce_field/

там говорится: «простейшая реализация, которая пропускает все аргументы»

внизумой htdocs / wp-content / plugins / abcd-plugin / abcd-plugin.php я написал:

function hi_in_wp_head() {
    ?>
    <form name="f1">
        <input name="i1" value="hi_in_wp_head">
        <input type="submit" name="s1">
        <?php wp_nonce_field('name_of_your_action', 'name_of_your_nonce_field'); ?>
    </form>
    <?php
    if(wp_verify_nonce($_REQUEST['name_of_your_nonce_field'], 'name_of_your_action')){
        // Nonce is matched and valid. do whatever you want now.
    } else {
        // Invalid nonce. you can throw an error here.
        die("ups 19-02-28_17-09");
    }

}
function hi_in_footer() {
    echo '<h1>hi_in_footer</h1>';
}

полный источник: https://gist.github.com/f9f0a853f0a71c5a2055b88802a1010c

это выглядит так в веб-браузере:

<meta name="generator" content="WordPress 5.0.3" />
    <form name="f1">
        <input name="i1" value="hi_in_wp_head">
        <input type="submit" name="s1">
        <input type="hidden" id="name_of_your_nonce_field" name="name_of_your_nonce_field" value="5a82357118" /><input type="hidden" name="_wp_http_referer" value="/wordpress/alecaddd-plugin.php" />    </form>
    <br />
<b>Notice</b>:  Undefined index: name_of_your_nonce_field in <b>G:\Bitnami\wordpress-5.0.3-2\apps\wordpress\htdocs\wp-content\plugins\alecaddd-plugin\alecaddd-plugin.php</b> on line <b>89</b><br />
ups 19-02-28_17-09

Неопределенный индекс: name_of_your_nonce_field во время первого базового примера с

Я не знаю, откуда возникла ошибка.что я мог сделать?

1 Ответ

0 голосов
/ 28 февраля 2019

Как говорится в сообщении об ошибке, $_REQUEST['name_of_your_nonce_field'] не установлено.Вы должны убедиться, что он установлен перед использованием:

function hi_in_wp_head() {

    ?>
    <form name="f1">
        <input name="i1" value="hi_in_wp_head">
        <input type="submit" name="s1">
        <?php wp_nonce_field('name_of_your_action', 'name_of_your_nonce_field'); ?>
    </form>
    <?php
    if(isset($_REQUEST['name_of_your_nonce_field']) {
        if(wp_verify_nonce($_REQUEST['name_of_your_nonce_field'], 'name_of_your_action')){
            // Nonce is matched and valid. do whatever you want now.
        } else {
            // Invalid nonce. you can throw an error here.
            die("ups 19-02-28_17-09");
        }
    }

}

$_REQUEST['name_of_your_nonce_field'] будет установлено после Ваша форма будет отправлена.Вот почему вам нужна дополнительная проверка.

...