Sponsor-Board.de
Session Login funkt. nicht!

+- Sponsor-Board.de (https://www.sponsor-board.de)
+-- Forum: Community (/forumdisplay.php?fid=56)
+--- Forum: Hilfe (/forumdisplay.php?fid=102)
+---- Forum: Scripting (/forumdisplay.php?fid=108)
+---- Thema: Session Login funkt. nicht! (/showthread.php?tid=41774)


Session Login funkt. nicht! - Uwe Wei - 27.08.2013 01:09

Vorne Weg.
Das ist ein Login Script über: 5 Datein!
Das wären:
-admin.php

PHP-Code:
<?php
session_start
();
include 
"inc/session.php";
include 
"config/local_config.php";
?>
... 

-index.php

PHP-Code:
<?php
session_start
();
session_destroy();
$_SESSION = array();
include 
"config/local_config.php";
?>
...
            <form action="login.php" autocomplete="off" method="post">
                <h3>Login</h3>
                <p><input type="text" placeholder="Username" name="username"/></p>
                <p><input type="password" placeholder="Password" name="pw"/></p>
                <p><input type="submit" value="Login"/></p>
            <form>
... 


-login.php

PHP-Code:
<?php
session_start
();
include 
"config/local_config.php";

if(!isset(
$_POST["username"]))
{
    if(
$_POST["username"] == $admin_username && $_POST['pw'] == $admin_passwort)
    {
        
$_SESSION["username"] = $_POST["username"];
    }
}
include 
"inc/session.php";
?>
...
    <?php
        
echo "<p>Hallo " $_SESSION["username"] . "</p>";
     
?>
     <p><a href="admin.php" style="text-decoration: none;">Zum Adminbereich!</a> - <a href="index.php" style="text-decoration: none;">Logout!</a></p> 


-session.php

PHP-Code:
<?php
if(!isset($_SESSION["username"]))
{
    echo 
"<center><div style=\"border-radius: 5px; width: 400px; height: 100px; background-color: #B40000; border: 3px solid black;\"><b>Kein Zugang!</b><br />Inkorrekter Login. Bitte versuche es erneut!<br /><br /><b>Failed login!</b><br />Please try it again!</div></center>";
    exit;
}
?>


-local_config.php

PHP-Code:
<?php
...
// Administrationsänderungen!! Achtung hier befinden sich die Adminlogindaten!!!
$admin_username "admin"// Ändern, dies ist der Benutzername
$admin_passwort "123456"// Ändern, dies ist das Passwort
?>


Nun wenn ich mich mit meinen richtigen DAten einlogge bekomme ich trozdem die meldung aus der session.php! Egal ob richtig oder nicht :/
Weiß einer von euch warum?

Ich wollte nicht zu viel Posten da das mal ein Premium Script für 10€ werden soll desswegen hab ich einiges wegradiert.


RE: Session Login funkt. nicht! - tkausl - 27.08.2013 02:54

PHP-Code:
if(!isset($_POST["username"]))
{
    if(
$_POST["username"] == $admin_username && $_POST['pw'] == $admin_passwort)
    {
        
$_SESSION["username"] = $_POST["username"];
    }

Was soll der mist? Erst prüfst du, ob $_POST["username"] NICHT existiert und dann prüfst du ob die Daten die darin stehen passen. Wo ist da die Logik?


RE: Session Login funkt. nicht! - Uwe Wei - 27.08.2013 10:40

Hier existriert durch die absendung des Formulares $_POST["username"]. Falls alles stimmt wird der aus dem Formular abgeschickte Name in den Session Array übernommen und steht währen der Session zu verfügung. Von einer beliebigen Seite innerhalb oder außerhalb der Website oder duch direckte eingabe im Browser gibt $_POST["username"] und name und passwort werden nicht geprüft. So sollte das eigtl. funkt. und so steht es bei mir in der anleitung.

mfg


RE: Session Login funkt. nicht! - Aaron - 27.08.2013 10:47

da würd aber überprüft ob die der Wert für "username" im $_POST Array nicht vorhanden ist, eigl sollte es ja andersherum sein - nimm das Ausrufezeichen davor weg und lies dir was zu den Operatoren durch


RE: Session Login funkt. nicht! - Uwe Wei - 27.08.2013 10:51

Aaron schrieb:
da würd aber überprüft ob die der Wert für "username" im $_POST Array nicht vorhanden ist, eigl sollte es ja andersherum sein - nimm das Ausrufezeichen davor weg und lies dir was zu den Operatoren durch


wenn ichs so mache:

PHP-Code:
{
$_POST["username"] = $_SESSION["username"];


funkt.?


RE: Session Login funkt. nicht! - Aaron - 27.08.2013 10:53

es geht hierum :

if(!isset($_POST["username"]))

!isset gibt true zurück, wenn ein Wert NICHT vorhanden ist, isset gibt true zurück, wenn ein Wert vorhanden ist


RE: Session Login funkt. nicht! - Uwe Wei - 27.08.2013 10:57

Aaron schrieb:
es geht hierum :

if(!isset($_POST["username"]))

!isset gibt true zurück, wenn ein Wert NICHT vorhanden ist, isset gibt true zurück, wenn ein Wert vorhanden ist


und mit was soll ich das vertauschen?
Danke schomal-!


RE: Session Login funkt. nicht! - Aaron - 27.08.2013 10:57

if(!isset($_POST["username"]))

änders du zu

if(isset($_POST["username"]))

wie halt schon geschrieben ...