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, 4965 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
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 ...

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 ...

Datenbanken
Skript - Oracle Datenbank
Frage von tweety2007Datenbanken1 Kommentar

Hallo Zusammen, ich möchte mit Veeam einen Server mit einer Oracle-Datenbank sichern, leider erhalte ich von dem Software-Anbieter des ...

PHP

Daten via PHP aus mysql Datenbank auslesen und löschen

gelöst Frage von KyrinjaPHP5 Kommentare

Guten Morgen liebe Leute, ich verzweifle! Ich versuche Daten aus einer DB auszulesen und hinter den Daten einen Löschenbutton ...

Neue Wissensbeiträge
Windows 10

Windows 10 - Programme laufen schneller, wenn Sie mit Administratorrechten ausgeführt werden

Erfahrungsbericht von 1Werner1 vor 21 StundenWindows 107 Kommentare

Moin, das wollte ich erst nicht glauben, aber es ist so. Wenn Ihr ein Programm mit Administratorrechten unter Windows ...

Sicherheits-Tools
Putty hat heftige Bugs korrigiert!
Information von Lochkartenstanzer vor 1 TagSicherheits-Tools5 Kommentare

Moin, Wie man aus herauslesen kann, sind in den Versionen vor 0.71 gravierende Bugs, die es angeraten erscheinen lassen, ...

Off Topic
Sachen die die Welt nicht braucht - Platz 1
Tipp von brammer vor 4 TagenOff Topic21 Kommentare

Hallo, ich habs als Tipp angelegt als Erfahrungsbericht nein Danke brammer

Humor (lol)
Spirit of Health-Kongress in Berlin
Information von AnkhMorpork vor 5 TagenHumor (lol)6 Kommentare

tgif! Beim dritten Spirit of Health-Kongress trafen sich am Wochenende Alternativmediziner und Naturheilkundler im Maritim Hotel Berlin, um sich ...

Heiß diskutierte Inhalte
Hardware
Telefonanlagen - Welche gibt es
Frage von Xaero1982Hardware25 Kommentare

Nabend Zusammen, ich suche eine neue TK Anlage und mein Auftraggeber will jetzt was völlig neues - State of ...

Windows Server
Eingeschränkte Gruppen - Spezielle Benutzergruppe hinzufügen
Frage von killtecWindows Server17 Kommentare

Hallo, ich möchte gerne folgendes Realisieren: Ich habe bei mir Eingeschränkte Gruppen via GPO aktiv und möchte nun der ...

Microsoft Office
Videodateien auf Windows Server 2008 R2 öffnen schlägt fehl
Frage von SchroediMicrosoft Office16 Kommentare

Hallo zusammen, wir haben das Problem das embedded Videos in PowerPoint (O365) auf unserer Citrix Farm (6.5) nicht abgespielt ...

LAN, WAN, Wireless
Intel(R) PRO Wireless 3945ABG
gelöst Frage von Leon509LAN, WAN, Wireless15 Kommentare

Hallo, habe ein Laptop Fujitsu (Intel, 4GB, 2GHz, Windos10, Intel(R) PRO/Wireless 3945ABG ) ein O2 DSL Anschluss Home50. Leider ...