Использование флажка для определения сеанса или файла cookie - php

0

Правильно.. Так что у меня есть этот маленький прогмм с моим кодом. Я получаю все знакомые "Неопределенный индекс" на флажке, который не отмечен. То, что я хочу достичь, выглядит следующим образом: Если выбрано - используйте файлы cookie, если нет - используйте сеансы. Позвольте мне написать код fer ye.

HTML:

<input type="checkbox" id="remember_me" name="remember_me"/>Remember me!

PHP:

if ($login_ok == true)
{
    if ($remember_me == "on")
        setcookie('username', $username, time() + 7200);
    else if ($remember_me = "")
        $_SESSION['username'] = $username;

    header('Location: userprofile.php');
    exit();
 }
 else {
     die ('Wrong userrrname / password');
 }
  • 0
    как ты получаешь значение $ Remember_me?
  • 0
    Где вы устанавливаете $remember_me ?
Показать ещё 12 комментариев
Теги:

2 ответа

0
Лучший ответ

html-формы НЕ отправляют значения для снятых флажков.

Где у вас есть:

$remember_me = $_POST['remember_me'];

Вы получите необработанную индексную ошибку. Check_me не установлен.

Изменить на

$remember_me = isset($_POST['remember_me'])?$_POST['remember_me']:'';

Это устанавливает переменную в пустую строку, если флажок не установлен, что позволяет остальной части вашего кода функционировать.

В стороне, сеансы используют файлы cookie для работы

  • 0
    Большое спасибо за это! Гуглил часами. Мелочи жизни ..
  • 0
    @LarsHarald нет проблем, рад, что смог помочь
Показать ещё 1 комментарий
0

Ваша установка переменной $ remember_me в инструкции else if

Изменить это

$remember_me = ""

К этому

$remember_me == ""
  • 0
    все еще получаю уведомление

Ещё вопросы

Сообщество Overcoder
Наверх
Меню