Was genau macht hier isset?

5 Antworten

Von Experte ohwehohach bestätigt

Gibt true zurück, wenn v_Kunde im POST-Request gesetzt ist.

Kann man auch selber suchen: https://www.php.net/manual/en/function.isset

Woher ich das weiß:Berufserfahrung – Informatiker Applikationsentwicklung

Isset heißt nicht isset, sondern is set. Vielleicht macht es so dann auch mehr sinn zum Verständnis. Es fragt ab, ob die Variable gesetzt wurde / zugewiesen wurde. Demnach, wenn $_POST["..."] keinen Wert enthält, weil es nicht gesetzt wurde, dann wird isset zu false und wurde ein Wert gesetzt, dann wird isset zu true. Welcher Variablen typ dabei darein geschmissen wird ist isset egal, hauptsache eine Variable, anhand welcher der zurückgeben kann, ob sie vorher einmal gesetzt wurde oder nicht.

Willst du $_POST[...] an eine Variable zuweisen, aber Post existiert nicht, wird dein Script in einen Fehler laufen. Wenn du Isset vorher abfragst, kannst du damit den Fehler verhindern, ohne Fehler global deaktivieren zu müssen


isset prüft, ob eine Variable einen zugewiesenen Wert hat. In diesem Fall wird geprüft, ob im Dictionary $_POST ein Wert mit dem Key "v_Kunde" enthalten ist.

Generell empfiehlt es sich, bei solchen Fragen zu googeln und die Doku zu lesen. Da steht's.

Abgesehen davon: Dieser Code ist eine Unverschämtheit. Man sollte doch im Jahr 2022 gelernt haben, dass man keine ungeprüften Eingaben von Außen (und schon gar nicht aus einem POST-Request) unbereinigt verwendet - vor allem nicht, wenn es um Datenbankabfragen geht.

Es wird geprüft, ob die Variable gesetzt wurde: " is set ?".

Wenn ja, geht's weiter wenn nein, dann nicht!

Schnelles googeln ergibt:

isset() ist eine Funtkion welche prüft ob eine Variable != NULL ist, also ob ihr ein Wert zugewiesen wurde, ist dies der Fall wird True ausgegeben, ansonsten False.


ohwehohach  29.03.2022, 08:21

Um das heutige Korinthenkackerkontingent anzubrechen: Genau genommen ist es keine Methode, sondern eine Funktion. Methoden gibt es nur in Klassen.

1
Drakonir  29.03.2022, 08:23
@ohwehohach

Da hast du wohl recht, ich bin leider Java-Nerd, dort gibt es keine Funktionen ;D

1