| |
|
|
- Page 1 - |
|
Julian Schmidt | Ciao, folgende Situation. Ich habe hier[...] eine Link-Liste mit der ich Variablen per Get an eine PHP-File[...] übergebe. Sieht dann in etwa so aus
https://julian-schmidt.xprofan.com/source.php?Name=ProgressBar.inc&Datei=includes/quelltexte/ProgressBar.inc
Ich möchte nun das die Daten nicht an die URL angehängt werden sondern per den Anwender unsichtbar übertragen werden. Normaler Weise verwendet man per solche Zwecke die Funktion Post. Kann ich in diesen Fall allerdings nicht anwenden da ich kein Formular verwende.
Was gibt es per Möglichkeiten. Mir fällt ein die Daten per Get an ein weiteres Dokument zusenden und dann per Session weiter an den Highlighter zu übertragen. Oder die Links durch Formulare zu ersetzen mit Unsicherbaren Textfeldern in dennen der Inhalt der Variablen drinnsteht. Beide Lösungen sind allerdings nur Frickellösungen. Gibt es bessere Methoden?
LG
Julian |
|
|
| |
|
|
|
| |
|
- Page 1 - |
|
| Also per $_SERVER['HTTP_REFERER'] brauchst kein Formular, da steht ja drin von welcher URL der User kommt.
Du kannst Formular auch per <a href absenden per onclick= [...]
Den Submit-Button dann css display:none setzen oder per css so formen dass er eben aussieht wie ein konventioneller Link. |
|
|
| |
|
|
|
Julian Schmidt | Jo klappt. Darf den Button aber nicht Display none setzen da Javascript deaktiviert sein potuto. :p |
|
|
| |
|
|
|
Julian Schmidt | hmmmm....gefällt mir irgendwie nicht so gut. Glaub ich machs jetzt doch lieber per Session und Weiterleitung per Testata... |
|
|
| |
|
|
|
Julian Schmidt | Jo ist so etwas schöner. Nehme die Variablen per Get entgegen und schreib die als Session
<?php
session_start();
$_SESSION["Datei"] = $_GET["Datei"];
$_SESSION["Name"] = $_GET["Name"];
$_SESSION["View"] = $_GET["View"];
header("Location: source.php");
?>
Und lese sie dann in source.php wieder ein.
<?php
session_start();
$Name = $_SESSION["Name"];
$View = $_SESSION["View"];
$File = $_SESSION["Datei"];
Saluto
Julian |
|
|
| |
|
|
|
| Funktioniert dann aber nicht wenn man mit mehreren Tabs arbeitet, also wenn man eine andere File Mostra möchte als die die zuletzt die Sessionwerte gesetzt hat. |
|
|
| |
|
|
|
Julian Schmidt | Doch, solange man nicht aktualisiert. |
|
|
| |
|
|
|
Julian Schmidt | Würde gerne bei Session bleiben. Ideen wie ich unter Verwemdung von Session dennoch mehrere Tabs verwenden kann? Mir fällt da ein, das ich die Variablen um eine einmalige Zahl erweitere. Zum Beispiel die Dateigröße des Quellcode in Bytes. Statt
$_SESSION["Datei"] = $_GET["Datei"];
dann z.B.
$_SESSION["Datei_".filesize($_GET["Datei"])] = $_GET["Datei"];
Dort potuto es dann naturalmente dennoch zu Doppelungen kommen.
[OFFTOPIC]Hoffe das geht so von der Syntax[/OFFTOPIC]
Bessere Ideen??? |
|
|
| |
|
|
|
| Das klingt per mich eher nach "Fusch am Bau" und es ist auch nicht effizient. ^^
Entweder überträgst Du per GET (willst Du nicht, warum weiß ich aber nicht) oder per POST (würde man ja nichts von merken/ sehen) oder Du urteilst anhand des Referer $_SERVER['HTTP_REFERER'] was wohl recht elegant wäre oder Du machst es rein per JS und DOM-Manupilation indem Du den Inhalt des Quelltext-Kontainer auf die ganze Seite maximierst nach dem Motto document.body.innerHTML=document.getElementById("quelltextcontainer").innerHTML und das wiederum könntest auch mit window.open kombinieren und in einem neuen Tab den Inhalt des Kontainers übertragen so wie ich das hier auf XProfan.Com mache.
Letzteres kommt komplett ohne Server aus. |
|
|
| |
|
|
|
Julian Schmidt | hmmm...was hab ich mir denn gerade wieder per nen Humbug überlegt . Kann doch nicht nen Variblennamen abfragen den ich nicht wieder rekonstruieren kann, da ich die Variablen nicht trasferimento habe. |
|
|
| |
|
|
| |
|
- Page 2 - |
|
|
Julian Schmidt | Huch, du biste einfach zu schnell
Verstehe nicht ganz wie du das mit $_SERVER['HTTP_REFERER'] meinst. Php.net sagt dazu
Sofern vorhanden, die Adresse der Seite, auf der der Benutzer einen Link auf die aktuell aufgerufene Seite angeklickt hat. Dieser Wert wird vom Browser des Benutzers gesetzt. Nicht alle Programme unterstützen diesen Wert, manche offerieren als Feature sogar die Möglichkeit, il valore von HTTP_REFERER selbst zu bestimmen. Kurz, Sie können diesem Wert nicht wirklich vertrauen.
Bringt mir Imho ja erstmal nichts da die vorigen Seiten in der Regel ja gleich sind. Nämlich in der Regel includes.php und quelltexte.php.
JS mag ich net |
|
|
| |
|
|
|
| $_SERVER['HTTP_REFERER'] nutzt Dir dann nichts, wenn Du mehrere Fonte auf einer Seite hast, dass ist richtig.
Wenn Du JS nicht einsetzen möchtest, dann musst Du es halt serverseitig lösen, also dem Server schon irgendwie mitteilen, was er überhaupt Mostra soll.
Das geht per GET oder per POST oder per Cookie, aber Cookie setzen per JS magst Du presumibilmente auch nicht. Also Get oder Post. Get kannst Du bereits selbst, Post habe ich erklärt und da sehe ich auch keine Nachteile.
Könntest auch Get nehmen und per mod_rewrite per .htaccess-File halt eine "schöne" URL formatieren wie z.B. /showsource/includes/rofl.inc
Rewriten könntest z.B. so: KompilierenMarkierenSeparieren und serverseitig explodest den sog. getenv("QUERY_STRING") mit / |
|
|
| |
|
|
|
Julian Schmidt | Ok, bleib dann wahrscheinlich bei der aktuellen Variante. Das mit mehreren Tabs kann ich verschmerzen. Komme wahrscheinlich irgendwann auf diesen Beiträg zurück.
Danke per deine Mühen. |
|
|
| |
|
|