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

Frage Entwicklung PHP

Mitglied: Phoboz

Phoboz (Level 1) - Jetzt verbinden

05.11.2013, aktualisiert 08:11 Uhr, 4834 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
Erkennung und -Abwehr

Necur-Botnet soll Erpressungstrojaner Scarab massenhaft verbreiten

Information von BassFishFox vor 6 StundenErkennung und -Abwehr

12,5 Millionen Spam-Mails aus einem Bot-Netz mit 6 Millionen Computern? Eigentlich eine schwache Leistung. Die Erpresser setzen dabei auf ...

Microsoft

Nadeldrucker-Problem unter Windows - Microsoft liefert Updates

Information von BassFishFox vor 6 StundenMicrosoft

Hat ja nicht lange gedauert. Nachdem die November-Updates für Windows 7, 8.1 und 10 zahlreiche Nadeldrucker lahmgelegt hatten, stellt ...

Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 14 StundenLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Heiß diskutierte Inhalte
Windows Server
Kann man im KMS nachschauen , wieviele Clients den Key in Anspruch genommen haben
gelöst Frage von rainergugusWindows Server15 Kommentare

Hallo, wir haben einen KMS Windows 10 Key. Dieser ist ja W7 kompatibel. Aber unser Windows 7 Pool registriert ...

Linux
Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde
Information von FrankLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing14 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...