Dynamische Webseiten mit PHP und MySQL Prinzip: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Die Seite wurde neu angelegt: „= Dynamische Webseiten mit PHP und MySQL – Prinzip = == Einführung == * Dynamische Webseiten generieren Inhalte zur Laufzeit, abhängig von Benutzereingabe…“) |
(kein Unterschied)
|
Aktuelle Version vom 15. März 2025, 10:15 Uhr
Dynamische Webseiten mit PHP und MySQL – Prinzip
Einführung
- Dynamische Webseiten generieren Inhalte zur Laufzeit, abhängig von Benutzereingaben oder Datenbankinformationen.
- PHP als serverseitige Skriptsprache verarbeitet Anfragen und interagiert mit einer MySQL/MariaDB-Datenbank.
- Im Gegensatz zu statischen HTML-Seiten können Inhalte aktualisiert, gefiltert und personalisiert werden.
Architektur einer dynamischen Webseite
- Ein typischer Aufbau besteht aus drei Hauptkomponenten:
- Client – Webbrowser sendet Anfragen an den Server.
- Webserver – Nginx oder Apache verarbeitet PHP-Skripte.
- Datenbank – MySQL/MariaDB speichert und liefert Inhalte.
- Ablauf einer Anfrage:
- Nutzer ruft eine URL auf → Anfrage wird an den Webserver gesendet.
- Webserver führt das PHP-Skript aus → PHP verarbeitet Eingaben.
- PHP stellt eine Verbindung zur MySQL-Datenbank her und holt Daten.
- PHP generiert HTML-Code basierend auf den Datenbankinhalten.
- Der HTML-Code wird an den Browser gesendet und angezeigt.
PHP mit MySQL verbinden
- Verbindung zur Datenbank herstellen:
<?php
$servername = "localhost";
$username = "root";
$password = "passwort";
$dbname = "meinedatenbank";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Verbindung fehlgeschlagen: " . $conn->connect_error);
}
echo "Erfolgreich verbunden";
?>
Datenbankabfragen mit PHP
- Daten in die Datenbank einfügen:
<?php
$sql = "INSERT INTO nutzer (name, email) VALUES ('Max', 'max@example.com')";
if ($conn->query($sql) === TRUE) {
echo "Neuer Datensatz erfolgreich hinzugefügt";
} else {
echo "Fehler: " . $conn->error;
}
?>
- Daten aus der Datenbank abrufen:
<?php
$sql = "SELECT id, name, email FROM nutzer";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "ID: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"] . "<br>";
}
} else {
echo "Keine Ergebnisse";
}
?>
Formulare und Benutzereingaben
- PHP ermöglicht Interaktion durch Formulare.
<form method="post" action="verarbeitung.php">
Name: <input type="text" name="name"><br>
Email: <input type="email" name="email"><br>
<input type="submit" value="Absenden">
</form>
- Verarbeiten der Eingaben in PHP:
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST["name"];
$email = $_POST["email"];
$sql = "INSERT INTO nutzer (name, email) VALUES ('$name', '$email')";
if ($conn->query($sql) === TRUE) {
echo "Daten erfolgreich gespeichert";
} else {
echo "Fehler: " . $conn->error;
}
}
?>
Sicherheitsaspekte
- SQL-Injections verhindern:
<?php
$stmt = $conn->prepare("INSERT INTO nutzer (name, email) VALUES (?, ?)");
$stmt->bind_param("ss", $name, $email);
$stmt->execute();
?>
- Cross-Site Scripting (XSS) vermeiden:
<?php echo htmlspecialchars($row["name"]); ?>
Fazit
- Dynamische Webseiten ermöglichen interaktive und datenbankgestützte Anwendungen.
- PHP verarbeitet Benutzeranfragen und stellt Daten aus MySQL bereit.
- Sicherheitsmaßnahmen wie Prepared Statements und Validierungen sind essenziell.
- Durch Kombination mit CSS und JavaScript können erweiterte Funktionen umgesetzt werden.