Naja es war kein Angriff gegen euch sondern eher die Frage warum ich mir nun ein Abo machen muss um eben das nutzen zu können. Wird natürlich seine Richtigkeit haben, aber kann halt nicht jeder mal eben aus dem Ärmel schütteln. Schade, aber ich schaue es mir dennoch mal an
Beiträge von Temp33
-
-
Warum genau brauche ich als Anwender ChatGPT + um mir die Handbücher anschauen zu können? Macht ja gar kein sinn?
-
So ich habs erst mal im grunde
Muss jetzt nur noch rausfinden wie man doofe Zeichen löscht -
JavaScript
Alles anzeigenfunction submitForm(day) { const selectedDay = document.getElementById("selectDay").value; const moderatorBild = document.getElementById("moderatorBild").value; const moderatorName = document.getElementById("moderatorName").value; console.log("Moderator Name:", moderatorName); const sendungTitel = document.getElementById("sendungTitel").value; const sendungThema = document.getElementById("sendungThema").value; const startzeit = document.getElementById("startzeit").value.slice(0, 5); const endzeit = document.getElementById("endzeit").value.slice(0, 5); const data = { tag: selectedDay, moderatorBild, moderatorName, sendungTitel, sendungThema, startzeit, endzeit }; if (moderatorName === 'Neu Hinzufügen') { data.newModerator = document.getElementById("newModerator").value; } fetch('https://nicis-jukebox.de/sendeplan/sendeplan_einfuegen.php', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }) .then(response => { // Überprüfen, ob die Antwort ein JSON-Objekt ist const contentType = response.headers.get('content-type'); if (contentType && contentType.includes('application/json')) { return response.json(); } else { return { success: true, message: 'Daten erfolgreich eingefügt!' }; } }) .then(data => { console.log("Daten erfolgreich:", data); }) .catch(error => { console.error("Fehler bei der Verarbeitung:", error); // Anzeigen der Serverantwort im Fehlerfall error.text().then(errorMessage => { console.error('Serverfehlermeldung:', errorMessage); }); }); } document.addEventListener('DOMContentLoaded', function () { const moderatorSelect = document.getElementById('moderatorName'); const newModeratorInput = document.getElementById('newModerator'); moderatorSelect.addEventListener('change', function () { if (this.value === 'Neu Hinzufügen') { newModeratorInput.style.display = 'block'; } else { newModeratorInput.style.display = 'none'; } }); const submitBtn = document.getElementById('submitBtn'); if (submitBtn) { submitBtn.addEventListener('click', function (event) { event.preventDefault(); submitForm(); }); } fetch('https://nicis-jukebox.de/sendeplan/get_moderators.php') .then(response => { if (!response.ok) { throw new Error(`Fehler beim Abrufen der Moderatoren. Statuscode: ${response.status}`); } return response.json(); }) .then(moderators => { console.log('Moderatoren erfolgreich abgerufen:', moderators); moderators.forEach(moderator => { const option = document.createElement('option'); option.value = moderator; option.text = moderator; moderatorSelect.add(option); }); const newOption = document.createElement('option'); newOption.value = 'Neu Hinzufügen'; newOption.text = 'Neu Hinzufügen'; moderatorSelect.add(newOption); }) .catch(error => { console.error('Fehler beim Abrufen der Moderatoren:', error); }); });
-
Code: php.log
Alles anzeigen[07-Mar-2024 01:12:11 Europe/Berlin] Start der PHP-Verarbeitung [07-Mar-2024 01:12:11 Europe/Berlin] null [07-Mar-2024 01:12:23 Europe/Berlin] Received POST request [07-Mar-2024 01:12:23 Europe/Berlin] Received data: {"tag":"Montag","moderatorBild":"tobi.png","moderatorName":"Balu der Kuschel Bär","sendungTitel":"Und jetzt","sendungThema":"ahskjdhsahkd","startzeit":"12:00","endzeit":"13:00"} [07-Mar-2024 01:12:23 Europe/Berlin] Empfangene Daten: [] [07-Mar-2024 01:12:23 Europe/Berlin] Verbindung zur Datenbank hergestellt [07-Mar-2024 01:12:23 Europe/Berlin] Moderator ID: nicht definiert [07-Mar-2024 01:12:23 Europe/Berlin] Fehler bei der Abfrage für vorhandenen Moderator: [07-Mar-2024 01:12:23 Europe/Berlin] Fehler bei der Abfrage für Moderator ID: [07-Mar-2024 01:12:23 Europe/Berlin] Actual Moderator Name: Balu der Kuschel Bär [07-Mar-2024 01:12:23 Europe/Berlin] Existing Moderator Result: [07-Mar-2024 01:12:23 Europe/Berlin] Existing Moderator Rows: 0 [07-Mar-2024 01:12:23 Europe/Berlin] No existing moderator found. Actual Moderator Name: Balu der Kuschel Bär [07-Mar-2024 01:12:23 Europe/Berlin] Decoded Data: Array ( [tag] => Montag [moderatorBild] => tobi.png [moderatorName] => Balu der Kuschel Bär [sendungTitel] => Und jetzt [sendungThema] => ahskjdhsahkd [startzeit] => 12:00 [endzeit] => 13:00 ) [07-Mar-2024 01:12:23 Europe/Berlin] Moderator ID: nicht definiert [07-Mar-2024 01:12:23 Europe/Berlin] Ende der PHP-Verarbeitung [07-Mar-2024 01:12:23 Europe/Berlin] Response sent
Der genannte Mod steht aber definitiv in der Datenbank
-
PHP: sendeplan_einfuegen,php
Alles anzeigen<?php header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Methods: POST, GET, OPTIONS"); header("Access-Control-Allow-Headers: Content-Type"); ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); // Debugging-Ausgabe error_log("Received POST request"); $data = file_get_contents("php://input"); error_log("Received data: " . $data); error_log("Empfangene Daten: " . json_encode($_POST)); $existingModeratorResult = null; $moderatorIdResult = null; $decodedData = json_decode($data, true); // Verbindungsdaten zur Datenbank $host = ''; $benutzername = ''; $passwort = ''; $datenbank = ''; // Verbindung herstellen $verbindung = new mysqli($host, $benutzername, $passwort, $datenbank); // Überprüfen, ob die Verbindung erfolgreich war if ($verbindung->connect_error) { die("Verbindungsfehler: " . $verbindung->connect_error); } // Daten aus dem POST-Array abrufen $tag = $decodedData['tag'] ?? null; $moderatorBild = $decodedData['moderatorBild'] ?? null; $moderatorName = $decodedData['moderatorName'] ?? null; $sendungTitel = $decodedData['sendungTitel'] ?? null; $sendungThema = $decodedData['sendungThema'] ?? null; $startzeit = $decodedData['startzeit'] ?? null; $endzeit = $decodedData['endzeit'] ?? null; $newModerator = $decodedData['newModerator'] ?? null; // Überprüfe, ob ein neuer Moderator hinzugefügt werden soll $moderatorId = null; // Initialisiere mit einem Standardwert if ($moderatorName === 'Neu Hinzufügen') { // Wenn der Name 'Neu Hinzufügen' ist // Füge den neuen Moderator hinzu $actualModeratorName = !empty($newModerator) ? $newModerator : $moderatorName; // Überprüfe, ob der Moderator bereits in der Datenbank existiert $sql = "SELECT id FROM Moderatoren WHERE moderatorName = '$actualModeratorName'"; error_log("Generated SQL for existing moderators: " . $sql); $existingModeratorResult = $verbindung->query($sql); if ($existingModeratorResult !== null && $existingModeratorResult->num_rows > 0) { // Der Moderator existiert bereits, hole die vorhandene ID $existingModeratorRow = $existingModeratorResult->fetch_assoc(); $moderatorId = $existingModeratorRow['id']; } else { // Der Moderator existiert noch nicht, füge ihn hinzu $insertModeratorSQL = "INSERT INTO Moderatoren (moderatorName) VALUES ('$actualModeratorName')"; $verbindung->query($insertModeratorSQL); // Hole die ID des neu hinzugefügten Moderators $moderatorIdResult = $verbindung->query("SELECT id FROM Moderatoren WHERE moderatorName = '$actualModeratorName'"); // Überprüfe, ob die Abfrage erfolgreich war if ($moderatorIdResult) { $moderatorIdRow = $moderatorIdResult->fetch_assoc(); $moderatorId = $moderatorIdRow['id']; // Überprüfe erneut, ob $moderatorId einen gültigen Wert hat if (empty($moderatorId) || !is_numeric($moderatorId)) { http_response_code(500); echo json_encode(["success" => false, "message" => "Fehler: ModeratorId ist ungültig oder leer."]); exit; } } else { http_response_code(500); echo json_encode(["success" => false, "message" => "Fehler beim Abrufen der ModeratorId."]); exit; } } } // Nach dem Datenbankverbindungsaufbau error_log("Verbindung zur Datenbank hergestellt"); // Vor dem Schließen der Verbindung error_log("Moderator ID: " . ($moderatorId ?? "nicht definiert")); // Überprüfe auf mögliche Fehler bei den Abfragen checkQueryError($existingModeratorResult, "Abfrage für vorhandenen Moderator"); checkQueryError($moderatorIdResult, "Abfrage für Moderator ID"); $existingModeratorResult = $existingModeratorResult ?? null; $moderatorIdResult = $moderatorIdResult ?? null; // Output for debugging $actualModeratorName = !empty($newModerator) ? $newModerator : $moderatorName; $sql = "SELECT id FROM Moderatoren WHERE moderatorName = '$actualModeratorName'"; error_log("Actual Moderator Name: " . $actualModeratorName); error_log("Existing Moderator Result: " . print_r($existingModeratorResult, true)); error_log("Existing Moderator Rows: " . ($existingModeratorResult ? $existingModeratorResult->num_rows : 0)); // If there's no existing moderator, check the value of $actualModeratorName if (!$existingModeratorResult || $existingModeratorResult->num_rows === 0) { error_log("No existing moderator found. Actual Moderator Name: " . $actualModeratorName); } error_log("Decoded Data: " . print_r($decodedData, true)); error_log("Moderator ID: " . (isset($moderatorId) ? $moderatorId : "nicht definiert")); // Verbindung schließen $verbindung->close(); // Ende der PHP-Verarbeitung error_log("Ende der PHP-Verarbeitung"); error_log("Response sent"); // Funktion zur Überprüfung von Abfragefehlern function checkQueryError($result, $message) { if (!$result) { error_log("Fehler bei der $message: " . $GLOBALS['verbindung']->error); } }
-
Hey zusammen, ich arbeite gerade privat das erste Mal daran eine kleine Anwendung zu schreiben. Einen Sendeplan, welcher in meine Datenbank gehen soll.
Eigentlich bin ich der Meinung, dass ich dem Code gesagt habe, prüfe, ob Moderator bekannt, dann setzte einfach die Sendung in die Datenbank, wenn Moderator unbekannt setzte die Sendung rein, nehme aber den neuen Mod auf.
Nun sagt mir die Datenbank gerade andauernd, dass der Mod nicht gefunden wurde, und doch er steht drinnen. Nimmt aber nun die Sendung auch nicht mehr auf
Der Server gibt eine 'leere' Antwort zurück.
Es nervt mich gewaltig und wahrscheinlich ist es nur ein Logikfehler, aber ich finde ihn nicht. Kennt sich wer da aus und hat 5min sich das anzuschauen?
Das wäre mega -
Alles Gute nachträglich zum Geburtstag
-
Ach so okay, dachte schon
-
Habe ich da was verpasst gehabt? 😂 Oder war das nicht öffentlich?