Php-Frage
-
Hallo PHP-Freunde.
Ich arbeite gerade dieses (http://alice-grafixx.de/PHP-MYSQL-Tutorial/Gaestebuch-mit-Adminfunktion-77) Gästebuch Tutorial durch.
Die meisten Grundlagen kenne ich, da ich früher mich schonmal bisschen mit PHP beschäftigt habe (hab aber auch einiges vergessen ) und ich mit C++ arbeite und von daher die ein oder andere Synthax nachvollziehen kann.Natürlich will ich nicht einfach den fertigen Code irgendwo reinkopieren sondern ihn auch verstehen und nachvollziehen
Erste Fragen:
Zeile 19:
_GET['action']) ? ($_GET['action']) : "";Was bedeutet das "?". (Vermute ein "oder" oder "und")
Der Operator ist mir so nicht bekannt. Und was genau macht die Zeile überhaupt:
Sie prüft ob Get Action leer ist. Aber wie definierst sich action? Woher weiß er, dass z..b delete ne action ist?Zweite Frage zu Zeile 29
$rang = $_SESSION['rang'];Was genau hat es mit action == "delete" && $rang == 1) {
....
Wird da doch auch gemacht?
Was wäre wenn ich nun oben dieses Session nicht hätte und Rang einfach auf 0 gesetzt und auch so geprüft hätte? Sprich wenn
Variabel X = 0 --> Kein Login
Varibal X = 1 --> LoginUNd Zeile 33 bin ich mir auch nicht sicher:
# Wenn das Admin-Passwort falsch eingegeben wurde erscheint eine Fehlermeldung if (isset($_POST['submit']) && $pass != $passwort){ echo "Falsches Passwort!"; }
isset überprüft ja ob die Varibael leer ist.
aber in dem Fall soll er doch das Passwort nur überprüfen wenn jemand Sumbit/Login benutzt. Aber denn ist doch sumbit = 1 ?
Jetzt geht er doch nur in die If Anweisugn wenn
- submit = 0
und
- das passwort falsch
ist
-
Huhu,
?: - Operator gibt es auch in C++.
(a < b ) ? 1 : 2
Wenn 'a' kleiner 'b' TRUE ergibt, wird 1 zurückgegeben, sonst 2.
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum Webzeugs verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Knacki schrieb:
Hallo PHP-Freunde.
Ich arbeite gerade dieses (http://alice-grafixx.de/PHP-MYSQL-Tutorial/Gaestebuch-mit-Adminfunktion-77) Gästebuch Tutorial durch.
Die meisten Grundlagen kenne ich, da ich früher mich schonmal bisschen mit PHP beschäftigt habe (hab aber auch einiges vergessen ) und ich mit C++ arbeite und von daher die ein oder andere Synthax nachvollziehen kann.Natürlich will ich nicht einfach den fertigen Code irgendwo reinkopieren sondern ihn auch verstehen und nachvollziehen
Erste Fragen:
Zeile 19:
_GET['action']) ? ($_GET['action']) : "";Was bedeutet das "?". (Vermute ein "oder" oder "und")
Der Operator ist mir so nicht bekannt. Und was genau macht die Zeile überhaupt:
Sie prüft ob Get Action leer ist. Aber wie definierst sich action? Woher weiß er, dass z..b delete ne action ist?Zweite Frage zu Zeile 29
$rang = $_SESSION['rang'];Was genau hat es mit action == "delete" && $rang == 1) {
....
Wird da doch auch gemacht?
Was wäre wenn ich nun oben dieses Session nicht hätte und Rang einfach auf 0 gesetzt und auch so geprüft hätte? Sprich wenn
Variabel X = 0 --> Kein Login
Varibal X = 1 --> LoginUNd Zeile 33 bin ich mir auch nicht sicher:
# Wenn das Admin-Passwort falsch eingegeben wurde erscheint eine Fehlermeldung if (isset($_POST['submit']) && $pass != $passwort){ echo "Falsches Passwort!"; }
isset überprüft ja ob die Varibael leer ist.
aber in dem Fall soll er doch das Passwort nur überprüfen wenn jemand Sumbit/Login benutzt. Aber denn ist doch sumbit = 1 ?
Jetzt geht er doch nur in die If Anweisugn wenn
- submit = 0
und
- das passwort falsch
ist$_SESSION ist eine spezielle Variable, die für Login-Systeme geeignet ist:
http://tut.php-q.net/de/sessions.htmlDamit können Variablen über mehre Scripte bequem übergeben werden, das ist für ein solches System wichtig, da man so weiß, ob jemand eingeloggt ist, mit welchem Rang, etc.
isset überprüft, ob die Variable überhaupt belegt wurde. Ist $_POST['submit'] nicht belegt, so wurde auch nie auf den Button gedrückt.
-
isset überprüft, ob die Variable überhaupt belegt wurde. Ist $_POST['submit'] nicht belegt, so wurde auch nie auf den Button gedrückt.
Genau so hab ich das auch verstanden.
Aber warum steht denn:
# Wenn das Admin-Passwort falsch eingegeben wurde erscheint eine Fehlermeldung if (isset($_POST['submit']) && $pass != $passwort){ echo "Falsches Passwort!"; }
D.h. ja
Wenn "Submit" nicht gedrückt wurde und das Passwort falsch ist, gebe folgendes aus: "Falsches Passwort!"....
Eigentlich soll er doch erst das Passwort prüfen wenn Submit gedrückt wurde ?!
-
passt schon so ..
isset überprüft ob die Variable existiert und wenn ja da dann prüfst du ob die Strings matchen.
-
ok danke
habs nun mal ausprobiertam anfang wird alles fehlerfrei angezeigt aber sobald ich ein action benutzen will...
z.b. action = reintragen (Link: Eintrag machen)
oder action = admin (Link: Admin)passiert nichts.
Kommt -> Seite nicht gefunden
-
<form action="blubb.php" method="post"> ..
machste scho so oder?