$_POST Variablen "verlinken"

  • Hallo zusammen
    erst mal sorry für den Titel, vllt fällt einem Admin hier was besseres ein :roll:
    hab aber keine Ahnung wie ich das Problem nennen soll, geschweige denn eine gescheite google-Suche auf die Beine stellen soll...

    zur Sache:
    ich baue meine Scripts mit if/elseif-Schleifen auf. Die versch. Code-Teile werden aufgerufen, wenn die Variable aufgerufen wird, also

    Code
    if ($_POST['edit']) {...}
    elseif ($_POST['new']) {...}
    elseif ($_POST['delete']) {...}
    usw.
    else {...}


    Folgendes Szenario:
    Ich rufe die Variable "edit" auf, weil ich einen Gästebucheintrag als Admin bearbeiten möchte.

    Code
    <input type="submit" name="edit" value="bearbeiten">


    Nach dem mysql-update kommt eine Meldung, dass alles geklappt hat (echo). Nun möchte ich aber automatisch wieder auf die "edit"-Variable geleitet werden. Wenn ich mit <meta http-equiv="refresh" content="0"> arbeite, gelange ich aber auf die Hauptseite zurück und muss nochmal neu die Variable "edit" aufrufen.
    Kann sich jemand vorstellen, was mein Problem ist und mir vllt dazu noch helfen???

    mFg
    K. R. Eyden

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress, WoltLab & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

    Wenn du Fragen hast, kannst du dich gerne jederzeit an @Maximilian Rupp wenden

    Hinweis:

  • moin, also soweit ich verstanden habe benötigst du:

    PHP
    <?php
    if($_REQUEST["edit"]){
       //mysql blabla
       //echo blabla
       header("LOCATION: " . $_SERVER["PHP_SELF"]."?edit=".$_REQUEST["edit"])
    }
    .....
    ?>


    Wäre mal so ein kleiner Denkansatz. Damit kannst auch dieses
    Metakrams wechlassen.
    Achtung du musst aber mittels $_REQUEST abfragen, da die Übergaben sowohl per Post als auch per Get dann durchlaufen!

    Grüsse

  • Naja du musst die Post-Variable schon von jeder Seite neu "mitschleifen". D.h. auf der letzten Seite wo du momentan (was du nicht willst) wieder auf die Hauptseite kommst, musst du ihm die Variable "edit" nochmal mitgeben.

  • oh mann ich steh aufm Schlauch :wand:

    mein Script sieht momentan ungefähr so aus:

    Code
    if ($_REQUEST['edit']) {
    echo 'Bearbeitungsformular für den Gästebucheintrag
     <input type="submit" name="insert" value="bearbeiten">'; }
    if ($_REQUEST['insert']) {
    //$insert = (per mysql in Datenbank eintragen...);
       if (isset($insert)) echo 'da soll nun die header-Funktion rein'; }


    Zurückgeleitet werden soll auf 'edit'

    mFg
    K. R. Eyden

  • Zitat von K. R. Eyden

    passiert auch nix :(
    bzw. das Design geht Schrott dabei

    Dann stimmt aber generell schon was nicht, dann greif auf dein meta zurück, da kannst dann auch ne zeitgesteuerte Weiterleitung mit ausgabe generieren, anbei ein Sample (obwohl ich generell reinen HTML in PHP rein gar nicht befürworte!):

    Code
    if (isset($insert)) { 
    $timer = 5; //in sec weiterleiten
    $url = $_SERVER["PHP_SELF"]."?edit=1";
    unset($_POST,$_GET); //Alte Post und Get Übergaben löschen
    echo "<meta http-equiv="refresh" content=\"".$timer."; URL=\"".$url."\">
    Vielen Dank für Ihre Aktion. Sie werden in ".$timer." sec weitergeleitet, sollte dies nicht erfolgen klicken sie bitte <a href=\"".$url."\">hier</a>";
    }
  • ne, mein Script weiß nicht, wie es den Code ?edit=1 interpretieren soll, glaube ich
    mit diesem Script werde ich wieder auf die Hauptseite geleitet, also kein Unterschied zu <meta> ohne die URL-Angabe

    mFg
    K. R. Eyden

  • :lol: danke, Leute, ich habs endlich!!!
    Hab einfach mal ein Beispiel-Script geschrieben, und da funktioniert das ganze super klasse, sogar mit der Header-Funktion!

    Beispielscript:

    Das ganze in Aktion: hier

    Ich vermute, dass es die ganze Zeit nicht funktionierte, weil ich verschachtelte if-Abfragen hatte

    Vielen Dank auf jeden Fall :)

    mFg
    K. R. Eyden

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!