Wieso kann man isset nicht nutzen ?
Selbstverständlich kann man das nutzen aber nur da wo es Sinn macht.
Du hast das isset an einer Stelle benutzt wo es überhaupt keinen Sinn macht, zumal die Variablen, nach denen du gefragt hast an dieser Stelle niemals gesetzt sein können weil du das wiederum in deinem S***** ausgeschlossen hast. Die 1 in deinen Feldern hat einfach nur wahrheitsgemäss angezeigt das die Variablen nicht existieren. 0 = FALSE, 1 = TRUE. Da du nach !isset gefragt hast, wobei das Ausrufezeichen für not steht bekommst du als Antwort ein TRUE, also 1 zurück.
Programmieren ist wie eine gesprochene Sprache, eben mit anderen Vokabeln und Begriffen.
Eine $_GET-Variable wird per Browser als Anhängsel der URL erzeugt. Schau dir mal, wenn du dein Formular abschickst die URL oben an. Da wirst du deine Eingaben wiederfinden.
Jetzt hast du auch den grund warum dein isset nicht hinhauen kann. Du fragst nämlich die beiden Variablen, die du mit dem Formular erst senden willst schon im Formular ab.
Grundsätzlioch macht es beim programmieren keinen Sinn, irgendwelche Code-Schnippsel
zusammen zu kopieren ohne zu wissen was diese eigentlich tun.
Geh dein S***** Stück für Stück durch und versuche zu verstehen was es eigentlich tut, dann wirst du relativ schnell darauf kommen warum etwas nicht funktioniert bzw. keinen Sinn macht.
In einem Formular mit Benutzernamen und Kennwort macht es übrigens keinen Sinn die Value-Werte mit irgendetwas vorzubelegen, das heisst der Parameter Value kommt nicht zum Einsatz.
Noch abschliessend zu deiner Frage welcher Weg noch bleibt:
Eine Variabe kann erst dann genutzt werden, wenn sie auch gesetzt ist. Da beim ersten Aufruf deines S*****s ausser der $PHP_SELF keinerlei eigene Variablen gesetzt sind wirst du immer eine Notice bekommen wenn du auf Variablen zugreifen willst. Dies tust du aber in den values.
Die Variable PHP_SELF ist obendrein unnütz und evtl. sogar gefährlich. Mit PHP_SELF arbeitet man heute nicht mehr da sie die Gefahr von XSS-Angriffen bietet.
Wenn du in einem S***** den eigenen S*****-Namen abfragen willst mach das besser mit $_SERVER['S*****_NAME'].
Eine bestehende globale Variable in eine lokale Variable zu übernehmen macht auch nur dann Sinn wenn diese loakle Variable dann weiterverarbeitet wrd. Das ist bei dir nicht der Fall also kannst du auch einfach die globale variable in action schreiben.
|