2010-12-02 11 views

Antwort

6
  • erhalten, wenn Daten
  • POST zeigt, wenn Daten modifiziert
  • Sitzung, wenn Daten zwischen den Anforderungen zu speichern, die nicht bleiben muss, nachdem die Sitzung
  • Datenbank (oder einem anderen Dauerspeicher), um Daten abläuft, dass muss zwischen den Sitzungen rumhängen

Cookies; mehr oder weniger nie. Alles, was Sie dort platzieren würden, könnte fast immer besser in der Sitzung gespeichert werden. Vielleicht nur für dauerhafte Logins.

Versteckte Felder; Verwenden Sie fast nie wieder eine Sitzung und bewahren Sie die Daten auf dem Server auf. Manchmal als Speicherpunkte für Daten verwendet, die über Javascript gesammelt wurden, aber das war's.

+0

Stimme völlig zu. +1 – Nigel

+0

+1, die es ziemlich nett zusammenfasst. Ich habe nichts hinzuzufügen. –

+0

Ich würde zustimmen, außer für die Sitzungen zugunsten versteckter Felder. Dieser Weg führt zu Rennbedingungen. Lassen Sie Sitzungen für Daten, die für das Leben der Sitzung bestehen müssen (oder bis sie geändert wurden), nicht für kurzfristige Dinge. – Quentin

1

Ich bevorzuge Sessions. Es ist die einzige Option, die Sie oben erwähnen, dass Server-Seite ist.

Wenn Sie Informationen von Ihrem Client auf Ihren Server übertragen möchten, können Sie entweder POST oder GET verwenden. Denken Sie daran, dass ein verstecktes Feld am Ende ein Post von get Variable wird.

Get, Post, Cookies und versteckte Felder können alle relativ einfach manipuliert werden. Welche Option Sie auswählen, stellen Sie sicher, dass Sie Ihre Variablen immer auf Gültigkeit prüfen. Benutzereingabewerte können niemals vertrauenswürdig sein!

+0

Allerdings ist es notwendig, Daten von Client zu Server zu übertragen, so dass Sitzungen allein nicht ausreichen. –

+0

Und Sitzungen können Rennen Bedingungen riskieren. Es gibt keine einheitliche Antwort, es hängt sehr stark davon ab, welches Problem gelöst wird. – Quentin

1

All diese Dinge haben unterschiedliche, manchmal überlappende Anwendungen. Wenn man sich für die Entwicklung einer vollständigen Anwendung entscheidet und nur diese verwendet, führt dies zu einem lächerlich schlechten Missbrauch. Sie brauchen eine spezifischere Frage.

-1

Sitzung ist die am besten geeignete Methode, um bestimmte Werte zu übergeben. Aber wenn Sie die Anzahl der Variablen in einer einzigen Zeit senden möchten, dann ist Post die beste Methode.

0

Hängt von der Website und wenn Sie die Daten übergeben müssen.

Wenn seine auf Seite ein Cookie laden, wenn Sie Sitzungen eine Sitzung haben, wenn Ihr ein Formular abgeschickt werden (die HTTP POST oder GET), wenn die Vorlage und Sie nicht den Benutzer wollen ein verstecktes Feld mit einem Formular nachschauen (das ist HTTP POST oder GET), über die URL (GET) und schließlich, wenn es eine AJAX zB Web App ist, haben Sie mehrere Optionen und Methoden zu öffnen (HTTP GET, PUT, POST und DELETE - siehe RESTful APIS für ein gutes Beispiel).

Hinweis mit allen HTTP GET, PUT, POST und DELETE Methoden, die Sie noch Cookies und Sitzungen können auch

1

ich in der Regel auf ein paar einfache Regeln halten:

GET - für Informationen zu bekommen.

Zum Beispiel:

  • site.com/articles/category/2 oder site.com/articles.php?category=2 zeigt mir alle Artikel für die zweite Kategorie

  • site.com/search/mike oder site.com/search.php?q=mike sucht nach mike vor Ort

POST - für die Aktualisierung oder das Einfügen Daten

Versteckte Felder in POST/GET-Formularen aus verschiedenen Gründen, oft für IDs oder so ähnlich

Sitzung - für Daten für eine Sitzung. Speichern einiger Benutzereinstellungen, Benutzerdaten.

Cookies - für "remember me" Funktionalität und einige JS stuff (weil JS nicht Session Daten erreichen)

P. S. Es gibt auch PUT und DELETE Methoden, aber einige Shared Hoster erlauben sie nicht ...

Verwandte Themen