kostenloser Webspace werbefrei: lima-city


Wordpress Session prüfen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    Hi Leute,
    ich hoffe mal ich bin in der Fore hier richtig, es geht um Wordpress Session. Über Tante Google finde ich leider nicht das richtige.

    Ich möchte prüfen ob ein User in mein Forum (WP) eingeloggt ist. Das soll aber nicht im Forum geschehen sondern auf einer Unterseite. Ich möchte nur prüfen ob er eingeloggt ist und falls ja den Usernamen übernehmen. Ist das irgendwie möglich?

    Also nur die Session prüfen so wie hier:
    if(!isset($_SESSION['username']))// hier weiß ich halt nicht wie die Session von WP heißt. 
       {
       echo "Du bist nicht eingeloggt, Deine Punkte werden nicht gespeichert.";
       }


    Vieleicht hat ja jemand einen Tipp, Link oder ähnliches für mich.

    Danke wie immer und Gruß Marco

    Tante Edit:

    gerade was gelernt ( danke Kochmarkus)
    Ich brauche die Sessionvariable von WP, also anscheinend nur den Namen der Variablen
    wenn ich das richtig sehe.

    Beitrag zuletzt geändert: 16.4.2013 10:14:45 von aff3m1tw4ff3
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Ich würde sagen:
    require('path/to/wp-blog-header.php');
    if(is_user_logged_in() ){
    // ...
    }
    Ich vermute Wordpress benutzt keine Session-Variablen im herkömmlichen Sinne.

    Beitrag zuletzt geändert: 16.4.2013 10:51:52 von eerie
  4. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    Das hab ich mal getestet, der code sieht bei mir so aus:

    <? php session_start();
    
    require('board/styles/we_universal/template/overall_header.html');
    if(is_user_logged_in() ){
    echo "eingeloggt";
    }
    else {echo "ausgeloggt";}
    	?>


    das ergebniss ist dann das hier:
    http://www.pennereck.de/logincheck.php


    Noch nicht ganz das richtige, wobei ich da nun gerade nicht verstehe was genau passiert.
    Ich bekomme halt den header ausgegeben.

    Beitrag zuletzt geändert: 16.4.2013 11:03:53 von aff3m1tw4ff3
  5. Du hast auch die falsche Datei eingebunden.
    require('path/to/wp-blog-header.php');
    ist nicht
    require('board/styles/we_universal/template/overall_header.html');
    Zum einen, weil deine eine HTML-Datei ist, zum anderen, weil es nicht die wp-blog-header ist.

    Grad hab ich noch gefunden:
    require_once 'path/to/wp-config.php';
    if ( is_user_logged_in() ) 
    {
            echo "i am logged in";
    }
    Ich weiß nicht, welche oder ob eine der Varianten richtig ist. ( Kann es leider auch nicht prüfen. ) Aber für mich sieht das einleuchtend aus.
  6. Wie soll das funktionieren? Mit dem Templateheader des Forums kann Wordpress wenig anfangen. :wink:

    Was den Loginstatus betrifft, war der Tip von eerie durchaus richtig. Siehe http://codex.wordpress.org/Function_Reference/is_user_logged_in
  7. Die bisherigen Lösungsvorschläge(?) laufen alle ins Leere, weil
    1. WP Cookies und keine weiteren Sessionvariablen verwendet.
    2. Eine Einbindung von wp-blog-header.php und/oder wp-config.php nichts bringt außer ein Template oder eine leere Seite.

    Mein Lösungsansatz beinhaltet eine Modifikation der "wp-login.php" vllt. auch der "user.php".
    Außerdem muss in der DB die Tabelle wp_users um eine Spalte vom Typ bool erweitert werden.
    Die wp-login.php erweiterst du mit der Anbindung an die Tabelle wp_users und trägst bei erfolgreichem Login eines Users in die neue Spalte den entsprechenden Wert(wahr/falsch) ein.
    Extern kannst du dann die Tabelle wp_users jederzeit abfragen.

    Weil sich nicht jeder User ordentlich abmeldet und deshalb "Leichen" enstehen können, solltest du auch über eine Session nachdenken.
  8. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    Hi,

    also als erstes ein riesengroßes danke für die Hilfe. Dass die Sache so umständlich ist hätte ich nicht gedacht. Der Aufwand ist in dem Fall größer als der Nutzen, das Ganze sollte am Ende einfach nur ein kleines Gimmick/Spiel einbinden. Wenn ich dazu aber an der DB basteln müsste lasse ich das lieber, vermutlich bekomme ich dann auch Probleme mit kommenden AutoUpdates von WP und muss die dann manuell durchführen. Wie gesagt danke für die Hilfe, aber ich lass dann doch lieber die Finger davon.

    Gruß Marco
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!