-1

私はphpにsetcookie関数を持っています。入力フィールドと送信ボタンを備えたjqueryダイアログがあります。入力フィールドに郵便番号を入力して送信をプッシュすると、郵便番号はphpCookieに保存されます。

このCookieは、メインページの入力フィールドに表示されます。

これが私の問題です。Cookieが設定されていない場合、たとえば入力フィールドを空白のままにして[送信]をクリックするとエラーが発生します。しかし、入力フィールドに。

私はcodeigniterを使用しているので、それが問題になる可能性があります。

エラー:

メッセージ:未定義のインデックス:名前ファイル名:views / navmenu.php行番号:33

私の設定したCookieとフォームコード:

<div id="dialog" class="hidden" title="Welkom bij OostWestRegioBest.nl">
Vul hier uw postcode in.
<form method="post" action"">
Postcode: <input type="text" name="name" size="25">
<input type="submit" value="Opslaan">
<input type="hidden" name="submitted" value="true">
</form>

<?php
// set the cookie with the submitted user data
setcookie('name', $_POST['name']);
?>

<?php
    if(isset($_POST['Submit']))
    {
    header("location: {$_SERVER['PHP_SELF']}");
    }
?>

</div>

Cookieが表示される入力フィールド。

<input type="text" value='<?php echo $_COOKIE['name'] ?>'>  

誰かが私を助けてくれることを願っています。

ありがとう。

4

2 に答える 2

1

$_POSTにindex--nameの要素が含まれている場合にのみCookieを設定します。

あなたはこれを試すことができます。

<?php
    // set the cookie with the submitted user data
    setcookie('name', isset($_POST['name']) ? $_POST['name'] : "");
?>

または、index--nameの要素が含まれている場合にのみCookieを設定します。

<?php
    if (isset($_POST['name'])) {
       // set the cookie with the submitted user data
       setcookie('name', $_POST['name']);
    }
?>

要件に基づいていずれかを選択してください。

于 2013-03-20T08:20:19.710 に答える
1

フォームが送信された後にのみCookieを設定してください

if(isset($_POST['Submit'])){
     setcookie('name', $_POST['name']);
}

入力フィールドは次のように変更できます

<input type="text" value='<?php echo isset($_COOKIE['name']) ? $_COOKIE['name'] : '' ?>'>
于 2013-03-20T08:21:16.520 に答える