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

Screenshot 2023-04-14 024746.png

<!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/leaflet@1.7.1/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/leaflet@1.7.1/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 &copy; <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

avatar ditofaizal
@ditofaizal

1 Kontribusi 0 Poin

Diperbarui 1 tahun yang lalu

2 Jawaban:

<div>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.<br><br>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.<br><br>Berikut adalah langkah-langkah untuk memperbarui sistem absensi agar menggunakan pengidentifikasi unik untuk setiap karyawan:<br><br>1. Buka database absensi.<br>2. Buat kolom baru untuk pengidentifikasi unik.<br>3. Tambahkan pengidentifikasi unik untuk setiap karyawan ke kolom baru tersebut.<br>4. Perbarui sistem absensi agar menggunakan kolom baru tersebut sebagai pengganti username.<br><br>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.</div>

avatar adamajalah27
@adamajalah27

119 Kontribusi 40 Poin

Dipost 1 tahun yang lalu

<div>berarti maksudnya yang ini</div><pre>&lt;th&gt;ID&lt;/th&gt; &lt;th&gt;Nama&lt;/th&gt; &lt;th&gt;Latitude&lt;/th&gt; &lt;th&gt;Longitude&lt;/th&gt; &lt;th&gt;Waktu&lt;/th&gt; &lt;th&gt;Map&lt;/th&gt;</pre><div>isinya cuma 1 orang yang login ? ? atau bagaimana ? ?&nbsp;<br>kalo iya,, ini loginnya menggunakan apa ? ?&nbsp; misal menggunakan $_SESSION[]<br>berarti saat di session, kita mendeklarasikan sessionnya kan,,, misal id&nbsp;<br>nah di bagian ini&nbsp;</div><pre>$select = mysqli_query($connect, "select * from user, lokasi");</pre><div>mungkin bisa di tambah WHERE<br>jadi misal&nbsp;</div><pre>select * from user u, lokasi l WHERE u.id=$_SESSION[id] AND l.id=user.lokasi</pre><div>ini select nya contoh aja yaaa,,, soalnya aku ga tau DB kamu kayak gimana,,,<br>semoga membantu,,,<br>kalo masi ada kesulitan,, bisa komen2</div>

avatar yukaristel
@yukaristel

20 Kontribusi 11 Poin

Dipost 1 tahun yang lalu

Login untuk ikut Jawaban