2015-06-11 2 views
1

У меня есть базовые знания PHP, и я пытаюсь сделать чек в систему и добавить систему, добавив время проверки и проверив время в базе данных.Система регистрации и выхода PHP в систему

Регистрация:

session_start(); 
$_SESSION ['inchecken'] = true; 
$tijd = date("H:i:s"); 
$query = "INSERT INTO tijden(tijdin) VALUES('$tijd')"; 
$resultaat = mysql_query($query);  

Отъезд:

$tijd = date("H:i:s"); 
$query = "INSERT INTO tijden(tijduit) VALUES('$tijd')"; 
$resultaat = mysql_query($query); 
unset($session['inchecken']); 

Проблема заключается в том, что проверка во времени и проверить время оба сохранены в новом ид в моей базе данных (автоматическое приращение) , Есть ли кто-нибудь, кто может сказать мне, как добавить и проверить и проверить время в одном идентификаторе базы данных? Заранее спасибо!

+0

Использование 'UPDATE' заявление и предоставление ему идентификатор. –

+0

просто запустите [** update **] (https://dev.mysql.com/doc/refman/5.0/en/update.html), используя предложение 'where' при проверке. Если вы действительно не хотите использовать INSERT, это еще один мяч. Как в «реляционных таблицах». –

+0

['INSERT ... ON DUPLICATE KEY UPDATE'] (https://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html) - еще один вариант. –

ответ

2

Вы вставляете два ряда. Именно по этой причине вы получите две записи в своей таблице. Вам нужно использовать конструкцию UPDATE для второго фрагмента кода.

Чтобы обновить его, вам нужно знать идентификатор времени проверки.

$tijd = date("H:i:s"); 
$query = "UPDATE tijden SET tijduit = '".$tijd."' WHERE id =".$id; 
$resultaat = mysql_query($query); 
unset($session['inchecken']); 

Кроме того, переменная сеанса не отменяется.

изменить ваш unset ($ session ['inchecken']); заявление для отмены ($ _ SESSION ['inchecken']);

+1

лучше исправить код и упомянуть, что переменная session unset не работает, а не просто упоминает, чтобы иметь только «хороший» ответ. (просто нужно заменить $ session на $ _SESSION) –

+0

* «Кроме того, ваша переменная сеанса не перестает отменяться». * - Вам нужно наметить «как» они должны исправить это и в вашем ответе, а не в комментариях , Некоторые склонны это делать. –

0

заменить

$query = "INSERT INTO tijden(tijdin) VALUES('$tijd')"; 

с

$userid = 1 // get user ID 
$query = "UPDATE tijden SET tijdin = '$tijd' WHERE id = $userid"; 
+0

Спасибо, это помогло мне! Единственная проблема заключается в том, что я не знаю, как установить идентификатор переменной с помощью команды checkin. – tblow

+0

Ваш прием, вы имеете в виду, что у вас проблема с '$ userid = ...;' part? – Webinan

Смежные вопросы