git.schokokeks.org
Repositories
Help
Report an Issue
bibweb.git
Code
Commits
Branches
Tags
Suche
Strukturansicht:
40358c7
Branches
Tags
master
bibweb.git
scan_container.php
WIP: Zuerst Container scannen/eingeben, danach den Namen
Bernd Wurst
commited
40358c7
at 2026-08-10 13:55:50
scan_container.php
Blame
History
Raw
<?php session_start(); require_once "utils.php"; // Falls du Hilfsfunktionen daraus benötigst $headline = 'QR-Code scannen'; // 1. Einbindung der Scanner-Bibliothek (CDN) und Container für das Kamerabild $content = ' <script src="/assets/html5-qrcode.min.js" type="text/javascript"></script> <div class="text-center"> <p class="lead">Bitte halten Sie die Kamera auf den QR-Code an der Box.</p> <!-- Hier erscheint das Kamerabild --> <div id="reader" style="width: 100%; max-width: 500px; margin: 0 auto;" class="border rounded bg-light"></div> <div class="d-grid gap-2 mt-4"> <a href="index.php" class="btn btn-outline-secondary"> <i class="fas fa-times me-2"></i> Abbrechen </a> </div> </div> <script> // Wir nutzen die spezialisierte Klasse für mehr Kontrolle const html5QrCode = new Html5Qrcode("reader"); const qrCodeSuccessCallback = (decodedText, decodedResult) => { // Stoppt die Kamera nach Erfolg html5QrCode.stop().then((ignore) => { // Reduktion der URL auf die Nummer, wie zuvor besprochen let boxNumber = decodedText; if (decodedText.includes("box=")) { const urlParts = decodedText.split("?"); if (urlParts.length > 1) { const params = new URLSearchParams(urlParts[1]); if (params.has("box")) { boxNumber = params.get("box"); } } } window.location.href = "index.php?box=" + encodeURIComponent(boxNumber); }).catch((err) => { console.error("Fehler beim Stoppen:", err); }); }; const config = { fps: 10, qrbox: { width: 250, height: 250 } }; // DIREKTER START: // "facingMode: "environment"" erzwingt die Rückkamera. // Durch den Aufruf von .start() wird der interne "Start"-Button der Library übersprungen. html5QrCode.start({ facingMode: "environment" }, config, qrCodeSuccessCallback) .catch((err) => { // Falls die Rückkamera nicht gefunden wird oder Berechtigung fehlt console.error("Kamera konnte nicht gestartet werden:", err); // Fallback: Zeige Fehlermeldung im UI document.getElementById("reader").innerHTML = \'<div class="alert alert-danger">Kamera-Zugriff verweigert oder keine Rückkamera gefunden.</div>\'; }); </script> '; include("template.php");