Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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, 4817 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 (7)

Frage von Yanmai zum Thema PHP ...

Datenbanken
Skript - Oracle Datenbank (1)

Frage von tweety2007 zum Thema Datenbanken ...

Python
gelöst PHP Skript via Python starten mit JSON Objekt als Parameter (3)

Frage von nullacht15 zum Thema Python ...

PHP
PHP soll Datensätze in der Datenbank überprüfen (2)

Frage von Yanmai zum Thema PHP ...

Neue Wissensbeiträge
Humor (lol)

Wo ist der Fehler auf dem Bild?

(16)

Information von the-buccaneer zum Thema Humor (lol) ...

Windows Update

Offenbar erneutes MS-Update mit Fehlerschleife (2012 R2)

Information von VGem-e zum Thema Windows Update ...

Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Heiß diskutierte Inhalte
Lizenzierung
Programm soll in verschiedenen Versionen lizenziert sein (20)

Frage von Yanmai zum Thema Lizenzierung ...

Humor (lol)
Wo ist der Fehler auf dem Bild? (15)

Information von the-buccaneer zum Thema Humor (lol) ...

Windows Installation
Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen (14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...