Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 4668 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 ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Windows Netzwerk
gelöst Netzwerkdrucker nach Printservertausch im Login Skript ändern. (7)

Frage von steveauskiel zum Thema Windows Netzwerk ...

Apache Server
gelöst Ubuntu Server - PHP lädt keine mysql extension (6)

Frage von harald.schmidt zum Thema Apache Server ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...