Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Php-Login Skript mit mySQL-Datenbank. Fehlermeldungen

Mitglied: Phoboz

Phoboz (Level 1) - Jetzt verbinden

05.11.2013, aktualisiert 08:11 Uhr, 4863 Aufrufe, 4 Kommentare

Hallo,

habe ein loginskript und ein loginformular erstellt, bekomme allerdings ein Fehler den ich mit meinem wissen nicht lösen kann.

Hier das Formular:

01.
### login-formular.html 
02.
 
03.
<form method="POST" action="login.php"> 
04.
Ihr Username: <input name="username"><br> 
05.
Ihr Passwort: <input name="passwort" type=password><br> 
06.
<input type=submit name=submit value="Einloggen"> 
07.
</form>
Hier das Login-Skript:

01.
###  login.php: 
02.
 
03.
<?php 
04.
 $_db_host = "localhost";            
05.
    $_db_datenbank = "datenbankname"; 
06.
    $_db_username = "mysql-username"; 
07.
    $_db_passwort = "mysql-passwort"; 
08.
 
09.
    SESSION_START(); 
10.
 
11.
    # Datenbankverbindung herstellen 
12.
    $link = mysql_connect($_db_host, $_db_username, $_db_passwort); 
13.
 
14.
    # Hat die Verbindung geklappt ? 
15.
    if (!$link) 
16.
17.
        die("Keine Datenbankverbindung möglich: " . mysql_error()); 
18.
19.
 
20.
    # Verbindung zur richtigen Datenbank herstellen 
21.
    $datenbank = mysql_select_db($_db_datenbank, $link); 
22.
 
23.
    if (!$datenbank) 
24.
25.
        echo "Kann die Datenbank nicht benutzen: " . mysql_error(); 
26.
        mysql_close($link);        # Datenbank schliessen 
27.
        exit;                    # Programm beenden ! 
28.
29.
 
30.
 
31.
    # Ist die $_POST Variable submit nicht leer ??? 
32.
    # dann wurden Logindaten eingegeben! 
33.
    if (!empty($_POST["submit"])) 
34.
35.
                $_username = mysql_real_escape_string($_POST["username"]); 
36.
        $_passwort = mysql_real_escape_string($_POST["passwort"]); 
37.
 
38.
        # Befehl für die MySQL Datenbank 
39.
        $_sql = "SELECT * FROM login_usernamen WHERE 
40.
                    username='$_username' AND 
41.
                    passwort='$_passwort' AND 
42.
                    user_geloescht=0 
43.
                LIMIT 1"; 
44.
 
45.
        # Prüfen, ob der User in der Datenbank existiert ! 
46.
        $_res = mysql_query($_sql, $link); 
47.
        $_anzahl = @mysql_num_rows($_res); 
48.
 
49.
        # Die Anzahl der gefundenen Einträge überprüfen. Maximal 
50.
        # wird 1 Eintrag rausgefiltert (LIMIT 1). Wenn 0 Einträge 
51.
        # gefunden wurden, dann gibt es keinen Usereintrag, der 
52.
        # gültig ist. Keinen wo der Username und das Passwort stimmt 
53.
        # und user_geloescht auch gleich 0 ist ! 
54.
        if ($_anzahl > 0) 
55.
56.
            echo "Der Login war erfolgreich.<br>"; 
57.
 
58.
            # In der Session merken, dass der User eingeloggt ist ! 
59.
            $_SESSION["login"] = 1; 
60.
 
61.
            # Den Eintrag vom User in der Session speichern ! 
62.
            $_SESSION["user"] = mysql_fetch_array($_res, MYSQL_ASSOC); 
63.
 
64.
            # Das Einlogdatum in der Tabelle setzen ! 
65.
            $_sql = "UPDATE login_usernamen SET letzter_login=NOW() 
66.
                     WHERE id=".$_SESSION["user"]["id"]; 
67.
            mysql_query($_sql); 
68.
69.
        else 
70.
71.
            echo "Die Logindaten sind nicht korrekt.<br>"; 
72.
73.
74.
 
75.
    # Ist der User eingeloggt ??? 
76.
    if ($_SESSION["login"] == 0) 
77.
78.
         
79.
        # schliessen und das Programm beenden 
80.
        include("login-formular.html"); 
81.
        mysql_close($link); 
82.
        exit; 
83.
84.
 
85.
    echo "Hallo, Sie sind erfolgreich eingeloggt !<br>"; 
86.
 
87.
    # Datenbank wieder schliessen 
88.
    mysql_close($link); 
89.
?>

Folgenden Fehler erhalte ich nach dem ich im Formular die Anmeldedaten eingeben habe:

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead

Der Login war allerdings erfolgreich! Wenn ich nun das mysql_connect() in mysqli_connect() umbenne erhalte ich folgende Fehlermeldungen:

Warning: mysql_select_db() expects parameter 2 to be resource, object given
Warning: mysql_close() expects parameter 1 to be resource, object given

Bitte um Hilfe

Grüße

Phoboz
Mitglied: bytecounter
05.11.2013 um 07:52 Uhr
Hallo,

das steht doch da:
01.
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead on line 10
Die Funktion ist überholt und wird in einer der nächsten Versionen aus PHP entfernt. Stattdessen soll man mysqli oder PDO nutzen. Mit Google wärst Du auch auf folgende Seite gestoßen:
http://us1.php.net/manual/en/function.mysql-connect.php

Im Gesamten hoffe ich doch, dass es sich hier um ein Lern- und nicht im ein Script handelt, welches in Produktivumgebungen zum Einsatz kommt...

vg
Bytecounter
Bitte warten ..
Mitglied: Phoboz
05.11.2013 um 08:09 Uhr
Hi,

bitte weiterlesen, wenn ich das änder kommen zwei andere Fehlermeldungen.

oder meinst du ich soll überall wo mysql steht mysqli einsetzen?
Bitte warten ..
Mitglied: SlainteMhath
05.11.2013 um 08:22 Uhr
Moin,

vielleicht solltest du einen Blick in die PHP Doku werfen, dann würdest du sehen das die mysqli_ Funktionen anders funktionieren als die alten mylsql_
01.
$link = mysqli_connect("myhost","myuser","mypassw","mybd") or die("Error " . mysqli_error($link)); 
02.
 
03.
//consultation: 
04.
$query = "SELECT name FROM mytable" or die("Error in the consult.." . mysqli_error($link)); 
05.
 
06.
//execute the query. 
07.
$result = $link->query($query); 
08.
 
09.
//display information: 
10.
while($row = mysqli_fecth_array($result)) { 
11.
....
lg,
Slainte
Bitte warten ..
Mitglied: nxclass
05.11.2013 um 11:53 Uhr
... oder schau dir lieber gleich PDO an. http://php.net/manual/en/book.pdo.php
Bitte warten ..
Ähnliche Inhalte
Datenbanken
Login Probleme in mysql Datenbank
gelöst Frage von bigbootykillaDatenbanken2 Kommentare

Hi, ich habe hier eine Datenbank auf einer Ubuntu Kiste. Wenn ich mich versuche mit Code: einzuloggen bekomme ich ...

PHP
PHP MySQL Login
Frage von YanmaiPHP7 Kommentare

Hallo ihr Administratoren, ich habe eine Datenbank, in der alle User des Netzwerkes enthalten sind. Wenn ein User sich ...

PHP
MYSQL und PHP Login Script
gelöst Frage von GoldencreeperPHP17 Kommentare

Hallo liebe Administrator Community. Ich habe Arbeite grade an einer Status Seite für einen Hoster. Die Seite ist auch ...

PHP
PHP MySQL Abfrage aus Datenbank
Frage von Lost144PHP12 Kommentare

Hallo, Ich habe in einer Datenbank daten über VM's stehen. Angaben wie hostname,adresse, serverat usw. Wie kann ich in ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 11 StundenWindows 103 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 13 StundenAdministrator.de Feedback10 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 1 TagHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 1 TagGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware17 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...