Ankündigung

Einklappen
Keine Ankündigung bisher.

Probleme bei Browser-Aktualisierung

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Jule
    hat ein Thema erstellt Probleme bei Browser-Aktualisierung.

    Probleme bei Browser-Aktualisierung

    Hallo zusammen,

    ich bin neu hier und blutiger php-Anfänger. Jegliches Suchen nach der Lösung meines Problems schlug bisher fehl, falls es doch schon mal irgendwo erläutert wurde, bin ich dankbar über den passenden Link.

    Ich prgrammiere gerade einen sehr vereinfachten Web-Shop in php. Der Benutzer stellt siche eine bestimmte Artikelsammlung zusammen und wird dabei durch mehere Formulare geleitet und zum Schluss bekommt er noch mal eine Zusammenfassung, wo er sich entscheiden kann, ob er gewisse Artikel löscht, die Sammlung noch mal bearbeitet oder sie in den Warenkorb legt.

    Dazu habe ich eine Tabelle, die alle Artikel mit Menge und Preis auflistet. Hinter jeder Zeile ist ein Lösch-Icon. Momentan ist dieses Icon mit einem Link hinterlegt, welches das Formular, auf dem es sich gerade befindet erneut aufruft und dabei dei Zeilen-ID mit übergibt. Anschließend wird ausgewählte Zeile gelöscht und die Seite erneut angezeigt.
    Da ich die php-Seite per Link aufrufe, übergebe ich die Parameter mit <a href="http://127.0.0.1/shop/review.php?del=$id">...</a>.
    Wenn ich also den ersten Artikel lösche, wird die Seite "http://127.0.0.1/shop/review.php?del=1" aufgerufen. Wenn nun der Benutzer auf die Idee kommt, den Browser mit dem Aktualisieren-Button zu aktualisieren, wird bei jedem Klick immer und immer wieder das erste Element der Artikelliste gelöscht, da per $_GET['del'] immer "1" aus der URL ausgelesen wird. Kann mir jemand sagen, wie man das verhindern kann? Oder sollte ich das Ganze grundsätzlich anders umsetzen?

    Gruß
    Julia

  • Papst
    antwortet
    So bietet sich dir auch die Möglichkeit das ganze irgendwann in eine DB zu packen, als "Favoritenliste" oder Merkliste o.ä.

    Einen Kommentar schreiben:


  • Jule
    antwortet
    Hab ich jetzt auch gemacht, ging schneller als erwartet, hab mal wieder zu kompliziert um die Ecke gedacht
    Danke!

    Einen Kommentar schreiben:


  • Thoresus
    antwortet
    Aber die absoluten ID's würde ich dir auch empfehlen...

    Einen Kommentar schreiben:


  • Jule
    antwortet
    Danke für eure Antworten!

    Einen Kommentar schreiben:


  • Thoresus
    antwortet
    Du schreibst in deine review.php

    PHP-Code:
    if(isset($_GET["id"])){
         
    //Datensatz löschen
         //...
         
    header("Location:review.php");

    Einen Kommentar schreiben:


  • Jule
    antwortet
    Was genau meinst du damit?
    Kannst du das vielleicht ein wenig näher erläutern? Meine php-Kenntnisse sind noch nicht so gut.

    Ich weiß, dass man per Header weiterleiten kann, weiß jetzt aber nicht genau, wann und wie ich ihn genau einsetzen soll, damit der Benutzer keinen Reload mehr machen kann.

    Einen Kommentar schreiben:


  • 1988UR
    antwortet
    Hallo,

    So wie Papst schon schrieb
    Hi,

    wie speicherst du die Artikel (den Warenkorb) in PHP ?
    Das einfachste wäre, wenn du eindeutige ID's verwendest, anstatt die Zeilennummer.
    Ist ist sicher einfacher wenn du eindeutige ID's verwendest denn so ist auch dein Datensatz dann eindeutig denn wenn du es so lassen würdest dann wirst du den Fehler immer wieder bekommen.

    Gruß

    Einen Kommentar schreiben:


  • Thoresus
    antwortet
    Du kannst den Benutzer einfach per Header weiterleiten, dann sollte man nicht reloaden können...

    Einen Kommentar schreiben:


  • Jule
    antwortet
    Hallo Papst,

    an der Stelle wird noch nicht in den Warenkorb gespeichert, der Benutzer soll erst seine zusammengestellte Liste überprüfen, bevor er sich entscheidet sie in den Warenkorb zulegen. In dem Moment ist seine Auswahl nur in der Session gespeichertz und er kann einzelne Artikel wieder aus der Session löschen.
    Momentan arbeite ich nicht mit eindeutigen ID's und müsste dazu sämtliche Formulare umschreiben, gibt es keine andere Lösung?

    Einen Kommentar schreiben:


  • Papst
    antwortet
    Hi,

    wie speicherst du die Artikel (den Warenkorb) in PHP ?
    Das einfachste wäre, wenn du eindeutige ID's verwendest, anstatt die Zeilennummer.

    Einen Kommentar schreiben:

Lädt...
X