login mit weiterleitung ohne einbidung anderer Dateien

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • login mit weiterleitung ohne einbidung anderer Dateien

    Hallo zusammen,
    ich habe folgendes Problem. Ich habe ein Login-Skript (über eine Datenbank) und möchte nach erfolgreichem Login, dass das alles was auf der Seite, also auch das Login-Formular verschwindet und dafür zB. sowas wie Herzlich Willkommen da steht. Ich möchte aber alles in einem Skript schreiben, also keine weiteren Dateien einbinden.

    Im zweiten Fall soll das alles mit sessions funktionieren und eine logout funktion enthalten.

    Meine Login-Abfrage sieht bisher so aus:

    <?php


    $objConnection = new mysqli("localhost", "root");
    $objConnection->select_db("meineDB");

    if(isset($_POST['myusername'])) $myusername = $_POST['myusername']; else $myusername="";
    if(isset($_POST['mypassword'])) $mypassword = $_POST['mypassword']; else $mypassword="";

    $abfrage = "SELECT Benutzername FROM meineWebseite WHERE Benutzername='$myusername' and Passwort='$mypassword'";

    $objResult = $objConnection->query($abfrage);

    if ($rows = $objResult->fetch_assoc()){
    echo "Herzlich Willkommen.";
    }
    elseif ($myusername=="")
    {
    echo "";
    }
    else
    {
    echo "Die Logindaten sind nicht korrekt.";
    }

    $objConnection->close();

    ?>

    Wie kann ich zuerst die andere Ansicht einbauen? Und wie baue die sessions mit ein, bisher haben alle Versuche gescheitert, es hat sich in der Ausgabe nichts getan. Hab also alles gelöscht, um noch mal neu anzufangen. Es wäre schön, wenn ihr mir helfen könntet.

    LG

  • #2
    PHP-Code:
    if ($uers_is_logged_in) {
        
    show_welcome_page();
    } else {
        
    show_login_form();

    Und du solltest Werte, die du in SQL-Abfragen einfügst, unbedingt escapen. Außer du möchtest eine Sicherheitslücke groß wie ein Scheunentor bauen.
    Zuletzt geändert von h3ll; 07.07.2015, 22:09.

    Kommentar


    • #3
      hey, erst mal danke für die schnelle Antwort. Allerdings verstehe ich sie nicht ganz.
      also bei mir würde statt $user_is_logged_in das hier stehen: $rows = $objResult->fetch_assoc())

      aber wie wende ich show_welcome_page und show_login_form an?

      hab versucht den Namen meines Formulars (form1) da einzugeben, aber das ist ein FATAL ERROR

      muss also die variablen richtig definieren, muss dafür aber erst den Teil verstehen.

      Kommentar


      • #4
        Guten Tag,

        bitte benutze zur besseren Übersicht in Zukunft einfach den Code Tag.
        Versuch es mal hiermit. Es soll nur eine Hilfestellung sein. SOlltest du noch Fragen haben .. dann stelle diese bitte.

        PHP-Code:
        <?php

        function show_welcome_page {
            print 
        "Wilkommen" $row['Benutzername'];
        }
        function 
        show_login_form {
            print 
        'Input Benutzernamen';
            print 
        'Input Password';
            print 
        'Submit';
        }

        $objConnection = new mysqli("localhost""root");
        $objConnection->select_db("meineDB");

        if(isset(
        $_POST['myusername'])) $myusername $_POST['myusername']; else $myusername="";
        if(isset(
        $_POST['mypassword'])) $mypassword $_POST['mypassword']; else $mypassword="";

        $abfrage "SELECT Benutzername FROM meineWebseite WHERE Benutzername='  " mysql_real_escape_string($myusername) . "  ' and Passwort=' " mysql_real_escape_string($mypassword) . " ' ";

        $objResult $objConnection->query($abfrage);

        if (
        $rows $objResult->fetch_assoc()) {
            
            
        show_welcome_page();
            
        } else {
            
            
        show_login_form();
            
        }  

        $objConnection->close();

        ?>
        Bitte nimm dir auch mal diese Seite zu herzen ( http://www.php-lernen.org/php-mysql-...pe_string.html )
        Zuletzt geändert von h4zebust3r90; 20.09.2015, 14:09.
        maralex.one Webentwicklung
        ICQ:
        661-692-761 | mail: info[aet]maralex.one

        Kommentar

        Lädt...
        X