kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: php/mysql login

    geschrieben von spieleweb

    Beispiel

    Datei: login.php
    <?php 
    // ------------------------------------------------- 
    
    session_start(); 
    
    // ------------------------------------------------- 
    ?>
    <html>
    <head>
    <title>Login Test</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    
    <body bgcolor="#FFFFFF" text="#000000">
    
    <?php 
    // ------------------------------------------------- 
    
    if (!empty($_POST['uname'])) { $login_uname = trim($_POST['uname']); } else { $login_uname = ''; } 
    
    if (!empty($_POST['upass'])) { $login_upass = trim($_POST['upass']); } else { $login_upass = ''; } 
    
    // ------------------------------------------------- 
    
    if (!empty($login_uname) && !empty($login_upass)) { 
    
    
    // ------------------------------------------------- 
    
    $con = mysql_connect("localhost", "BenutzerName" , "DeinPasswort") or die("ERROR ... mysql_connect"); 
    $sel = mysql_select_db("datenbank_name", $con) or die ("ERROR ... mysql_select_db"); 
    
    $login_uname = mysql_real_escape_string($login_uname); 
    $login_upass = mysql_real_escape_string($login_upass); 
    
    $abfrage1 = "SELECT username, passwort FROM login WHERE username='$username' LIMIT 1"; 
    $ergebnis = mysql_query($abfrage1) or die ("ERROR ... mysql_query"); 
    
    $row = mysql_fetch_object($ergebnis); 
    
    // ------------------------------------------------- 
    
    
    $logpass_hash = md5($login_upass); 
    
    if($row->passwort == $logpass_hash) { 
    
    	$_SESSION["username"] = $login_uname; 
    	$_SESSION["loggedin"] = TRUE; 
    	
    	header("Location: userbereich.php"); 
    	
    	## echo "<br> Login erfolgreich. ... <a href=\"userbereich.php\">Gesch&uuml;tzer Bereich</a> \n"; 
    
    } 
    else {  
    
    	echo "<br> Benutzername und/oder Passwort waren falsch. <a href=\"login.php\">Login</a> \n"; 
    	
    } 
    
    
    // ------------------------------------------------- 
    
    }
    else { 
    
    // ------------------------------------------------- 
    ?>
    
    <br>
    <br>
    <br>
    
    <form name="formular1" method="post" action="login.php">
      Username: <input type="text" name="uname" size="30" maxlength="100"> <br>
      Passwort: <input type="password" name="upass" size="30" maxlength="100"> <br>
      OK:&nbsp; <input type="submit" name="run" value="Login">
    </form>
    
    <br>
    <br>
    <br>
    
    <?php
    // ------------------------------------------------- 
    
    } 
    
    // ------------------------------------------------- 
    ?>
    
    </body>
    </html>



    beachte .. wenn Du das Passwort bein Erstellen als md5() Hash gespeichert hast,
    dann musst Du nach dem Login auch das User-Passwort als md5() Hash prüfen

    siehe:
    ...
    
    $logpass_hash = md5($login_upass); 
    
    if($row->passwort == $logpass_hash) { 
    
    ...


    wichtig ... beim Neu Erstellen (in DB speichern) solltest Du User-Eingaben
    auch (immer) mit mysql_real_escape_string() behandeln, ,zur Sicherheit !!!

    PS: ich habe in diesem Beispiel die Ziel-Seite nach erfolgreichem Login
    nicht "geheim.php" sondern "userbereich.php" genannt

  • in: Ländererkennung geht nicht

    geschrieben von spieleweb

    such mal nicht dem genauen String, sondern ob ein Teil-String vorkommt

    Beachte, viele Browser haben da auch beide Sprachen drin (de und en)

    mein Wert von $_SERVER['HTTP_ACCEPT_LANGUAGE'] ist:
    de-de,de;q=0.8,en-us;q=0.5,en;q=0.3


    Wenn Du nur 2 Sprachen hast,
    also entweder Deutsch oder (alles andere) Englisch, dann in Etwa so

    <?php 
    
    $user_lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
    
    if (stripos($user_lang, 'de') !== false) { $run_site = 'index_ger.html'; } 
    else { $run_site = 'index_eng.html'; } 
    
    header ('Location: '.$run_site);
    
    ?>


    stripos() - Findet das erste Vorkommen eines Strings,
    (unabhängig von Groß- und Kleinschreibung)

    Gibt die Position als Integer zurück. (kann auch Position 0 sein)
    Wenn needle nicht gefunden wird, dann den boolean-Wert FALSE

    ob Du jetzt nach 'de' oder nach 'de-de' sucht bleibt Dir überlassen
    dann kommt der User, der diesen Teilstring im User-Agent hat zur deutsche Seite

    Edit:
    oder die IP-Adresse des Besuchers für Ermittlung der Geo-Location nutzen
    z.B. ... http://freegeoip.net ... oder http://www.utrace.de/api.php ... oder andere
    (beachte, viele nicht kostenlos, andere haben Limits)

Login zum Webhosting ohne Werbung!