Login Seite mit Html/Php

Seiten: 1, 2, 3, ... 5, 6, 7 >>
darkworld
Verfasst am: 07.03.2010 um: 12:04 Uhr
 
Cw Insider
Wirths Sammler
CwID: 110977
Beiträge: 225
SPAM:
2% Spam
Ich wollte eine Loginseite mit Sessionbasiertem Login machen, aber irgendwie klappt das nicht!
Meine Seite sieht bisher so aus:
connect.php:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<meta name="author" content="">
<meta name="editor" content="html-editor phase 5">
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<?php 
$dbhost = "db4.cwsurf.de" 
$dbuser = "Dein CWcity nick" 
$dbpass = "Dein DB Passwort" 
$dbname = "Dein DB Name"   
$connect=mysql_connect($dbhost, $dbuser, $dbpass); 
if(!$connect) die("Konnte keien Verbindung herstellen!"); 
mysql_select_db($dbname); 
?> 
</body>
</html>

index.html
<html>
    <head>
        <title></title>
    </head>
    <body>
        <form action="login.html" method="post"> 
        Dein Username:<br/> 
        <input type="text" size="24" maxlength="50" name="username"><br/><br/> 
        Dein Passwort:<br/> 
        <input type="password" size="24" maxlength="50" name="password"><br/> 
        <input type="submit" value="Login"> 
        </form>
    </body>
</html> 


login.html
<html>
<body
<?php 
     session_start(); 
     include("connect.php"); 
  
     if(isset($_POST['username']) AND isset($_POST['password'])) { 
         $username = $_POST["username"]; 
         $passwort = $_POST["password"]; 
  
         if(preg_match('/[<>]/',$username)) { 
         echo 'Eingabe abgelehnt, Eingabe enthält eines der folgenden Zeichen: <>'; 
         exit(); 
         }  
          
         if(preg_match('/[<>]/',$passwort)) { 
         echo 'Eingabe abgelehnt, Eingabe enthält eines der folgenden Zeichen: <>'; 
         exit(); 
         }  
          
         $passwort=md5($passwort); 
          
         $abfrage = "SELECT 
           & nbsp;              Nickname, 
           & nbsp;              Passwort 
           & nbsp;         FROM 
           & nbsp;              user 
           & nbsp;         WHERE 
           & nbsp;              Nickname = '".$username."' 
           & nbsp;              AND 
           & nbsp;              Passwort = '".$passwort."'"; 
         $ergebnis = mysql_query($abfrage) OR die(mysql_error()); 
         $row = mysql_num_rows($ergebnis); 
  
         if($row == 1) { 
           & nbsp; $_SESSION["username"] = $username; 
           & nbsp; ?> 
         <html>    
         <head> 
            <meta http-equiv="refresh" content="0; URL=geheim.php">  
         </head>    
         </html>    
           & nbsp; <?php 
        } else { 
           & nbsp; echo "Benutzername und/oder Passwort waren falsch. <a href=\"index.html?seite=login\">Login</a>";&n bsp;
         } 
     } 
 ?>
</body>
</html>


geheim.php
<html>
<body>
 <?php 
 session_start(); 
  
 if(!isset($_SESSION["username"])) 
   { 
    echo "Bitte erst <a href=\"index.html?seite=login\">einloggen</a>" ;; 
    exit; 
    }  
 ?>
</body>
</html> 

Was ist daran falsch???
Was schreibe ich in die Datenbank?
Wie schreibe ich etwas in die Datenbank?


Mit freundlichen Grüßen darkworld.

-------------------------------------------------
Besucht doch mal

darkworld.cwsurf.de




Letzte Änderung am: 07.03.2010 um:12:20 Uhr durch: darkworld
 

Werbung
 
 

sebel
Verfasst am: 07.03.2010 um: 12:37 Uhr
 
Dr. CwCity.de
Community God
CwID: 88163
Beiträge: 3575
SPAM:
0% Spam

$dbhost = "db4.cwsurf.de" 
$dbuser = "Dein CWcity nick" 
$dbpass = "Dein DB Passwort" 
$dbname = "Dein DB Name"   

Die Daten müssen ersetzt werden durch die Datenabnk-Zugangsdaten. Du findest sie in der Webspace-Verwaltung: http://www.cwcity.de/webspace

Du solltest dich an die Anweisungen, die im Tutorial stehen halten.


MfG
Sebel
Sebastian Günther Homepage

Letzte Änderung am: 07.03.2010 um: 12:40 Uhr durch: sebel
 


knre
Verfasst am: 07.03.2010 um: 12:45 Uhr
 
Cw Aufsteiger
Aufsteiger
CwID: 102679
Beiträge: 49
SPAM:
0% Spam

Huhu,

wieso verbietest du < und > im Passwort und Benutzernamen? Wenn der einzige Grund der ist, dass du unterbinden möchtest, dass Tags verwendet werden können, dann würde ich die Abfrage durch nen htmlspecialchars laufen lassen.
Außerdem ist es sinnvoll, wenn du alle Usereingaben durch nen mysql_escape_string laufen lässt - sonst werden Zeichen wie ' oder ; möglicherweise Schaden in der Datenbank anrichten. Das Passwort würde ich direkt mit md5 verschlüsseln, dann kann davon nichts mehr ausgeführt werden. Allerdings würde ich nur Passwörter mit einer Mindeslänge akzeptieren, aber darum geht es dir ja nicht ;)

Geht es um ein Login? Dann musst du nichts in die Datenbank schreiben...
$sql = mysql_query("SELECT * FROM userdatenbank WHERE username = '$username'");
(falls du ne Fehlerausgabe haben möchtest: echo mysql_error(); )
$row = mysql_fetch_object($sql);

Ansonsten schau mal auf http://aktuell.de.selfhtml.org/artikel/php/loginsystem/, dort ist eigentlich alles gut und ausführlich erklärt. Ansonsten frag hier wieder :)


 


darkworld
Verfasst am: 07.03.2010 um: 14:43 Uhr
 
Cw Insider
Wirths Sammler
CwID: 110977
Beiträge: 225
SPAM:
2% Spam
Ich wollte nur noch einmal fragen, wie dann eine Registrierungs-Seite aussehen müsste.


Wenn ich mich versuche einzuloggen, kommt eine Fehlermeldung:
Parse error: syntax error, unexpected T_VARIABLE in /home/www/cwcity/hosting/d/a/darkworld/htdocs/login/connect.php on line 11
Was ist daran falsch??

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<meta name="author" content="">
<meta name="editor" content="html-editor phase 5">
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<?php 
$dbhost = "db4.cwsurf.de" 
$dbuser = "darkworld" 
$dbpass = "Dein DB Passwort" 
$dbname = "Dein DB Name"   
$connect=mysql_connect($dbhost, $dbuser, $dbpass); 
if(!$connect) die("Konnte keien Verbindung herstellen!"); 
mysql_select_db($dbname); 
?> 
</body>


Mit freundlichen Grüßen darkworld.

-------------------------------------------------
Besucht doch mal

darkworld.cwsurf.de




Letzte Änderung am: 07.03.2010 um: 14:50 Uhr durch: darkworld
 


rcx
Verfasst am: 07.03.2010 um: 15:02 Uhr
 
Cw Aufsteiger
Aufsteiger
CwID: 51661
Beiträge: 56
SPAM:
0% Spam
nicht auf die ; vergessen.

$dbhost = "db4.cwsurf.de";
$dbuser = "darkworld";
$dbpass = "Dein DB Passwort"; 
$dbname = "Dein DB Name";


mfg RCX



---------------------------------------------------------------------- -----------------------------
Spam ist nicht gleich Spam, man muss unterscheiden zwischen Gutem und Schlechtem
 


Freggle
Verfasst am: 07.03.2010 um: 15:04 Uhr
 
Cw Supporter
Cw Supporter
CwID: 11653
Beiträge: 8685
SPAM:
0% Spam
Es fehlt das Semikolon am Ende der lieblos eingefügten Zeilen.

Ein bisschen mehr mit den Grundlagen von PHP wirst du dich wohl beschäftigen müssen.

 


darkworld
Verfasst am: 07.03.2010 um: 15:13 Uhr
 
Cw Insider
Wirths Sammler
CwID: 110977
Beiträge: 225
SPAM:
2% Spam

Wenn ich jetzt etwas in das Formular eingebe zeigt er mir an:
Table 'darkworld.user' doesn't exist
Wie kann man das ändern??


Mit freundlichen Grüßen darkworld.

-------------------------------------------------
Besucht doch mal

darkworld.cwsurf.de


 


Freggle
Verfasst am: 07.03.2010 um: 15:18 Uhr
 
Cw Supporter
Cw Supporter
CwID: 11653
Beiträge: 8685
SPAM:
0% Spam
Log dich im phpmyadmin ein und lege die Tabelle "user" mit den entsprechenden Feldern an und fülle sie mit Benutzernamen und md5 Passwörtern.

 


darkworld
Verfasst am: 07.03.2010 um: 15:42 Uhr
 
Cw Insider
Wirths Sammler
CwID: 110977
Beiträge: 225
SPAM:
2% Spam

Kann man das nicht auch per Registrierung machen?
Wie sieht das dann aus?
Kann mir einer verraten, wie dann eine Zeile in der Tabelle auszusehen hat??
Bild



Mit freundlichen Grüßen darkworld.

-------------------------------------------------
Besucht doch mal

darkworld.cwsurf.de




Letzte Änderung am: 07.03.2010 um: 16:14 Uhr durch: darkworld
 


rcx
Verfasst am: 07.03.2010 um: 16:14 Uhr
 
Cw Aufsteiger
Aufsteiger
CwID: 51661
Beiträge: 56
SPAM:
0% Spam

am besten machst du, wie oben erwähnt eine tabelle 'user'
mit den spalten 'username'  und 'passwort'.
Dann machst du 2 Textfelder(username und passwort). Nach dem abschicken wird dann in die db eingetragen

$passwort = md5(PASSWORT VOM TEXTFELD);
$eintrag = "INSERT INTO user (username, passwort) VALUES ('USERNAME VOM TEXTFELD','$passwort')";
$eintragen = mysql_query($eintrag);

die zeile in der db sieht dann so aus
username    passwort
test           &nb sp; md5Hash
test2              md5Hash


---------------------------------------------------------------------- -----------------------------
Spam ist nicht gleich Spam, man muss unterscheiden zwischen Gutem und Schlechtem

Letzte Änderung am: 07.03.2010 um: 16:16 Uhr durch: rcx
 

 
Seiten: 1, 2, 3, ... 5, 6, 7 >>

ANZEIGE