onclick ersetzen, php Datei enthalten
Ich bin nicht sicher, ob das, was ich versuche zu tun, ist möglich, aber hier ist es.
Ich habe einen header, innerhalb dieser header ist eine php-include für "login.php"
Auf "login.php" ist ein link, der führt den Benutzer zu "forgot.php".
Was ich gerne tun würde, anstelle von dem Benutzer ergriffen werden, um "forgot.php" ist nur die Seite aktualisieren mit "login.php" gehören ersetzt "forgot.php" oder eine Art von Inhalt wechseln, in der Art, wie mit einem Iframe.
Ich will nicht zu bringen, den Benutzer zu einer neuen Seite, ich will nur wechseln die Inhalte angezeigt, in meinem Kopf.
Vielen Dank für jede Hilfe Sie bereitstellen können, code-samples geschätzt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie versuchen, um dies zu erreichen, ohne die Seite neu zu laden, müssen Sie AJAX verwenden.
Wenn Sie wollen, nur halten Sie die login.php vielleicht können Sie etwas tun:
mit php so etwas wie
a href
tag Aussehen klar die?p=forgot
<a href="?p=login"
denn gemäß der Anweisung oben wird es automatisch ersetzen mit login.php so ist es ein work-around für jetzt<a href="login.php">
ohne den query-stringPHP geparst wird, in seiner Gesamtheit, bevor die Seite angezeigt wird im browser eines Benutzers, also Dinge wie
onclick()
oderonsubmit()
werden vorgestellt, die in JavaScript (client-side-Sprache) sind nicht verfügbar in der PHP.Es ein paar Lösungen möglich:
1) AJAX Verwenden, um eine Anfrage an den server, und ersetzen Sie den HTML-content auf der Seite mit dem Ergebnis.
2) Wie Sie bereits erwähnt, iFrames verwenden.
3) Haben eine versteckte
<div>
auf Ihrelogin.php
Seite, enthält der HTML-Code fürforgot.php
, und verwenden Sie einen einfachen JavaScript -onclick()
Methode, tauschen Sie die Seite Inhalt. In diesem Fall, beide "Seiten" eigentlich müssten sich alle in derselben Datei vonlogin.php
.Ich denken kann, zwei Dinge:
Was ich tun würde, unter der Annahme, dass die Unterschiede zwischen Ihrem login.php und forgot.php nicht zu unterscheiden, weil Sie sich nicht, um die Seite ändern, ist das setzen der html-Code für die forgot.php nur unten der html-Code für die login.php und verstecken die login.php html und zeigen die forgot.php content.
Beispiel:
Javascript:
Sonst, Sie könnte verwenden Sie einen ajax-Aufruf von der Seite und legen Sie die erforderlichen Elemente. Dies würde eine deutliche pause.
Können Sie nicht ändern Sie die include-Anweisung von javascript, da das Skript bereits ausgeführt wurde, durch die Zeit, sehen Sie Ihre Seite im browser.
Ajax verwenden, um dinamically ändern Sie den Inhalt der Seite ohne Aktualisierung.
Wenn Sie jquery-code wäre ziemlich einfach:
<script type="text/javascript"> $('#link').click(function() { $.get('forgot.php', function(data) { $('#headerdiv').html(data); }); }); </script> <a href="#" id="link">forgot</a>