2016-07-28 8 views
-2

Im obigen PHP-Code habe ich eine Variable $ Wert, die einen Benutzereingabewert enthält. Angenommen, diese bestimmte Seite wird von mehreren Benutzern gleichzeitig aufgerufen. Wie kann der Wert der Variablen für einen bestimmten Benutzer nicht beeinflusst werden? Lassen Sie mich meine Frage klarstellen. Angenommen, Benutzer 'A' greift auf meine Seite zu und setzt den Wert der Variablen $ value auf 10 (Zeile 1), . Bei der Ausführung von Zeile 1000 sollte er den Wert erhalten, den er eingegeben hat, um als Ausgabe angezeigt zu werden. Ich weiß, es wird nicht viel Zeit brauchen, um den Compiler von Zeile 1 bis 1000 zu erreichen, aber unter Berücksichtigung des schlimmsten Falls , wenn der Code zwischen Zeile 1 und 1000 einige Zeit zur Ausführung braucht (zB 2 Sek.) Und zu diesem Zeitpunkt ein anderer Benutzer "B "loggt ein und setzen Sie den Wert der Variablen $ Wert als 99 (Zeile 1), wird der Wert des zweiten Benutzers den Wert des ersten Benutzers beeinflussen? Ich habe dieses versucht, aber ich habe keinen Fehler wie erwartet bekommen. Ich würde gerne wissen, warum es so ist?Wie Variablen auf Websites verwaltet werden, ohne die Werte der verschiedenen Benutzer zu überschneiden

Antwort

2

bleiben für einen bestimmten Benutzer unberührt?

Jedes PHP-Skript erhält seinen eigenen Thread.

Ein Benutzer kann Sachen von einem anderen Benutzer NICHT ändern.

Oder sagen wir, ein PHP-Skript, das zweimal ausgeführt wird, kann das andere nicht manipulieren.

(Nur wenn Sie Sitzungen und der gleiche Benutzer rufen Sie das Skript zweimal in einem Browser verwenden, wo jeder TAB nicht seine eigene Sitzung hat)

Sein wenig wie Sie ein Progamm zweimal starten.

-1

In dem Moment, in dem Sie: $value = $_POST['value']; wird der Wert von $_POST['value'] in $value kopiert: nicht per Referenz, sondern nach Wert; also auch wenn nach 20.000 Zeilen etwas mit $_POST['value'] passiert, solange die Page nicht neu geladen wird; $value enthält immer noch die ihm zugewiesenen ursprünglichen/ursprünglichen Daten; es sei denn, Sie oder jemand anderes hat Zugang zu$valueund tat so etwas wie:$value = 'new value';Andere, dass diejenigen, (und so lange, wie$valueist nicht überall in Ihrem Code überschrieben :)$valuenoch herum haften und behalten sein Wert bis zum Ende Ihres Skripts.