Deutsch
PHP, HTML & JavaScript- Forum

PHP - Variablen ohne URL-Anhang übergeben ohne Formular

 
- Seite 1 -



Julian
Schmidt
Hallo,
folgende Situation. Ich habe hier[...]  eine Link-Liste mit der ich Variablen per Get an eine PHP-Datei[...]  ü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 für den Anwender unsichtbar übertragen werden.
Normaler Weise verwendet man für solche Zwecke die Funktion Post. Kann ich in diesen Fall allerdings nicht anwenden da ich kein Formular verwende.

Was gibt es für 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
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
30.03.2013  
 



 
- Seite 1 -


Also für $_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.
 
31.03.2013  
 




Julian
Schmidt
Jo klappt. Darf den Button aber nicht Display none setzen da Javascript deaktiviert sein könnte. :p
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
31.03.2013  
 




Julian
Schmidt
hmmmm....gefällt mir irgendwie nicht so gut. Glaub ich machs jetzt doch lieber per Session und Weiterleitung per Header...
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
31.03.2013  
 




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"];
 $Datei = $_SESSION["Datei"];

Gruß

Julian
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
31.03.2013  
 



Funktioniert dann aber nicht wenn man mit mehreren Tabs arbeitet,
also wenn man eine andere Datei anzeigen möchte als die die
zuletzt die Sessionwerte gesetzt hat.
 
31.03.2013  
 




Julian
Schmidt
Doch, solange man nicht aktualisiert.
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
31.03.2013  
 




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 könnte es dann natürlich dennoch zu Doppelungen kommen.

[OFFTOPIC]Hoffe das geht so von der Syntax[/OFFTOPIC]


Bessere Ideen???
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
31.03.2013  
 



Das klingt für 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.
 
31.03.2013  
 




Julian
Schmidt
hmmm...was hab ich mir denn gerade wieder für nen Humbug überlegt .
Kann doch nicht nen Variblennamen abfragen den ich nicht wieder rekonstruieren kann, da ich die Variablen nicht übergeben habe.
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
31.03.2013  
 



 
- Seite 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, den Wert 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
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
31.03.2013  
 



$_SERVER['HTTP_REFERER'] nutzt Dir dann nichts, wenn Du mehrere Quelltexte
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 anzeigen soll.

Das geht per GET oder per POST oder per Cookie, aber Cookie setzen per JS
magst Du vermutlich 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-Datei 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 /
 
31.03.2013  
 




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 für deine Mühen.
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
31.03.2013  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

35.768 Betrachtungen

Unbenanntvor 0 min.
Peter Max Müller vor 26 Tagen
p.specht29.11.2020
Georg Teles12.12.2019
Member 794588001.11.2018
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

Julian Schmidt (10x)
iF (5x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie