Menü mit "versteckter" Parameterübergabe

MarioR

Mitglied
Hallo,

ich möchte mir ein Menüsystem proggen, welches ohne Links ala "index.php?teil1=50&teil2=3&werta=5..." auskommt.

Soweit wie ich bisher gelesen und "gedacht" habe müsste ich die Parameter mit einer Superglobalen Variable $_POST, $_SESSION übergeben. Richtig :confused:

Ich möchte die Parameter nicht in Cookies packen, da "wenn Cokkies=AUS dann ...". :sad:

Wenn ich $_POST verwende => Gibt es eine Möglichkeit $_POST-Variablen Ohne Formular zu erzeugen ?

Gruß Mario
 
Zuletzt bearbeitet:
Wäre mir nicht bekannt dass $_POST ohne Formular zu füllen ist.
Da wären dann Sessions eher zu empfehlen

Wobei meiner Meinung nach, die $_GET - Methode immer noch die einfachere und bessere ist
 
Das Problem kannst du nur mit einer Clientscriptsprache wie JavaScript lösen.

Code:
<script>
function menu(EventElement)
 {
  document.getElementById("hideObj").value=EventElement.id;
  document.getElementById("forms").submit();
}
</script>

//Div Element
//Event =
<div id=1 onClick="menu(this)";>menu1</div>

Beim Eventaufruf speichert er die id des onclick Elementes in einem versteckten hidden Feld(hideObj), dass dann per form submittet wird. Der Rest sollte klar sein.

In diesem Sinne
 
aber da javascript auch deaktiviert werden kann fällt diese methode auch weg...

du könntest das apache modul mod_rewrite benutzen, dann sieht ne url zb so aus:
link.php?4,2,11029
 
Hi,

ich glaube, ich habe die Lösung.
Die Parameter werden in ein ARRAY geschrieben und in der PHP-Datei
serialisiert und verschlüsselt und dann an den Linkparameter angehangen.
In der Ziel-PHP-Datei wird der Parameter dann entschlüsselt und deserialisiert,
damit habe ich dann ein ARRAY zur Verfügung, welches ich auswerten kann.

Ich habe eine ganze Weile mit Formularen (versteckte Inputfelder, Buttons,
Labels etc.) probiert. Jedoch finde ich, dass einmal die Optic nicht gerade
besticht (z.B. :hover ist bei Label's und Button's nur mit Javascript möglich...)
und zum anderen stehen die Parameter dann immernoch im Klartext in der
HTML-Datei.

Ja, ein "vernüftiger" Progger kann auch die Codierung knacken.
Aber darum geht es mir auch garnicht, sondern nur darum,
dass der Normaluser nicht gleich alle Parameter sieht, welche
für die Steuerung der Hompage oder der Anwendung nötig sind.
z.B.: Tabellennamen, id's etc.

hier nun noch den Code:

PHP:
  // in die Datei i1.php
<?php
  $parameter["wert1"]=1;
  $parameter["wert2"]=2;
  $parameter["wert3"]=3;
  $parameter["wert4"]=4;
  $parameter["wert5"]=5;
  $parameter["wert6"]=6;
  $parameter["wert7"]=7; 
  $uebergabe = base64_encode(serialize($parameter)); 
  echo 'Parameter = ';
  print_r($parameter);
  echo '<br>Übergabeparameter = ';
  print_r($uebergabe);
  echo '<br><br><a href="i2.php?param='.$uebergabe.'">weiterleiten</a>';
?>

  // in die Datei i2.php
<?php
 $parameter=unserialize(base64_decode($_GET["param"]));
 echo 'Parameter = ';
 print_r($parameter);
?>
 
Zuletzt bearbeitet:
Wieso machst du dir das so kompliziert?
Hör mal.
Wenn du deine Webpage so programmierst, dass Sie steuerbar ohne Admin Zugriff ist, dann musst du schon etwas umdenken. Validiere Userdaten und vergleiche diese mit vordefinierten Richtlinien auf konquenz. Wenn gefunden, dann kann der User auf die Seite gelangen.

Ausserdem würde ich all zulange Daten per Adresse auch nicht übergeben. Diese sind nämlich begrenzt.

In diesem Sinne
 
Hallo,

die Contentverwaltung der Homepage ist sowieso Passwort und Benutzer abhängig.

Mir ging es ebend nur um die meiner Ansicht nach nicht so schönen Aufrufe wie
index.php?.................´mit 'zig Parametern. Da ich sonst C++ programmiere
empfinde ich solche offenen Parameterübergaben als "unschön", ist ebend
meine Ansicht.

Sollte ich eine elegantere Lösung finden werde ich diese mal Posten.

bis dann
und noch einen schönen Sonntag

Mario
 
Hallo,

das gleiche Problem hab e ich bei mir auch gerade. Ich bin grad dabei einen Versuch mit Sessions zu starten. Da nach dem Login sowieso eine Session gestartet wird, können die Parameter ja auch in die Session gespeichert werden.

Das ganze habe ich bereits realisiert mit eine Formular, welches über mehrere Seiten geht. Dazu werden die einzelnen Daten in Array gepackt, das Array in die Session gespeichert und am Ende wieder aus der Session geholt und gelöscht.

Mit Formularen ist das auch kein Problem, doch mit einfachen Links wird es schon etwas komplizierter. Vielleicht hat ja dazu jemand mal einen Lösungsansatz?

Gruß Raver
 
Zurück