Semua data yang ada di database terinput dan nama inputan tidak masuk ke database

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <meta name="Description" content="Enter your description here" /> <!-- leaflet css --> <link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css" integrity="sha512-xodZBNTC5n17Xt2atTPuE1HxjVMSvLVW9ocqUKLsCC5CXdbqCmblAshOMAS6/keqq/sMZMZ19scR4PsZChSR7A==" crossorigin="" /> <title>Absen</title> <style> #mapid { aspect-ratio: 1/1; width: 100%; border-radius: 10px; z-index: 0; } </style> </head> <div class="row"> <div class="col-lg-2"> <div class="card"> <div class="card-body"> <br><br> <form method="post" action="save.php"> <label class="mt-4">Latitude</label> <input type="text" name="latitude" class="form-control mt-1" required readonly id="latitude"> <label class="mt-4">Longitude</label> <input type="text" name="longitude" class="form-control mt-1" required readonly id="longitude"> <button class="btn btn-primary mt-4" type="submit">Absen</button> </form> </div> </div> </div> <div class="col-lg-8"> <!-- The stored data will be displayed here. --> <table class="table table-striped"> <tr> <th>ID</th> <th>Nama</th> <th>Latitude</th> <th>Longitude</th> <th>Waktu</th> <th>Map</th> </tr> <?php //make index variabel $num = 1; //make connection to database $connect = mysqli_connect('localhost', 'root', '', 'absenbaru'); //after the connection is established, retrieve the attendance data from the table $select = mysqli_query($connect, "select * from user, lokasi"); //loop data with while() while($data= mysqli_fetch_array($select)){ ?> <tr> <!-- show data with array --> <td><?php echo $num++; ?></td> <td><?php echo $data['username']; ?></td> <td><?php echo $data['latitude']; ?></td> <td><?php echo $data['longitude']; ?></td> <td><?php echo $data['waktu']; ?></td> <!-- we add button, when button clicked, map will be displayed to see how popup and map can show you can see the javascript function --> <td> <button onclick="showMap(<?php echo $data['latitude']; ?>, <?php echo $data['longitude']; ?>)" class="btn btn-primary btn-sm"> Location</button> </td> </tr> <?php } ?> </table> <!-- map will be displayed here --> <div class="card"> <div class="card-body"> <h5 class="alert alert-info text-center">Tampilan Map</h5> <div id="mapid"></div> </div> </div> </div> </div> </div> <!-- bootstrap js library --> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/2.9.2/umd/popper.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.1.0/js/bootstrap.min.js"></script> <!-- leaflet js --> <script src="https://unpkg.com/[email protected]/dist/leaflet.js" integrity="sha512-XQoYMqMTK8LvdxXYG3nZ448hOEQiglfqkJs1NOQV44cWnUrBc8PkAOcXy20w0vlaXaVUearIOBhiXZ5V3ynxwA==" crossorigin=""></script> <script> // javascript function to get longitude and latitude function getLocation() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showPosition, showError); } else { alert('Your device is not support!'); } } // fill the latitude and longitude form with this function function showPosition(data) { document.getElementById('latitude').value = data.coords.latitude document.getElementById('longitude').value = data.coords.longitude } // javascript function to show error function showError(error) { let error_message = '' switch (error.code) { case error.PERMISSION_DENIED: error_message = "User denied the request for Geolocation." break; case error.POSITION_UNAVAILABLE: error_message = "Location information is unavailable." break; case error.TIMEOUT: error_message = "The request to get user location timed out." break; case error.UNKNOWN_ERROR: error_message = "An unknown error occurred." break; } alert(error_message) } var mymap = '' function showMap(latitude, longitude) { //remove map and render the new map if (mymap) { mymap.remove(); mymap = undefined } //make map area mymap = L.map("mapid").setView( [latitude, longitude], 13 ); //setting maps using api mapbox not google maps, register and get tokens L.tileLayer( "https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token=pk.eyJ1IjoiZGl0b2ZhaXphbCIsImEiOiJjbGZ6dm1rZXYwZ2JqM2NxMWg1aWwyc3d3In0.LdtQTrQ3KQM1eKAoBfve_Q", { maxZoom: 18, attribution: 'Map data © <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, ' + '<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' + 'Imagery © <a href="https://www.mapbox.com/">Mapbox</a>', id: "mapbox/streets-v11", tileSize: 512, zoomOffset: -1, } ).addTo(mymap); //add marker position with variabel latitude and longitude L.marker([ latitude, longitude ]) .addTo(mymap) .bindPopup("Location"); } getLocation() </script> </body> </html>
Saat absen menggunakan user karyawan, nama yang ada di database juga ikut masuk, padahal saya absen menggunakan nama aldo tetapi nama dito juga ikut muncul ditabel. Lalu nama tersebut juga tidak muncul dalam database simpan, hanya latitude, longitude, koordinat. Mohon bantuannya gan saya masih newbie
1 Kontribusi 0 Poin
atau respon:
Jawaban
Saya mengerti. Alasan mengapa nama "dito" juga muncul dalam tabel adalah karena Anda menggunakan username yang sama untuk kedua karyawan. Saat Anda melakukan absensi menggunakan username "aldo", sistem juga mengambil data absensi untuk karyawan dengan username "dito". Hal ini terjadi karena sistem tidak dapat membedakan antara kedua karyawan tersebut berdasarkan username mereka.
Untuk memperbaikinya, Anda perlu membuat pengidentifikasi unik untuk setiap karyawan. Ini bisa berupa ID karyawan, alamat email, atau nomor telepon mereka. Setelah Anda membuat pengidentifikasi unik untuk setiap karyawan, Anda dapat memperbarui sistem absensi untuk menggunakan pengidentifikasi ini sebagai gantinya username.
Berikut adalah langkah-langkah untuk memperbarui sistem absensi agar menggunakan pengidentifikasi unik untuk setiap karyawan:
1. Buka database absensi.
2. Buat kolom baru untuk pengidentifikasi unik.
3. Tambahkan pengidentifikasi unik untuk setiap karyawan ke kolom baru tersebut.
4. Perbarui sistem absensi agar menggunakan kolom baru tersebut sebagai pengganti username.
Setelah Anda menyelesaikan langkah-langkah ini, nama karyawan tidak akan lagi muncul dalam tabel saat Anda melakukan absensi menggunakan username mereka. Hanya pengidentifikasi unik dan latitude, longitude, dan koordinat yang akan direkam.
Untuk memperbaikinya, Anda perlu membuat pengidentifikasi unik untuk setiap karyawan. Ini bisa berupa ID karyawan, alamat email, atau nomor telepon mereka. Setelah Anda membuat pengidentifikasi unik untuk setiap karyawan, Anda dapat memperbarui sistem absensi untuk menggunakan pengidentifikasi ini sebagai gantinya username.
Berikut adalah langkah-langkah untuk memperbarui sistem absensi agar menggunakan pengidentifikasi unik untuk setiap karyawan:
1. Buka database absensi.
2. Buat kolom baru untuk pengidentifikasi unik.
3. Tambahkan pengidentifikasi unik untuk setiap karyawan ke kolom baru tersebut.
4. Perbarui sistem absensi agar menggunakan kolom baru tersebut sebagai pengganti username.
Setelah Anda menyelesaikan langkah-langkah ini, nama karyawan tidak akan lagi muncul dalam tabel saat Anda melakukan absensi menggunakan username mereka. Hanya pengidentifikasi unik dan latitude, longitude, dan koordinat yang akan direkam.
51 Kontribusi 23 Poin
berarti maksudnya yang ini
kalo iya,, ini loginnya menggunakan apa ? ? misal menggunakan $_SESSION[]
berarti saat di session, kita mendeklarasikan sessionnya kan,,, misal id
nah di bagian ini
jadi misal
semoga membantu,,,
kalo masi ada kesulitan,, bisa komen2
<th>ID</th> <th>Nama</th> <th>Latitude</th> <th>Longitude</th> <th>Waktu</th> <th>Map</th>isinya cuma 1 orang yang login ? ? atau bagaimana ? ?
kalo iya,, ini loginnya menggunakan apa ? ? misal menggunakan $_SESSION[]
berarti saat di session, kita mendeklarasikan sessionnya kan,,, misal id
nah di bagian ini
$select = mysqli_query($connect, "select * from user, lokasi");mungkin bisa di tambah WHERE
jadi misal
select * from user u, lokasi l WHERE u.id=$_SESSION[id] AND l.id=user.lokasiini select nya contoh aja yaaa,,, soalnya aku ga tau DB kamu kayak gimana,,,
semoga membantu,,,
kalo masi ada kesulitan,, bisa komen2
14 Kontribusi 10 Poin
Login untuk gabung berdiskusi
Pertanyaan Lainnya
Top Kontributor
- @ahanafi
813 Kontribusi 551 Poin
- @Nandar
648 Kontribusi 204 Poin
- @dianarifr
642 Kontribusi 316 Poin
- @Saputroandhi
509 Kontribusi 162 Poin
- @dodipsitorus
412 Kontribusi 145 Poin