| |
|
|
 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 |
|
|
| |
|
|
|
 | Könntest Inhalt von $_SERVER['HTTP_REFERER'] als Indiz verwenden.
Oder machst doch kleines Post Formular mit input type hidden value="includes/quelltexte/ProgressBar.inc" name="Datei" |
|
|
| |
|
|
|
 Julian Schmidt | Meinst du das in etwa so. Code [...] , Live [...] . Muss allerdings leider immer erst den Buttonzum Abschicken bestätigen. Geht es anders? |
|
|
| |
|
|
|
 | 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. |
|
|
| |
|
|