Beiträge von pullox

    Also nun habe ich das mal mit $_SESSION['Session_benutzer'].... probiert und siehe da: ES FUNKTIONIERT!!!!

    Der Code lautet nun:

    PHP
    .....
    if (!isset($_SESSION['Session_benutzer'])) {
                       $_SESSION['Session_benutzer'] = $datensatz['benutzer'];
                     }
    .....


    Die Session wird nun gespeichert und sowohl auf statischen Teilen der Seite, als auch auf von WP generierten Seiten korrekt ausgegeben.

    Es kann also weitergehen...! Vielen dank an euch für die Anstöße. Ich war kurz davor WP wieder einzustampfen.

    Ja danke für den Hinweis. Ich werde das bei Gelegenheit prüfen, ob man lieber $_SESSION verwenden sollte.

    Da session_register aber auf meinem Webspace funktioniert (selbst in einem anderen Ordner der gleichen Domain), muss ich davon ausgehen, das es bei WP ein Problem damit gibt. Auch das werde ich mal checken.

    Ansonsten bleibt mir nur, wieder das Handtuch zu werfen und die Homepagebausteine (normale HP und WP) wieder zu trennen :-(

    Das wäre wirklich sehr schade, ich habe das Template extra dafür gebaut...

    Hallo zusammen,
    ich habe zwar noch einen anderen Thread laufen, der das Thema kreuzt, würde aber dennoch gerne hier eine Frage posten, von der ich denke, das sie projektübergreifend ist (Mein Gott. 4 Kommas in einem Satz... Das kann nicht stimmen):

    Wie kann ich erreichen, das mit WordPress erstellte Seiten eine Sessionvariable beibehalten?

    Hintergrund:
    Aus gegebenem Anlass habe ich ein eigenes Login-Feld auf meinem Blog (Glücksbotschaften » Startseite). Im Validierungsprozess lege ich eine Sessionvariable fest, auf die ich im Laufe des Besuches immer wieder zurückgreife.

    PHP
    if (!session_is_registered ("Session_benutzer")) {
                        session_register("Session_benutzer");
                        $Session_benutzer = $datensatz['benutzer'];
                     }

    Wenn man nun nach erfolgreichem Login auf der Seite navigiert, bleibt die Session in Seitenelementen erhalten, die NICHT mit WordPress erstellt wurden.
    In den Seiten, die ich über WP angelegt habe, wird die Session nicht übermittelt?

    Das ist echt konfus denn ich rufe auf einer Seite sowohl eine linke Navigation auf, in der ich den User mit seiner Variable $Session_benutzer ansprechen kann, als auch einen Contentbereich, in dem die Variable gar nicht mehr ausgegeben wird.... Beides auf ein und dergleichen Seite !?!?!?!

    Wie kann das sein? In anderen Threads habe ich gelesen, das es da mit WP und Sessions Probleme gab. Ist das immer noch so?

    Also das funktioniert alles soweit. Die Funktion mit dem redirect ist sehr gut. Da wäre ich nie drauf gekommen, wobei es ja eigentlich auf der Hand liegt.

    Das Hauptproblem ist aber immer noch nicht gelöst:

    Warum werde ich nicht als "eingelogged" angezeigt, wenn ich mich korrekt angemeldet habe? Das funktioniert erst, wenn ich danach einen anderen Link betätige. Erst dann kapiert der Browser, das eine Session mit dem Benutzernamen läuft. Wenn ich meine Skripte auf einen anderen Webspace lege, dann funktioniert alles fehlerfei, aber sobald die Dateien mit WP in Kontakt kommen, habe ich die Verzögerung drin.

    Und die Übergabe "blablabla/index.php?login=false" klappt überhaupt nicht.

    Habe da nun mal die Holzhammermethode getestet, die aber auch nicht funktioniert hat:
    Ich habe in WP eine Seite angelegt, die ich "logout" genannt habe. Dorthin verlinke ich nun, wenn man auf "Logout" klickt. Diese Seite besteht aus folgendem Code

    PHP
    <?php 
    session_destroy();
    $location = 'http://www.gluecksbotschaften.de';
    header( "Status: 302 Moved Temporarily" );
    header("Location: $location");
    ?>

    So versuche ich die aktive Session zu beenden um den User dann auf die Startseite zu schicken. Leider ohne erfolg...

    PHP
    Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/w006a2a6/wp-content/themes/glueck/header.php:8) in /www/htdocs/w006a2a6/wp-content/plugins/exec-php.php(39) : eval()’d code on line 3

    Auch hier wird der gewünschte Status erst nach dem Klick auf einen weiteren Link übernommen.

    Irgendwie muss man doch auch im WP von einer Seite zu einer andern verweisen können und dabei Variablen übergeben... Mir fallen schon die Haare aus :?

    Also erstmal vielen Dank für eure Hilfe. Ich weiss das zu schätzen.

    Ich habe die Daten mal so eingebaut, leider funktioniert es immer noch nicht korrekt. Die Abfrage

    PHP
    redirect_uri

    funktioniert leider nicht korrekt und daher hängt er einfach immer den Domain in der URL hinten dran, wenn man sich falsch einlogged. Probiert es mal aus.

    Ich poste jetzt mal den Code der einzelnen Dateien, damit man einen besseren Überblick hat.

    Codeschnipsel der linken Navi, in der der Loginstatus überprüft und dann die entsprechende Datei inkludiert wird:

    PHP
    <?php if (session_is_registered ("Session_benutzer"))  { include ("login_true.inc.php"); } else { include ("login_false.inc.php");  } ?>

    Codeschnipsel der login_false.inc.php, die in die linke Navi inkludiert wird:

    Codeschnipsel der check_login.php die bei Klick auf "einloggen" aufgerufen wird:

    Codeschnipsel der login_true.inc.php:

    PHP
    <td class="table_navi_left"><span class="navi">Hallo <b><?php echo $Session_benutzer.","; ?></b>
                        sch&ouml;n das du da bist!<br><br>Du hast seit dem xx.xx.2007 <b>999</b> Gl&uuml;cksbotschaften versendet!</span></td>

    Es fällt mir relativ schwer das zu erklären, aber man muss es doch hinbekommen, das die Informationen des Loginstatus mit Aufruf einer URI übergeben werden. Aber wie soll man das machen, wenn man keine Seite direkt ansteuern darf. Wenn man zum Beispiel nach dem Login auf einen anderen Link klickt, dann ändert sich der Status ja und man wird unterhalb der linken Navi begrüßt

    PHP
    <span class="navi">Hallo <b><?php echo $Session_benutzer.","; ?></b>
                        sch&ouml;n das du da bist!<br><br>Du hast seit dem xx.xx.2007 <b>999</b> Gl&uuml;cksbotschaften versendet!</span>

    Die Variable $Session_benutzer versuche ich Testweise auch auf der Seite zum schreiben der Nachricht auszugeben und es funktioniert nicht... In der linken Navi kann er die Variable ausgeben und im Contentbereich der gleichen Seite funktioniert es nicht mehr.

    Alles sehr verwirrend für eine kleine Leuchte wie mich :roll: Bringt ihr Licht ins Dunkel?

    Also der Login bezieht sich nur auf das "Versenden der Glücksbotschaften". Das ist vom WP-Teil komplett ausgekoppelt, muss aber sein um Mißbrauch einzudämmen. Um im WP-Teil mitbloggen zu können muss man nicht registriert sein.

    Auf welche Seite man nach dem einloggen landet ist nicht mal das grosse Problem. Mein Problem ist, das ich von der check_login - Seite nicht einfach eine Seite direkt ansteuern kann. Ein direkter Link zu "http://www.gluecksbotschaften.de/wp-content/the….php?login=true" funktioniert leider nicht. Das endet in der o. g. Fehlermeldung. Aber wenn ich zum Beispiel nur "http://www.gluecksbotschaften.de/index.php?login=true" als Ziel angebe, dann schleift er meine Variable nicht mit, das der User eingelogged ist. Diese Information geht verloren, bis man auf der eigentlichen Startseite des Blogs ist.

    Wenn man bedenkt, wie viele andere Seiten noch in diesem Stil ablaufen (wie zuvor beschrieben: Benutzerdaten ändern, PW vergessen Formular, eigene Statistiken über versendete und erhaltene Botschaften...), dann bin ich echt unsicher, ob sich das alles in WP integrieren lässt. Ich hätte es gerne, daher bin ich ins kalte Wasser gesprungen und habe das Theme gemacht, aber nun beginne ich zu zweifeln ... :confused:

    Was hälst du von der Idee, den "normalen" Teil auf der Domain zu belassen und WP auf einer Subdomain zu installieren (z.B.blog.gluecksbotschaften.de) um die Skripte zu trennen? Könnte das funktionieren?

    Vielen Dankfür deine Geduld. Ich weiss, das das was ich vor habe schräg ist.

    Also die Datei ist mir etwas zu kompliziert. Da komm ich nicht mehr mit.

    Wenn ich mich in dem Login-Feld einlogge, dann dann kommt die nächste Seite, das passt soweit. Aber dennoch bleibt das Loginfeld stehen. Erst wenn man auf irgendeinen Link klickt, dann ändert sich der Status und man wird begrüsst. Auch hier sind die Daten korrekt.

    Also besteht das Problem hauptsächlich in der Übergabe der Variablen. Wie kann man das lösen?

    Wer mal testen möchte:
    Glücksbotschaften » Startseite
    Benutzername: oli
    Passwort: oli

    Ich brauche echt Hilfe... bin schon so weit gekommen. Nun soll es doch nicht daran scheitern....

    Oh je um ehrlich zu sein, weiss ich nicht, wie und wo ich das einbauen soll. Ich bin noch ein "alter" und nicht so versierter PHP-Anfänger.

    Zu der Zeit, als ich bissel PHP programmiert habe, lief das so:

    Ein Formular wird abgesendet (index.php) --> eine neue Seite kontrolliert die Eingaben auf Gültigkeit etc. (z.B. check_form.php) --> per include(xxx.php); wird der User dann, je nach Fall mit einer Fehlermeldung zurück zur index geschmissen, oder weiter zu einer Folgeseite.

    Ich bin schon am überlegen, ob ich den kompletten WordPress-part vielleicht auf eine Subdomain auslagern soll, dann habe ich u. U. nicht so viele Probleme mit den ganzen eigenen Formularen. Da kommen noch zig weitere. Passwort vergessen... Benutzerdaten ändern.... Botschaft senden.... Freunde einladen... Anzahl gesendeter Botschaften zählen und ausgeben etc.

    Wenn ich schon "nur" beim Einloggen so grosse Probleme mit dem WordPress-Dateien habe, was wird dann noch alles folgen?

    Hallo zusammen,
    ich habe ein eigenes Theme erstellt (Glücksbotschaften » Startseite) und versuche nun selbst erstellte Seiten und dynamische Wordpress Seiten anzuzeigen. Das funktioniert soweit ganz gut, aber nun stoße ich auf Schwierigkeiten:

    Wie man an der linken Navigation sehen kann, gibt es dort ein Login-Feld. Wenn man dieses Formular absendet, rufe ich eine weitere Datei auf, die die Daten mit einer DB-Tabelle abgleicht. Anschliessend möchte ich den User per "include"-Befehl wieder auf die Startseite zurückführen. Ausserhalb von WordPress funktioniert das wunderbar, aber hier nicht.

    An dieser Stelle bekomme ich folgende Fehlermeldung:

    Zitat

    Fatal error: Call to undefined function: bloginfo() in /www/htdocs/w006a2a6/wp-content/themes/glueck/header.php on line 12

    Kann hier jemand helfen?

    Ja danke habe es mittlerweile hinbekommen. Bin mit css & co. noch nicht 100% bewandert, da ich eher ein oldschool Programmierer bin und mich so langsam auf css umstellen muss.

    Meine nächste Hürde ist es Registrierungsformulare, Kontaktformulare und solche Seiten über das Admintool zu integrieren. Bin mal gespannt wie WP darauf reagiert, wenn ich da eigene Datenbanktabellen ansteuer und sowas.

    Leute sollen sich ja auf den Seiten als Glücksbringer registrieren können etc.

    Also das mit den Bulletpoints habe ich hinbekommen. Kann man direkt in der sidebar.php in den Parametern angeben.

    Allerdings habe ich immer noch das Problem, das ich die Linkfarbe nicht auf Weiss stellen kann. Ich müsste irgendwie an den "href-Tag" kommen um dort eine neue "class"-Angabe machen zu können, aber ich weiss nicht wo.

    In der Datei: "category-template.php" ist die Funktion zur Ausgabe der Links in der Sidebar angegeben und dort sind auch einige href-codes, aber egal welchen ich editiere, die Links bleiben Schwarz...

    Hallo zusammen,
    ich habe meiner Frau eine Seite gebastelt, die ich nun in mühevoller Arbeit in Wordpress einfügen möchte.

    Die Sidebar macht mir nun etwas zu schaffen, da ich die Bulletpoints vor den Kategorien nicht weg bekomme. Im Quellcode der Sidebar steht absolut nichts mehr drin, das auch nur annähernd die Bulletpoints erklären würde.

    Daher 1. Frage: Wie bekomme ich die Bulletpoints da weg????
    und 2. Frage: In diesem Bereich sollen die Links "Weiß" sein und nicht Schwarz. Da ich aber im css die Linkfarbe generell auf Schwarz gesetzt habe, geht das nicht so einfach. Ich müsste direkt in den "href-code" der Links eine neue class-Angabe machen, aber wo finde ich das? Class-Angaben für einen Div-Container bringen nichts, die Links bleiben immer Schwarz... :confused:

    Kann jemand helfen?

    Glücksbotschaften » Startseite

    Danke