PHP if, esleif else zusammenziehen?

  • Och büdde, wie man das richtig macht, habe ich dir doch gezeigt (isset)!!!

    Leider gibt es massenhaft alte und fehlerhafte Tutorials, die erste Adresse sollte immer die Doku sein.

  • Och büdde, wie man das richtig macht, habe ich dir doch gezeigt (isset)!!!

    Leider gibt es massenhaft alte und fehlerhafte Tutorials, die erste Adresse sollte immer die Doku sein.

    Ich habe es Orginal auch schon nachgebaut von der Doku(musst mal ein Blick reinwerfen, is nen youtube link von nem Hochschuldozent), da hat es funktioniert. Nur in Kombination mit Grundgerüst und deinem Script funktioniert es nicht. hab dein beispiel gesehen mit viel Kommentierung aber viele werte die mitgegeben werden können/müssen?!

  • Hier nochmal korrekt eingerückt

  • Hier nochmal korrekt eingerückt


    :( Knirsch :(
    Was ist daran eingerückt? Jetzt steht alles platt in der ersten Spalte. Auch hier wieder: wie man das richtig macht, habe ich dir schon gezeigt!

    3 Mal editiert, zuletzt von bandit600 (14. Februar 2010 um 18:10)

  • Das Einrücken klappt nicht so ganz. Es funktioniert jetzt aber.

    login.php

    daten.php

    PHP
    <?php 
    	if ( isset ( $_SESSION['user'] ) )
    	{
    	    echo "Hallo ".$SESSION['user'];
    	}
    	else 
    	{
    	    echo 'NO';
    	}
    ?>


    logout.php

    PHP
    <?php
    	    $_SESSION = array();
    	    if (ini_get("session.use_cookies")) 
    	    {
    	    $params = session_get_cookie_params();
    	    }
    	    session_destroy();
    	    echo 'Sie wurden erfolgreich abgemeldet!';
    	?>


    Bevor ich jetzt ans eingemachte gehe , ein fehler besteht noch. Nämlich im eingeloggten Bereich steht trotz eingeloggt immer der else Fall also NO. Statt Hallo User steht NO...mit den drei obigen codes.

    Gruß Nico

  • Ich gebe jetzt auf!!! Du baust definitiv Blödsinn ein und bist nicht in der Lage, ein paar Zeilen Quellcode zu kopieren, die man dir blöderweise auch noch serviert!

  • wieso ich habe es doch schon fast hinbekommen. Es funktioniert ja nu scho fast.... Mal sehen wieweit wir damit die Woche weiterarbeiten. Hätte es gerne alleine hinbekommen aber klappt noch nicht ganz(Kenntnisstand noch nicht ausreichend :( )

    Gruß Nico

  • Schade... Es wist sicherlich nicht Sinn und Zweck woanders selben Thread zu erröffnen aber was bleibt mir übrig.

    Ich habe mein bestes gegeben, du anscheinend auch @ bandit600

    Kann doch nicht schon das Ende sein...

    Viele Grüße

    Nico

  • Natürlich ist das das Ende! Wenn du schon ein paar Zeilen hier nicht richtig rauskopieren kannst, dann ist dir nicht zu helfen! Und dass

    PHP
    $user = $_POST['user']; 
    $pass = $_POST['pass'];

    nicht korrekt ist, habe ich auch schon erklärt, aber du machst es trotzdem wieder. Was soll man dir da noch helfen? Und wie soll man dir noch helfen? Es reicht ja schon nicht, dir fertigen Quellcode zu liefern!!!

    Ich habe mein bestes gegeben


    Den Eindruck habe ich aber nicht!

    Es ist schon albern genug, dass sich so ein simpler Login über 30 Posting hinauszieht, denn das sind Grundlagen, die man können sollte und zu denen es auch massenhaft Dokus und Tutorials gibt.

    Einmal editiert, zuletzt von bandit600 (15. Februar 2010 um 12:36)

  • Wieso nicht korrekt? Jeder schreibt es anders, man muss später irgendwie auf die Daten zugreifen. Also Erfahrung hin oder her aber bessere Lösung gibts doch gar nicht.

    Ältere Tutorials??? Sieht das älter aus was er da erklärt?!

    http://www.youtube.com/user/PHPtutorialDeutsch


    Also wenn du @bandit600 mein Dozent wärst hätte ich schon sonstwas unternommen

    Ich finde das Tutorial von Axel Pratzner gut.

    http://www.html-seminar.de/

    http://www.php-kurs.com/

    http://www.webmaster-crashkurs.de/


    Glaubt ihr ruhig weiterhin das er schlecht ist. Dann lesst bei PHP:net wenn ihr das für besser hält.


    Fertiger Quellcode, haha da musste ich lachen. Login der so schon fertig sein soll.

    Ich kann schon recht gut PHP und er erzählt was von Grundlagen.

    Sorry wenn du jemals anderswo das gleiche liesst. Oder soll ich Pc jetzt ausmachen und sagen OK Ende.... Niemals mein Freund

  • Wenn du in einem Tutorial soetwas

    PHP
    $user = $_POST['user']; 
    $pass = $_POST['pass'];

    am Anfang liest, dann ist das Tutorial nun mal Scheiße!!! Wenn das Script das erste Mal aufgerufen wird, ist weder $_POST['user'] noch $_POST['pass'] gesetzt, aber es wird trotzdem fröhlich drauf zugegriffen. PHP ist in der Regel gnädig, aber wenn man mal das Error-Reporting hochdreht (was man während der Entwicklung eines Scriptes machen sollte), geht das Gemecker los.

    Und wenn du Knaller einfach das session_start(); in daten.php weglässt, dann ist das nicht mein Problem, denn so habe ich das nicht geschrieben.

    Ich kann schon recht gut PHP


    Dann würdest du an so einem Pippifax nicht scheitern!

    Also immer schön den Ball flachhalten, wenn man keine Ahnung hat und nicht richtig liest!!!

    PS: Unter http://www.php-kurs.com/ steht if/elseif und switch unter "PHP für Fortgeschrittene", ich lach' mich schlapp!!!

    Einmal editiert, zuletzt von bandit600 (15. Februar 2010 um 13:08)


  • Alles Klar ich nehme mir das auch zu Herzen was du sagst... scheinst ja kein Anfänger mehr zu sein..

    P.S. Das session_start(); steht in der datei daten.php auch nur über dem doctype daher kann sein, ich habe nur PHP kopiert und nicht den ganzen Quellcode meiner Webseite

    Gruß Nico

  • Ich: $_SESSION['user'] = $_POST['user'];
    Du: $_SESSION['eingeloggt'] = TRUE;

    Mir ist das jetzt zu albern und somit verabschiede ich mich aus diesem Thread, denn du bastelst ohne Sinn und Verstand und ignorierst zum Teil die Antworten. Das macht einfach keinen Sinn!!!

  • Ich: $_SESSION['user'] = $_POST['user'];
    Du: $_SESSION['eingeloggt'] = TRUE;

    Mir ist das jetzt zu albern und somit verabschiede ich mich aus diesem Thread, denn du bastelst ohne Sinn und Verstand und ignorierst zum Teil die Antworten. Das macht einfach keinen Sinn!!!


    Du hast mir ja schon super weitergeholfen, brauch halt etwas länger wenn ich mich erst 2 Monate damit befasse...


    Ich werde es halt nochmal von Anfang durchgehen, wieder bauen...und wieder...usw...

    Gruß Nico

  • Hallo ich habe den Login nun mal nach diesem Tutorial nachgebaut. Es funktioniert aber doch schon recht gut | badnit600. ich versuche nur dir zu folgen...

    meine 3 dateien zum login mit logout...

    index.php


    daten.php (geheime Seite)



    logout.php

    PHP
    <?php
    session_start();
    session_destroy();
    echo "Sie wurden erfolgreich ausgeloggt";
    echo '<p><a href="index.php">Einloggen</a></p>';
    ?>


    Gruß Nico

  • Hallo ist vielleicht noch jemand da der weiter weiß :p wäre nett. Gute nacht


    Nico

  • Ich fasse es nicht!!!
    Da steht immer noch der Mist mit

    PHP
    $benutzername = $_POST['benutzername'];
    $kennwort = $_POST['kennwort'];


    Und das habe ich dir auch schon geschrieben:


    Du bist sowas von lernresistent, da hat man echt keinen Bock mehr. Und nochmal, nicht jedes Tutorial ist brauchbar, wenn man dir hier schon Korrekturen liefert und du diese ignorierst, ist diese Thread komplett sinnbefreit!!!

    Letzter Tipp:
    Richtig debuggen

    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL);
    3. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    4. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysql_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
    5. Schritt 4 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    6. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    7. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    8. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

    Die Ausgaben per var_dump oder echo kann man sich ersparen, in dem man einen Debugger benutzt.

  • Ich will ja nichts sagen, aber sind wir jetzt wieder am Anfang des Threads angelangt?

    Wenn du dich nicht Codes von anderen einlässt, dann können wir dir auch schlecht helfen.
    Der Code aus dem Tutorial ist viel schlechter als der von bandit um das schon vorweg zu sagen. Du musst dich jetzt auf einen Code einigen den du weiterbauen möchtest, dann muss du deine Probleme nochmal detailliert auflisten und dann kann dir auch geholfen werden.

    Nächster Punkt: Einrücken
    Bei Einrücken ist es wichtig, dass man mit Tabulatoren arbeitet, weil so auch die richtige Darstellung in jedem Editor und Browser sichergestellt ist. Die Tabulator-Taste ist die Taste mit dem Pfeil nach links und nach rechts, schräk links unter der Taste 1 auf deiner Tastatur.

    Welchen Editor benutzt du? Ich würde dir empfehlen zu Begin mit Notepad++ zu arbeiten, ein simpler guter Editor.

    Jetzt zu deinem Quellcode, da du ja anscheinend nicht gute Quellcodes benutzen willst, habe ich mal über deinen Code drübergeschaut:

    index.php
    - richtige Einrückungen mit Tabs (Tabulatoren)
    - Keine Leerzeichen in If Abfragen, die sind da einfach nur überflüssig
    - die isset() Funktion in der kurzen If Abfrage oben ist wichtig, da diese Variablen immer gesetzt werden.

    PHP
    if ($_SESSION['eingeloggt'] === TRUE)

    - Die Abfrage muss 3 = haben, weil Sie einen Bool überprüft

    PHP
    $_SESSION['benutzername'] = $benutzername;
        $_SESSION['kennwort'] = $kennwort;

    - Diese 2 Zeilen packen den Benutzernamen und das Passwort in die Session, so kannst du auf weiteren Seiten diese Variablen abrufen.

    daten.php
    - die Überprüfung, ob jemand eingeloggt wird fliegt raus, dafür gibt es Includes
    - eingerückt usw.

    logout.php
    - ist ok so für den Anfang

    eingeloggt.php
    - diese Seite wird auf allen weiteren Seiten eingebunden via include() und stellt sicher, dass keiner der nicht eingeloggt ist auch da reinschauen kann.

    Wenn du Fragen hast musst du Fragen und nicht alles wieder rauslöschen und wieder zum Anfang zurückkehren. So wird das einfach nichts. Wenn du was nicht verstehst, dann frag bitte, sonst macht das hier alles keinen Sinn.
    Ich habe dir den ganzen Kram mal zusammen gepackt und in den Anhang gepackt.

    Ich hoffe, dass bringt dich weiter. Ich hab Ihn auch getestet, er funktioniert auch.

    Ich hoffe vorallem, dass ich den Scheiss hier nicht umsonst gemacht habe, weil ich nachvollziehen kann, dass du erstmal simpel anfangen möchtest, aber wenns noch simpler werden soll, dann brauchste garnicht erst mit PHP anfangen.