`` `php
Php
// Datenbankanmeldeinformationen
$ servername ="your_server_name";
$ userername ="your_username";
$ password ="your_password";
$ dbname ="your_database_name";
// eine Verbindung zur Datenbank herstellen
$ conn =new PDO ("SQLSRV:Server =$ ServerName; Datenbank =$ dbname", $ userername, $ password);
// Überprüfen Sie, ob der Benutzer angemeldet ist
if (isset ($ _ post ['userername']) &&isset ($ _ post ['Passwort'])) {
$ userername =$ _post ['userername'];
$ password =$ _post ['Passwort'];
// Die Datenbank für den Benutzer abfragen
$ sql ="Select * von Benutzern wobei Benutzername =:Benutzername";
$ stmt =$ conn-> prepe ($ sql);
$ stmt-> bindparam (':userername', $ userername);
$ stmt-> execute ();
// Überprüfen Sie, ob der Benutzer existiert
if ($ stmt-> rowCount ()> 0) {
$ user =$ stmt-> fetch (pdo ::fetch_assoc);
// Überprüfen Sie das Passwort
if (password_verify ($ password, $ user ['password'])) {
// Benutzer wird authentifiziert
Session_Start ();
$ _Session ['user_id'] =$ user ['id'];
// Die ZIP -Datei herunterladen
Header ('Inhaltstyp:Anwendung/ZIP');
Header ('Inhaltsdisposition:Anhang; Dateiname ="download.zip"');
ReadFile ('Pfad/to/Your/download.zip');
Ausfahrt;
} anders {
// ungültiges Passwort
echo "Ungültiger Benutzername oder Passwort";
}
} anders {
// Benutzer nicht gefunden
echo "Ungültiger Benutzername oder Passwort";
}
} anders {
// Anmeldeformular anzeigen
?>
Php
}
?>
`` `
Erläuterung:
1. Datenbankanmeldeinformationen: Definieren Sie die Datenbankverbindungsinformationen (Server, Benutzername, Kennwort und Datenbankname).
2. Verbindung zur Datenbank herstellen: Stellen Sie eine Verbindung zur MSSQL -Datenbank mit PDO her.
3. Anmeldeformular Handhabung:
- Überprüfen Sie, ob der Benutzername und das Passwort eingereicht werden.
- Abfragen Sie die Datenbank, um den Benutzer mit dem angegebenen Benutzernamen zu finden.
- Wenn der Benutzer vorhanden ist, überprüfen Sie das Kennwort mit `password_verify ()`.
4. Authentifizierung und Sitzung:
- Wenn das Passwort korrekt ist, starten Sie eine Sitzung und speichern Sie die ID des Benutzers.
5. ZIP -Datei herunterladen:
- Legen Sie die entsprechenden HTTP -Header fest, um den Dateityp anzugeben und die Eingabeaufforderung herunterzuladen.
- Verwenden Sie `ReadFile ()`, um den ZIP -Dateiinhalt an den Browser zu senden.
6. Anmeldeformular:
- Wenn der Benutzer nicht angemeldet ist, zeigen Sie das Anmeldeformular mit Feldern für Benutzername und Kennwort an.
Wichtige Hinweise:
- Ersetzen Sie die Platzhalter im Code durch Ihre tatsächlichen Datenbank -Anmeldeinformationen, Dateipfad und alle anderen erforderlichen Informationen.
- Stellen Sie sicher, dass Sie die Erweiterung `pdo_sqlsrv` in Ihrer PHP -Konfiguration aktivieren lassen.
- Hash Die Benutzerkennwörter mit einer starken Hashing -Funktion wie `password_hash ()`, bevor sie in der Datenbank gespeichert werden.
- Implementieren Sie die ordnungsgemäße Fehlerbehebung und Sicherheitsmaßnahmen, um Ihre Anwendung zu schützen.
Dieser Code bietet eine grundlegende Struktur für die Behandlung von Anmeldungen und das Herunterladen einer ZIP -Datei. Möglicherweise müssen Sie es weiter an Ihren spezifischen Anforderungen entsprechen.