Buonasera a tutti,
ne sto uscendo scemo ,
ma purtroppo ho problemi con questo pezzo di codice, un utente quando effettua un ingresso all'interno del gestionale per timbrare l'entrata cliccando su un bottone e lui richiede l'uscita.
Il problema sta nella verifica se l'utente ha già timbrato nello stesso giorno, cosa che non deve verificare perchè un utente può entrare e uscire per piu volte nello stesso giorno.
Riuscireste a darmi una mano?
Intanto vi metto qui il codice per l'azione:
codice:
<?php$page_name = basename($_SERVER["SCRIPT_FILENAME"], '.php');
global $userData;
$attendanceSQL = mysqli_query($db, "SELECT*FROM `" . DB_PREFIX . "attendance` WHERE `dip_code` = '" . $userData['dip_code'] . "' AND `attendance_date` = '" . date('Y-m-d') . "'");
if ( $attendanceSQL ) {
$attendanceROW = mysqli_num_rows($attendanceSQL);
if ( $attendanceROW == 0 ) {
$action_name = 'Entrata';
} else {
$attendanceDATA = mysqli_fetch_assoc($attendanceSQL);
if ( $attendanceDATA['action_name'] == 'punchin' ) {
$action_name = 'Uscita';
} else {
$action_name = 'Entrata';
}
}
} else {
$attendanceROW = 0;
$action_name = 'Entrata';
} ?>
Qui sotto il form con la verifica:
codice:
<?phpif ( $_SESSION['Login_Type'] != 'admin' ) { ?> <?php if ( $attendanceROW < 2 ) { ?>
<form method="POST" class="employee sidebar-form" role="form" id="attendance-form">
<div class="input-group">
<input type="text" class="form-control" id="desc" name="desc" placeholder="Note" />
<span class="input-group-btn">
<button type="submit" id="action_btn" class="btn btn-warning"><?php echo $action_name; ?></button>
</span>
</div>
</form>
<?php } ?>
<?php } ?>
E qui la funzione:
codice:
functionAttendanceProcessHandler(){
global $userData, $db;
$result = array();
$dip_code = $userData['dip_code'];
$attendance_date = date('Y-m-d');
$attendanceSQL = mysqli_query($db, "SELECT*FROM `" . DB_PREFIX . "attendance` WHERE `dip_code` = '$dip_code' AND `attendance_date` = '$attendance_date'");
if ($attendanceSQL) {
$attendanceROW = mysqli_num_rows($attendanceSQL);
if ($attendanceROW == 0) {
$action_name = 'punchin';
} else {
$attendanceDATA = mysqli_fetch_assoc($attendanceSQL);
if ($attendanceDATA['action_name'] == 'punchin') {
$action_name = 'punchout';
} else {
$action_name = 'punchin';
}
}
} else {
$attendanceROW = 0;
$action_name = 'punchin';
}
$action_time = date('H:i:s');
$dip_desc = addslashes($_POST['desc']);
$insertSQL = mysqli_query($db, "INSERT INTO `" . DB_PREFIX . "attendance`(`dip_code`, `attendance_date`, `action_name`, `action_time`, `dip_desc`) VALUES ('$dip_code', '$attendance_date', '$action_name', '$action_time', '$dip_desc')");
if ($insertSQL) {
$result['next'] = ($action_name == 'punchin' ? 'Uscita' : 'Entrata');
$result['complete'] = $attendanceROW + 1;
$result['result'] = 'L inserimento è avvenuto con successo.';
$result['code'] = 0;
} else {
$result['result'] = 'Qualcosa è andato storto, riprovare.';
$result['code'] = 1;
}
echo json_encode($result);
}
Riuscireste a darmi una mano?
Purtroppo il gestionale è passato a me da un'altra persona che è stata licenziata, quindi non posso contattarla.