Php mysql abfrage
Kann mir jemand Helfen?
Ich mächte diese Daten von meiner Datenbank ausgeben lassen aber es wird nichts angezeigt.
Ich mächte diese Daten von meiner Datenbank ausgeben lassen aber es wird nichts angezeigt.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<?php
$pdo = new PDO('mysql:host=localhost;dbname=users', '******', '*****');
session_start();
if(!isset($_SESSION['userid'])) {
die('Bitte zuerst <a href="login.php">einloggen</a>');
}
//Abfrage der Nutzer ID vom Login
$userid = $_SESSION['userid'];
$username = $_POST['username'];
echo($username);
?>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>Geschuetzter Bereich</title>
</head>
<body>
<br>
<br>
<br>
Sie sind eingeloggt!
</body>
</html>
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 462687
Url: https://administrator.de/forum/php-mysql-abfrage-462687.html
Ausgedruckt am: 26.12.2024 um 13:12 Uhr
4 Kommentare
Neuester Kommentar
session_start();
Grundsätzlich sollte man bei einer weißen Seite immer die Logs aktivieren. Dann siehst du eine Fehlermeldung. Im obigen Falle solltest du irgendwas mit "Cannot send headers/headers already send" erhalten. Auf einem Testsystem kannst du die wie auf SO beschrieben einfach anzeigen lassen. Produktiv ist davon abzuraten, in diesem Falle lieber mit docker logs/kubectl logs auf die Logs des Docker-Containers oder Kubernetes Pods schauen. Falls du noch klassisch auf VMs oder Webspace deployst, kann PHP auch in eine Datei loggen.
Bei einem klassischen Webspace besteht meist kein direkter Zugriff auf den PHP-Server, da muss man dann im Verwaltungspanel schauen. Teils liegen die Logs dort auch eine Ebene über den www/pub_html Ordner. Das variiert stark je nach Anbieter und eingesetzter Software. Falls nichts passendes gefunden wird im Zweifel bei denen im Hilfebereich nachschauen oder den Support kontaktieren.
Den Tipp mit dem "session_start()" am Anfang hast Du schon bekommen.
Weiterhin SEHR wichtig:
Niemals (und wirklich niemals !) die POST Variable als richtig gegeben ansehen:
Das ist (gerade bei direkten Datenbankvebindungen) ein offenes Tor für Angriffe (z.Bsp: SQL Injections).
Diese Angaben immer filtern und validieren (HTML entfernen, Sonderzeichen entfernen, usw. usw.
Bei diesem Probrlm würde ich vorne mit dem Debuggen anfangen:
Werden überhaupt Daten per POST Request übergeben ?
Für mal folgenden Code am Anfang ein:
Wenn Dir jetzt keine Daten angezeigt werden (Username, ...), dann stimmt schon was mit dem Aufruf bzw. der POST Übergabe der Daten nicht. Was wird denn nach diesem Schnipsel angezeigt ?
Weiterhin SEHR wichtig:
Niemals (und wirklich niemals !) die POST Variable als richtig gegeben ansehen:
$username = $_POST['username'];
Das ist (gerade bei direkten Datenbankvebindungen) ein offenes Tor für Angriffe (z.Bsp: SQL Injections).
Diese Angaben immer filtern und validieren (HTML entfernen, Sonderzeichen entfernen, usw. usw.
Bei diesem Probrlm würde ich vorne mit dem Debuggen anfangen:
Werden überhaupt Daten per POST Request übergeben ?
Für mal folgenden Code am Anfang ein:
var_dump($_POST);die();
Wenn Dir jetzt keine Daten angezeigt werden (Username, ...), dann stimmt schon was mit dem Aufruf bzw. der POST Übergabe der Daten nicht. Was wird denn nach diesem Schnipsel angezeigt ?
Man könnte ja auch einfach zuerst die zwei Dinger da über der Nase benutzen anstatt sowas wirklich banales in einem Admin-Forum zu erfragen...
https://www.php-einfach.de/mysql-tutorial/crashkurs-pdo/
https://www.php-einfach.de/mysql-tutorial/crashkurs-pdo/