tag:forum.selfhtml.org,2005:/self Platzhalter einsetzen – SELFHTML-Forum 2019-07-03T06:53:32Z https://forum.selfhtml.org/self/2019/jun/30/platzhalter-einsetzen/1751595#m1751595 einsiedler 2019-06-30T13:59:05Z 2019-06-30T13:59:05Z Platzhalter einsetzen <p>Hallo (nochmal) liebe Forumer,</p> <p>Wie kann man nachträglich in meine index.php<br> meine Meldung: <strong>Sie haben sie erfolgreich ausgeloggt!</strong> per <code>echo str_replace( '{meldung}', implode($_LayoutHtml );</code> einfügen?</p> <p>Hintergrund: Ich möchte dieses von meiner logout.php ausführen lassen.</p> <p>Im logout.php steht folgendes (bekanntes):</p> <pre><code class="block language-php"><span class="token php language-php"><span class="token delimiter important"><?php</span> <span class="token function">session_start</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">session_destroy</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">unset</span><span class="token punctuation">(</span><span class="token variable">$_SESSION</span><span class="token punctuation">[</span><span class="token string single-quoted-string">'userid'</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//Remove Cookies</span> <span class="token function">setcookie</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"identifier"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">""</span><span class="token punctuation">,</span><span class="token function">time</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">-</span><span class="token punctuation">(</span><span class="token number">3600</span><span class="token operator">*</span><span class="token number">24</span><span class="token operator">*</span><span class="token number">365</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">setcookie</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"securitytoken"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">""</span><span class="token punctuation">,</span><span class="token function">time</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">-</span><span class="token punctuation">(</span><span class="token number">3600</span><span class="token operator">*</span><span class="token number">24</span><span class="token operator">*</span><span class="token number">365</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">require_once</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"inc/config.inc.php"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">require_once</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"inc/functions.inc.php"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token delimiter important">?></span></span> // HIER soll nun mein PHP script die Meldung ausgeben!! // <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>div</span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>foo<span class="token punctuation">"</span></span><span class="token punctuation">></span></span> // Der Logout war erfolgreich. <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>a</span> <span class="token attr-name">href</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>login.php<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>Zurück zum Login<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>a</span><span class="token punctuation">></span></span>. // <span class="token tag"><span class="token tag"><span class="token punctuation"></</span>div</span><span class="token punctuation">></span></span> // DIREKT und OHNE eine Linkweiterleitung </code></pre> <p>In meiner login.php Seite steht bereits schon der Platzhalter: {logout}</p> <p>Ich benötige u.a. dies:</p> <pre><code class="block language-php"><span class="token keyword">const</span> <span class="token constant">LAYOUT_HTML_FILE_PATH</span> <span class="token operator">=</span> <span class="token string single-quoted-string">'./login.php'</span><span class="token punctuation">;</span> <span class="token keyword">const</span> <span class="token constant">WIDGETS_FOLDER_PATH</span> <span class="token operator">=</span> <span class="token string single-quoted-string">'./templates/'</span><span class="token punctuation">;</span> <span class="token comment">// benötige ich warscheinlich gar nichtmal!!!</span> <span class="token variable">$_LayoutHtml</span> <span class="token operator">=</span> <span class="token function">file_get_contents</span><span class="token punctuation">(</span> <span class="token constant">LAYOUT_HTML_FILE_PATH</span> <span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$_UserCardsHml</span> <span class="token operator">=</span> <span class="token function">file_get_contents</span><span class="token punctuation">(</span> <span class="token constant">WIDGETS_FOLDER_PATH</span> <span class="token operator">.</span> <span class="token string single-quoted-string">'section-card.html'</span> <span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// benötige ich warscheinlich gar nichtmal!!!</span> </code></pre> <p>Welche Paar Zeilen bewerkstelligen dies?</p> <p>Wer hilft mir, sodass ich schnell weitermachen kann?</p> <p>LG der sonntagliche misanthrop</p> https://forum.selfhtml.org/self/2019/jun/30/platzhalter-einsetzen/1751671#m1751671 Rolf B 2019-06-30T20:31:13Z 2019-06-30T20:31:13Z Platzhalter einsetzen <p>Hallo einsiedler,</p> <p>nicht, dass ich wirklich verstehen würde, was Du willst, aber ich rate mal, dass deine logout.php letztlich die login-Seite anzeigen soll, mit dem Hinweis drin "Sie haben sie erfolgreich ausgeloggt!".</p> <p>Allerdings verstehe ich dies hier nicht:</p> <p>const LAYOUT_HTML_FILE_PATH = './login.php'; $_LayoutHtml = file_get_contents( LAYOUT_HTML_FILE_PATH );</p> <p>Wenn login.php eine PHP Datei ist, wird das PHP nicht ausgeführt. Die Datei wird 1:1 eingelesen und PHP-Anweisungen bleiben stehen. Sowas ist extrem verwirrend.</p> <p>Du solltest einen von zwei Wegen gehen:</p> <ol> <li>der PHP Weg:</li> </ol> <p>Wenn Du die Datei unbedingt login.php nennen willst, dann hol sie mit require oder include herein. PHP-Code darin wird dann ausgeführt, d.h. du kannst zwar immer noch sowas wie <code>{meldung}</code> erzeugen, musst aber nicht. Du kannst auch vor dem include eine Variable $meldung bestücken und im login.php <?= $meldung ?> schreiben. PHP löst die Variable dann auf.</p> <p><strong>Output-buffering</strong>: Wenn Du die login.php an der Stelle X einlesen willst, aber erst später an der Stelle Y ausgeben kannst, dann kannst Du die Ausgabe, die login.php erzeugt, puffern. Dafür gibt es <code>ob_start()</code> (output buffering start), das rufst Du vorher auf, und <code>$loginPart = ob_get_clean();</code> zum Auslesen und Löschen des Puffers. Ein echo $loginPart kannst Du dann nach Lust und Laune ausführen. Und du kannst in $loginPart auch Ersetzungen durchführen, wenn Du noch {blah} Marker drin hast. Wie das geht, erkläre ich gleich.</p> <ol start="2"> <li>Templating:</li> </ol> <p>Wenn Du die login-Vorlage mit file_get_contents einlesen willst, dann nenne sie login.tpl oder so, nicht .php. Damit ist klar, dass darin kein PHP Code ausgeführt wird.</p> <p>Das Ersetzen von Template-Symbolen geht in einfacher Form mit</p> <pre><code class="block language-php"><span class="token variable">$template</span> <span class="token operator">=</span> <span class="token function">file_get_contents</span><span class="token punctuation">(</span><span class="token operator">...</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$template</span> <span class="token operator">=</span> <span class="token function">str_replace</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"{meldung}"</span><span class="token punctuation">,</span> <span class="token variable">$meldung</span><span class="token punctuation">,</span> <span class="token variable">$template</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p>Wenn Du mehrere Symbole ersetzen willst, kannst Du die Array-Variante von str_replace verwenden:</p> <pre><code class="block language-php"><span class="token variable">$template</span> <span class="token operator">=</span> <span class="token function">str_replace</span><span class="token punctuation">(</span> <span class="token punctuation">[</span> <span class="token string double-quoted-string">"{meldung}"</span><span class="token punctuation">,</span> <span class="token string double-quoted-string">"{warnung}"</span><span class="token punctuation">,</span> <span class="token string double-quoted-string">"{titel}"</span> <span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token punctuation">[</span><span class="token variable">$meldung</span><span class="token punctuation">,</span> <span class="token variable">$warnung</span><span class="token punctuation">,</span> <span class="token variable">$titel</span> <span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token variable">$template</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p>Weiß nicht ob Du's weißt: [1,2,3] ist die Abkürzung für ARRAY(1,2,3).</p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - clusi </div> https://forum.selfhtml.org/self/2019/jun/30/platzhalter-einsetzen/1751713#m1751713 Emil 2019-07-01T10:06:38Z 2019-07-01T10:06:38Z Platzhalter einsetzen <p>Hallo (nochmal) liebe Forumer,</p> <blockquote> <p>Wie kann man nachträglich in meine index.php<br> meine Meldung: <strong>Sie haben sie erfolgreich ausgeloggt!</strong></p> </blockquote> <blockquote> <p>Hintergrund: Ich möchte dieses von meiner logout.php ausführen lassen.</p> </blockquote> <p>Dann würde ich das auch auf dieser Seite ausgeben und nicht auf der index.php.</p> <p>Idee: den Vorgang Login/Logout auf einer Anwendungsseite machen und den Unterschied über einen Schlüsselparameter regeln. MFG</p> https://forum.selfhtml.org/self/2019/jun/30/platzhalter-einsetzen/1751672#m1751672 einsiedler 2019-06-30T20:55:08Z 2019-06-30T21:06:17Z Platzhalter einsetzen <p>Ja, das weiß ich... lieber Rolf</p> <pre><code class="block language-php"><span class="token keyword">const</span> <span class="token constant">TEMPLATES_FOLDER_PATH</span> <span class="token operator">=</span> <span class="token string single-quoted-string">'./templates/'</span><span class="token punctuation">;</span> <span class="token variable">$_TemplateCardHml</span> <span class="token operator">=</span> <span class="token function">file_get_contents</span><span class="token punctuation">(</span> <span class="token constant">TEMPLATES_FOLDER_PATH</span> <span class="token operator">.</span> <span class="token string single-quoted-string">'meldung.html'</span> <span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$template</span> <span class="token operator">=</span> <span class="token function">str_replace</span><span class="token punctuation">(</span> <span class="token punctuation">[</span> <span class="token string double-quoted-string">"{meldung}"</span><span class="token punctuation">,</span> <span class="token string double-quoted-string">"{warnung}"</span><span class="token punctuation">,</span> <span class="token string double-quoted-string">"{titel}"</span> <span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token punctuation">[</span><span class="token variable">$meldung</span><span class="token punctuation">,</span> <span class="token variable">$warnung</span><span class="token punctuation">,</span> <span class="token variable">$titel</span> <span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token variable">$template</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p>Bringe es nicht ganz zusammen...</p> <p>Aber muss man für die eine Zeile <em><p>Sie haben sie erfolgreich ausgeloggt!</p></em> ein eigenes template anlegen?</p> <p>Aber jetzt ist es ja noch nicht in meinem login.php eingefügt. Oder doch durch das: <code>{logout}</code> an dieser Stelle wo dies steht?</p> <p>Das <strong>script oben</strong> steht letztlich in meiner logout.php</p> <p>Also:</p> <pre><code class="block language-php"><span class="token php language-php"><span class="token delimiter important"><?php</span> <span class="token function">session_start</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">session_destroy</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">unset</span><span class="token punctuation">(</span><span class="token variable">$_SESSION</span><span class="token punctuation">[</span><span class="token string single-quoted-string">'userid'</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//Remove Cookies</span> <span class="token function">setcookie</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"identifier"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">""</span><span class="token punctuation">,</span><span class="token function">time</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">-</span><span class="token punctuation">(</span><span class="token number">3600</span><span class="token operator">*</span><span class="token number">24</span><span class="token operator">*</span><span class="token number">365</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">setcookie</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"securitytoken"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">""</span><span class="token punctuation">,</span><span class="token function">time</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">-</span><span class="token punctuation">(</span><span class="token number">3600</span><span class="token operator">*</span><span class="token number">24</span><span class="token operator">*</span><span class="token number">365</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">require_once</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"inc/config.inc.php"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">require_once</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"inc/functions.inc.php"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">const</span> <span class="token constant">TEMPLATES_FOLDER_PATH</span> <span class="token operator">=</span> <span class="token string single-quoted-string">'./templates/'</span><span class="token punctuation">;</span> <span class="token variable">$_TemplateCardHml</span> <span class="token operator">=</span> <span class="token function">file_get_contents</span><span class="token punctuation">(</span> <span class="token constant">TEMPLATES_FOLDER_PATH</span> <span class="token operator">.</span> <span class="token string single-quoted-string">'meldung.html'</span> <span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$template</span> <span class="token operator">=</span> <span class="token function">str_replace</span><span class="token punctuation">(</span> <span class="token punctuation">[</span> <span class="token string double-quoted-string">"{meldung}"</span><span class="token punctuation">,</span> <span class="token string double-quoted-string">"{warnung}"</span><span class="token punctuation">,</span> <span class="token string double-quoted-string">"{titel}"</span> <span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token punctuation">[</span><span class="token variable">$meldung</span><span class="token punctuation">,</span> <span class="token variable">$warnung</span><span class="token punctuation">,</span> <span class="token variable">$titel</span> <span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token variable">$template</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token delimiter important">?></span></span> </code></pre> <p>Gruß T.</p> https://forum.selfhtml.org/self/2019/jun/30/platzhalter-einsetzen/1751765#m1751765 einsiedler 2019-07-01T23:06:30Z 2019-07-01T23:07:24Z Platzhalter einsetzen <p>Lieber Rolf, oder auch jem. anderes, wer zeigt mir Bitte wie das genau mit dem "simplen templating" geht?</p> <p>Zum Verständnis nochmal: wenn man im "internen Bereich" ist und dort den LOGOUT Button drückt <em>erfolgt</em> mein <em>logout.php</em> also die Paar Zeilen script. Von da aus müßte doch ein redirect ( header("location: login.php"); ) oder so etwas folgen , das dort in der login.php eben die Meldung "Sie haben sich erfolgreich ausgeloggt." an der entsprechenden Stelle <strong>{logout}</strong> dort erscheinen kann. Also wer Bitte zeigt mir das "einfache templating" mit nur dieser einen Zeile.</p> <p>Gute n8 der misanthrop</p> https://forum.selfhtml.org/self/2019/jun/30/platzhalter-einsetzen/1751673#m1751673 Rolf B 2019-06-30T21:28:17Z 2019-06-30T21:28:17Z Platzhalter einsetzen <p>Hallo Tassilo,</p> <p>mein [{meldung}, {warnung}, {titel}] war symbolisch und sollte zeigen, wie man - wenn man möchte - mehrere Marker auf einmal ersetzen kann. Das kannst Du nicht 1:1 übernehmen. Wenn Du das getan hast, dann ist</p> <blockquote> <p>Bringe es nicht ganz zusammen...</p> </blockquote> <p>die Untertreibung des Sommers </p> <p>str_replace kann entweder genau einen String durch einen anderen ersetzen, das war das, was ich oben mit der einfachen Form meinte, oder eben auch mehrere auf einmal. Das habe ich der Vollständigkeit halber hinzugefügt. Wenn Du das nicht brauchst, bleib bei der einfachen Form.</p> <p>Ansonsten bin ich immer noch verwirrt und weiß nicht, was Du eigentlich genau tun willst. Das hatte ich eingangs geschrieben, aber darauf bist Du nicht eingegangen. Statt dessen zeigst Du jetzt Code, der eine andere Datei als zuvor mit file_get_contents einliest. Tut mir leid, damit komme ich nicht klar. Vielleicht ist es zu spät und zu heiß. Jedenfalls habe ich keine Ahnung von der inneren Struktur deiner Anwendung, welche Dateien Du wofür verwendest, welche PHP Scripte Du hast.</p> <p>Versuchs nochmal. Du hast eine index.php, eine login.php und eine logout.php. Und vermutlich noch mehr, aber das ist hier wohl egal.</p> <p>Vermutlich kann ich von index nach login kommen, melde mich an und habe dann eine Session, die mir mehr Möglichkeiten auf deiner Seite gibt. Und dann klicke ich logout. Was genau soll ich jetzt zu sehen bekommen? Die Login-Seite? Die Index-Seite im abgemeldeten Zustand plus dem "Sie sind ausgeloggt" Hinweis?</p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - clusi </div> https://forum.selfhtml.org/self/2019/jun/30/platzhalter-einsetzen/1751675#m1751675 einsiedler 2019-06-30T21:40:14Z 2019-06-30T21:41:46Z Platzhalter einsetzen <blockquote> <p>Vermutlich kann ich von index nach login kommen, melde mich an und habe dann eine Session, die mir mehr Möglichkeiten auf deiner Seite gibt. Und dann klicke ich logout. Was genau soll ich jetzt zu sehen bekommen? Die Login-Seite? Die Index-Seite im abgemeldeten Zustand plus dem "Sie sind ausgeloggt" Hinweis?</p> </blockquote> <p>Damit liegst Du nicht ganz falsch, allerdings starte /betrete (ich) sofort die login.php. Ich weiß nicht ob man es so korrekterweise macht. Jedenfalls ist der Rest genau so wie Du es beschrieben hast.</p> <p>Mit dem KlICK auf den logout Button kommt man surück zur login.php Seite. Und es erscheint über der Login - <form> eben die Meldung: Sie haben sich erfolgreich abgemeldet.</p> <p>Wie macht man das? Gibt es zwei varianten vom login.php eine zum start die andere auf der man landet wenn man ausloggt. Aber das kann es doch nicht sein oder?</p> <p>Jedenfalls fände ich es besser wenn man beim logout nachträglich diese zeile einfügt.</p> <p>Gruß T.</p> https://forum.selfhtml.org/self/2019/jun/30/platzhalter-einsetzen/1751681#m1751681 RR 2019-07-01T05:01:16Z 2019-07-01T05:01:40Z Platzhalter einsetzen <p>Hi,</p> <blockquote> <blockquote> <p>Vermutlich kann ich von index nach login kommen, melde mich an und habe dann eine Session, die mir mehr Möglichkeiten auf deiner Seite gibt. Und dann klicke ich logout. Was genau soll ich jetzt zu sehen bekommen? Die Login-Seite? Die Index-Seite im abgemeldeten Zustand plus dem "Sie sind ausgeloggt" Hinweis?</p> </blockquote> <p>Damit liegst Du nicht ganz falsch, allerdings starte /betrete (ich) sofort die login.php. Ich weiß nicht ob man es so korrekterweise macht. Jedenfalls ist der Rest genau so wie Du es beschrieben hast.</p> <p>Mit dem KlICK auf den logout Button kommt man surück zur login.php Seite. Und es erscheint über der Login - <form> eben die Meldung: Sie haben sich erfolgreich abgemeldet.</p> <p>Wie macht man das? Gibt es zwei varianten vom login.php eine zum start die andere auf der man landet wenn man ausloggt. Aber das kann es doch nicht sein oder?</p> </blockquote> <p>Man macht nicht die ganze Session kaputt, sondern nur den "operativen Teil", also alle Aktionen, die benutzerspezifische Daten enthalte. Den admistrativen Teil behält man. Darin steht z. B. did letzte Aktion und die passende Meldung dazu.</p> <p>Und überleg dir mal, ob Du nicht alles über einen zentralen Dispatcher (index.php) laufen lassen willst und nicht über atomisierte Einzeldateien.</p> <p>LG<br> RoRo</p> https://forum.selfhtml.org/self/2019/jun/30/platzhalter-einsetzen/1751691#m1751691 Rolf B 2019-07-01T06:22:21Z 2019-07-01T06:22:21Z Platzhalter einsetzen <p>Hallo Tassilo,</p> <p>zum einen kann man es so machen wie RR vorschlug: Session nur teilweise abwracken und die Meldung darin speichern. Die Login Seite findet sie dann dort.</p> <p>Eine andere Möglichkeit wäre, Login und Logout zu einer PHP zusammenzufassen und den Logout durch login.php?action=logout auslösen. Je nach Action prüft du die Credentials oder meldest ab.</p> <p>Es gibt aber auch Argumente <strong>für</strong> eine zwischengeschaltete Infoseite, die z.B. auf klick oder nach 2s weiterleitet. An- und Abmeldung sind Aktionen, die besondere Bedeutung haben. Da sollte man nicht eben mal so per vor/zurück im Browser drüber weg hüpfen können.</p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - clusi </div> https://forum.selfhtml.org/self/2019/jun/30/platzhalter-einsetzen/1751789#m1751789 einsiedler 2019-07-02T15:35:31Z 2019-07-02T15:43:06Z Platzhalter einsetzen <blockquote> <p>Es gibt aber auch Argumente <strong>für</strong> eine zwischengeschaltete Infoseite, die z.B. auf klick oder nach 2s weiterleitet. An- und Abmeldung sind Aktionen, die besondere Bedeutung haben. Da sollte man nicht eben mal so per vor/zurück im Browser drüber weg hüpfen können.</p> </blockquote> <p>Hallo Rolf, das gibt mir gerade zu denken, stimmt auch wieder... Bei meinem GMX logout z.B. ist es genauso, klar wird dann auch viel Werbung untergebracht, das sich die Seite mit irgendwelchem Content "füllt". Aber das muss ja gar nicht mal.</p> <p>Hmmmmmmm...</p> <p>Ist eigentlich soetwas möglich: header("refresh: 4; url=https://muehlbauer.intern.wald-frieden.net/); (Oder auch ein relativer Pfad der dort stehen kann!)</p> <p>Zusätzlich als Angebot ein Link "Zurück zum Login" , wenns noch schneller gehen soll. ;o)</p> <p>Gruß T.</p> https://forum.selfhtml.org/self/2019/jun/30/platzhalter-einsetzen/1751729#m1751729 einsiedler 2019-07-01T12:07:39Z 2019-07-01T12:07:55Z Platzhalter einsetzen <p>Lieber Emil, wenn ich den Botton LOGOUT in meinem internen Bereich anklicke, dann besteht mein logout.php script nur aus diesen Zeilen.</p> <pre><code class="block language-php"><span class="token php language-php"><span class="token delimiter important"><?php</span> <span class="token function">session_start</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">session_destroy</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">unset</span><span class="token punctuation">(</span><span class="token variable">$_SESSION</span><span class="token punctuation">[</span><span class="token string single-quoted-string">'userid'</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//Remove Cookies</span> <span class="token function">setcookie</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"identifier"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">""</span><span class="token punctuation">,</span><span class="token function">time</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">-</span><span class="token punctuation">(</span><span class="token number">3600</span><span class="token operator">*</span><span class="token number">24</span><span class="token operator">*</span><span class="token number">365</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">setcookie</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"securitytoken"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">""</span><span class="token punctuation">,</span><span class="token function">time</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">-</span><span class="token punctuation">(</span><span class="token number">3600</span><span class="token operator">*</span><span class="token number">24</span><span class="token operator">*</span><span class="token number">365</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">require_once</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"inc/config.inc.php"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">require_once</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"inc/functions.inc.php"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">?</span> <span class="token comment">// HIER soll nun das PHP die Meldung innerhalb meiner logout.php ausgeben!!</span> <span class="token comment">// <div class="foo"></span> <span class="token comment">// Der Logout war erfolgreich. </span> <span class="token comment">// </div></span> <span class="token comment">// DIREKT und OHNE eine Linkweiterleitung</span> </span></code></pre> <p>Aber ich bin mir nun nicht sicher ob man es überhaupt so macht, ihr seid ja die Profis und konstruiert soetwas professionell für eure Aufträge.</p> <p>LG T.</p> https://forum.selfhtml.org/self/2019/jun/30/platzhalter-einsetzen/1751736#m1751736 Rolf B 2019-07-01T13:06:36Z 2019-07-01T13:06:36Z Platzhalter einsetzen <p>Hallo Tassilo,</p> <p>"Profi" heißt: man bekommt für das, was man tut, soviel Geld, dass man davon leben kann. Das heißt nicht, dass alle Profis gleicher Meinung sind.</p> <p>Der Thread enthält nun mehrere Ansätze, entscheide Dich für einen. Falsch ist keiner.</p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - clusi </div> https://forum.selfhtml.org/self/2019/jun/30/platzhalter-einsetzen/1751737#m1751737 Emil 2019-07-01T13:11:28Z 2019-07-01T13:12:11Z Platzhalter einsetzen <p>Ne, wenn ich was mache, tu ich das nur für mich. Aber ich kann Dir ja mal meinen Perlcode+Template zeigen wie ich login/logout als Klasse umgesetzt habe. Sind nur 100 Zeilen. Willste?</p> https://forum.selfhtml.org/self/2019/jun/30/platzhalter-einsetzen/1751738#m1751738 Der Martin 2019-07-01T13:18:22Z 2019-07-01T13:18:22Z Profi <p>Hallo,</p> <blockquote> <p>"Profi" heißt: man bekommt für das, was man tut, soviel Geld, dass man davon leben kann. Das heißt nicht, dass alle Profis gleicher Meinung sind.</p> </blockquote> <p>erstens das, zweitens ist die umgangssprachliche Definition für "Profi" eine andere, nämlich: Jemand, der eine bestimmte Aufgabe sehr gut beherrscht.<br> Im Idealfall treffen beide Eigenschaften zu; selbstverständlich ist das leider nicht.</p> <p>Ciao,<br>  Martin</p> <div class="signature">-- <br> Ein Tag, an dem du nicht wenigstens einmal gelacht hast, ist ein verlorener Tag. </div> https://forum.selfhtml.org/self/2019/jun/30/platzhalter-einsetzen/1751758#m1751758 einsiedler 2019-07-01T15:46:11Z 2019-07-01T15:49:24Z Platzhalter einsetzen <p>Offengestanden habe ich das mit dem Login/Logout u.s.w. von hier <a href="https://www.php-einfach.de/experte/php-codebeispiele/loginscript/" rel="nofollow noopener noreferrer">https://www.php-einfach.de/experte/php-codebeispiele/loginscript/</a></p> <p>Gut finde ich hierbei das sowohl das Passwort als auch der Securitytoken vom "angemeldet bleiben" in der Datenbank als Hashwerte abgespeichert werden.</p> <p>Wobei sich mir nun die Frage stellt, wielange so ein Securitytoken überhaupt "lebensfähig" sein sollte, das fragte ich ja anderswo!</p> <p>Nun, auf jeden Fall wenn man in dem Beispiel dort (das ich individuell umbauen möchte) kommt man , wenn man den LOGOUT Button drückt auf eine Unterseite eben mit dieser Meldung, des weiteren ein Link "Zurück zum LOGIN" das man dann anlicken muss.</p> <p>Doch wenn ich zum Beispiel einen meiner E-Mail Hoster nehme, dann ist es dort fast überall so dass man auf das LOGIN kommt, mit eben dieser Meldung.</p> <p>Einfacher ist es natürlich mit der Zwischenseite, jetzt kommt es wohl darauf an WAS ICH WILL! Hmmmmmm.....</p> <p>Gruß T.</p> https://forum.selfhtml.org/self/2019/jun/30/platzhalter-einsetzen/1751803#m1751803 Gunnar Bittersmann selfhtml@bittersmann.de https://bittersmann.de 2019-07-03T06:53:32Z 2019-07-03T06:53:32Z Profi <p>@@Der Martin</p> <blockquote> <p>zweitens ist die umgangssprachliche Definition für "Profi" eine andere, nämlich: Jemand, der eine bestimmte Aufgabe sehr gut beherrscht.</p> </blockquote> <p>Und jemand, der weiß, dass das, was er nicht gut beherrscht, <a href="https://forum.selfhtml.org/cites/776" rel="noopener noreferrer">irrelevant ist</a>.</p> <blockquote> <p>Im Idealfall treffen beide Eigenschaften zu; selbstverständlich ist das leider nicht.</p> </blockquote> <p><a href="https://forum.selfhtml.org/cites/2317" rel="noopener noreferrer">Natürlich nicht.</a></p> <p>LLAP </p> <div class="signature">-- <br> <em>„Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“</em> —Kurt Weidemann </div> https://forum.selfhtml.org/self/2019/jun/30/platzhalter-einsetzen/1751760#m1751760 Emil 2019-07-01T16:05:24Z 2019-07-01T16:05:24Z Platzhalter einsetzen <p>Das Passwort muss ja vor der Anmeldung gespeichert sein: Damit Du es beim Login vergleichen kannst. Das Passwort nach einer Anmeldung erneut zu speichern ist unsinnig. Vielmehr muss nur gespeichert werden, ob ein Login erfolgreich war. Empfehlenswert natürlich zu speichern auch wer da angemeldet ist und ggf. welcher Benutzergruppe er angehört. Optional auch der Zeitstempel der Anmeldung. MFG</p> https://forum.selfhtml.org/self/2019/jun/30/platzhalter-einsetzen/1751767#m1751767 Matthias Apsel matthias.apsel@selfhtml.org https://brückentage.info 2019-07-02T05:02:20Z 2019-07-02T05:02:20Z Platzhalter einsetzen <p>Hallo einsiedler,</p> <p>Eine Möglichkeit: Du führst zwei Variablen in <code>$_SESSION</code>, etwa <code>logged_in</code> und <code>userid</code>. Beim Logout löschst du die eine zurück.</p> <p>Dann in der Login:</p> <pre><code class="block language-html"><span class="token prolog"><?php session_start(); if (isset($_SESSION['logged_in']) && !isset($_SESSION['userid'])) {?></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>p</span><span class="token punctuation">></span></span>Erfolgreich ausgeloggt<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>p</span><span class="token punctuation">></span></span> <span class="token prolog"><?php session_destroy(); }?></span> </code></pre> <p><strong>Keine Garantie</strong></p> <p><strong>Vollkommen ungetestet</strong></p> <p><strong>Nutzerverwaltung ist ein schwieriges Terrain. Da muss man sehr aufpassen, dass man sich keine Sicherheitslücken einbaut.</strong></p> <p>Bis demnächst<br> Matthias</p> <div class="signature">-- <br> Pantoffeltierchen haben keine Hobbys.<br> ¯\_(ツ)_/¯ </div> https://forum.selfhtml.org/self/2019/jun/30/platzhalter-einsetzen/1751794#m1751794 Rolf B 2019-07-02T18:45:53Z 2019-07-02T18:45:53Z Platzhalter einsetzen <p>Hallo Tassilo,</p> <p>ich bin an der Stelle nicht ganz sattelfest.</p> <p>Aber eins ist klar: Du kannst diesen Header mit der header-FUnktion setzen, oder du kannst in den <head> der Seite ein Meta-Element eintragen:</p> <pre><code class="block language-html"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>meta</span> <span class="token attr-name">http-equiv</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>refresh<span class="token punctuation">"</span></span> <span class="token attr-name">content</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>4; URL=...<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span> </code></pre> <p>Die Wirkung ist gleich. In beiden Fällen verwendest Du einen von Netscape erfundenen und nie standardisierten Response-Header, der aber von den meisten Browsern unterstützt wird.</p> <p>Tatsächlich kenne ich keinen standardisierten und sicher funktionierenden Weg, der den refresh-Header ersetzen könnte.</p> <p>Eine JavaScript-Alternative gibt's noch, aber JS kann ja auch ausgeschaltet sein. Deinen Link brauchst Du also auf jeden Fall.</p> <pre><code class="block language-js"><span class="token operator"><</span>script<span class="token operator">></span> <span class="token function">setTimeout</span><span class="token punctuation">(</span><span class="token keyword">function</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> document<span class="token punctuation">.</span>location<span class="token operator">=</span><span class="token string">"login.php"</span><span class="token punctuation">;</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token number">4000</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator"><</span><span class="token operator">/</span>script<span class="token operator">></span> </code></pre> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - clusi </div>