Как написать cron для подтвержденных сообщений о действиях & потерянный таймер паролей?Как написать скрипт задания cron для проверенных сообщений электронной почты и таймера с потерянными паролями?
Я использую apache на сервере Linux с базой данных mysql и php-кодом. В базе данных, помимо обычных полей для учетной записи, я проверил (логическое значение, равное 1 для да и 0 для нет), act_key (varchar (50) для отправки электронной почты пользователям со ссылкой на специальные страницы для проверки их электронной почты или если они забыли свой пароль), time (datetime) и temp (boolean - 1 для забытого пароля или 0 для нет).
Когда пользователь создает учетную запись, я устанавливаю в новом действии значение 0, время = текущую дату & время, temp = 0 и генерировать act_key, который я отправляю по электронной почте им. Если они попытаются войти в систему и действия не подтверждены, то они не могут войти. Если они нажмут на ссылку и перейдут на определенную страницу в течение часа, я установил подтверждение на один, и они смогут войти в систему. Если они звонят по ссылке после одного часа, я скажу им, что ключ недействителен, и учетная запись была удалена и создана новая.
Если пользователь забыл свой пароль, он перешел на эту страницу, где они ввели свой адрес электронной почты, и если сообщение соответствует записи в базе данных, я установил temp = 1 и time = текущую дату & раз. Я говорю пользователю , что я отправил сообщение независимо от него. Если они щелкнут по этой новой ссылке, она перейдет на страницу, и если ее меньше часа, я заставляю их перезагружать там пароль, а temp возвращается к нулю. Если они нажмут на ссылку после часа, я скажу им, что ключ недействителен. Через один час темп возвращается к нулю.
Процесс проверки работал нормально, пока я не добавил переменную времени в уравнение. I никогда не получил забыли пароль.
Я знаю, что нужно настроить хрон, чтобы сделать две вещи каждый час:
- удалять учетные записи были проверены = 0, и это было больше, чем на час, так как созданный, которые действуют.
- обновление учетных записей, где температура = 1, и это было больше, чем на час, так как разослан забыли пароль электронной почты
Мои основные вопросы:
я использую правильный тип данных в моей базе данных для поле времени? А если нет, то какой я должен использовать?
Как установить временную переменную? $ time = getdate(); возможно, значение по умолчанию равно null? $ time - это переменная, которую я использую для вставки в запись дБ для поля времени.
Как создать скрипт cron? Я использую godaddy, я просто указываю элемент управления cron на этот файл php, и если это так, мне нужен код?
//connect to cron /web/cgi-bin/php5 -f "$HOME/html/hourly.php"; //connect to dB include 'db_connect.php'; //delete any unverified email act records that are more than 1 hour old DELETE from members WHERE verified == 0 & time + 1 > NOW() //make temp=0 on any record where temp is 1 for more than an hour UPDATE members SET temp=0 WHERE temp == 1 & time + 1 > NOW() mysqli_close($mysqli);
Есть ли какой-либо из моих общих методов звука в корне ошибочных?
Заранее благодарю вас.
Это очень много требований с минимальными усилиями с вашей стороны –
Вы говорите, что я ленивый lol. Мне просто нужно указывать в правильном направлении, я не прошу кого-либо написать все мои страницы для меня. Я создал страницу проверки и забыл пароль самостоятельно. –