If Schleife - Script

fanste hat gesagt.:
PHP:
if(!isset($my->username) || empty($my->username) || $my->username == "")
{
    echo '<script language="JavaScript" type="text/javascript">
var message = "";
function clickIE() {
    if(document.all) {
     (message);
     return false;
 }
}

function clickNS(e) {
    if(document.layers || (document.getElementById && !document.all)) {
        if(e.which == 2 || e.which == 3) {
      (message); 
      return false;
  }
 }
}

if(document.layers) {
    document.captureEvents(Event.MOUSEDOWN);
    document.onmousedown = clickNS;
} else {
    document.onmouseup = clickNS;
    document.oncontextmenu = clickIE;
}

document.oncontextmenu = new Function("return false")
</script>';
}
Mir kommt das Abendessen wieder hoch. Solche Unmengen an Code gibt man nicht mit PHP aus, sondern stoppt PHP, gibt das HTML oder hier JavaScript »normal« aus und geht dann wieder zurück. Also so:
PHP:
<?php
if (!isset($my->username) || empty($my->username) || $my->username == "") {
?>
<script language="JavaScript" type="text/javascript">
var message = "";
function clickIE() {
    if(document.all) {
     (message);
     return false;
 }
}

function clickNS(e) {
    if(document.layers || (document.getElementById && !document.all)) {
        if(e.which == 2 || e.which == 3) {
      (message); 
      return false;
  }
 }
}

if(document.layers) {
    document.captureEvents(Event.MOUSEDOWN);
    document.onmousedown = clickNS;
} else {
    document.onmouseup = clickNS;
    document.oncontextmenu = clickIE;
}

document.oncontextmenu = new Function("return false")
</script>';
<?php
}
Ist zwar nur ein Detail, wollte aber dennoch darauf hinweisen.

Zum JavaScript: Mann, bin ich froh, dass ich NoScript installiert habe, da bleibt mir so Kindergartenkram erspart. Philippee, schonmal ausprobiert, was passiert, wenn du die »Print Screen«-Taste auf deiner Tastatur drückst? :rolleyes:
 
Zuletzt bearbeitet:
Matthias Reitinger hat gesagt.:
Hallo,


Inwiefern wäre das konstruktiv?

Grüße,
Matthias

In wiefern wäre "weglassen", "löschen" oder "weniger" konstruktiv?

Man bedenke, dass die Variable durch irgendwelche Umstände auch mal nicht initialisiert sein könnte oder Ähnliches...

Ich bin der Überzeugung, dass man so prüfen sollte, dass wirklich nur das gewünschte Ergebnis durchkommt. Sprich, lieber einige Worte mehr und dafür auch mehr "Sicherheit".

So funktionierts. Selten muss man etwas löschen um eine neue Funktionalität hinzuzufügen... Meist muss man etwas ändern und etwas dazu tun...

Folgt man diesem Prinzip so behält man immer alle Daten, bis diese als unwichtig und überschreibbar erkannt sind (Eine formatierte Festplatte kann unter bestimmten Umständen wiederhergestellt werden, warum?)...
 
Hallo,

Teh H4mst0R hat gesagt.:
In wiefern wäre "weglassen", "löschen" oder "weniger" konstruktiv?
Identische Überprüfungen mehrfach durchzuführen ist absolut unnötig. Welchen Mehrwert hat es denn, wenn man in einer Anweisung zweimal prüft, ob ein leerer String vorliegt?

Man bedenke, dass die Variable durch irgendwelche Umstände auch mal nicht initialisiert sein könnte oder Ähnliches...
Dies wird bereits durch [phpf]isset[/phpf] abgedeckt.

Ich bin der Überzeugung, dass man so prüfen sollte, dass wirklich nur das gewünschte Ergebnis durchkommt. Sprich, lieber einige Worte mehr und dafür auch mehr "Sicherheit".
Mehr Sicherheit hat man durch eine Anweisung, die nie ausgeführt wird, sicherlich nicht. (Man verzeihe mir das Wortspiel :))

Grüße,
Matthias
 
Ja du hast recht. Weglassen ist konstruktiver als hinzufügen ;) Hast mich überzeugt.

Der klügere gibt nach und die Welt wird von Dummen regiert...

Identische Überprüfungen mehrfach durchzuführen ist absolut unnötig. Welchen Mehrwert hat es denn, wenn man in einer Anweisung zweimal prüft, ob ein leerer String vorliegt?
Vielleicht lieg er auch nicht vor, oder der Typ ist String obwohl ein Integer erwartet wird, etc.?

Dies wird bereits durch isset() abgedeckt.
Soso...

Mehr Sicherheit hat man durch eine Anweisung, die nie ausgeführt wird, sicherlich nicht...
Hier wird garnichts verziehen, wir sind hier nicht bei wünsch dir was!

Nie, nein und nicht sind negative Worte. Erkläre mir doch mal warum man etwas schreiben soll nur um es dann wieder zu löschen!

Dazu eine kleine Geschichte: Ein guter Kumpel von mir schreibt seine Quelltexte ähnlich ausführlich und berücksichtigt selbst die krassesten Ausnahmezustände. Aber er schreibt dann bei den Fehlermeldungen sowas rein wie: "Im Himmel ist Jahrmarkt."

Da seine Quelltexte perfekt sind kommt es NIE zu Fehlern und genau das passierte bei seiner Abschlussprüfung. Zu wenig Zeit, kaum Konzentration und bumms freuten sich drei Leute aus dem Prüfungskomitee über besagten Satz...
 
Zuletzt bearbeitet:
Hallo,

Teh H4mst0R hat gesagt.:
Ja du hast recht. Weglassen ist konstruktiver als hinzufügen ;) Hast mich überzeugt.
Weshalb so zynisch?

Vielleicht lieg er auch nicht vor, oder der Typ ist String obwohl ein Integer erwartet wird, etc.?
Ich vermute schön langsam, dass du noch nicht begriffen hast, um was es hier überhaupt geht. Bei der Abfrage if (empty($foo) || $foo == '') ändert der Vergleich $foo == '' nichts am Ergebnis, da er entweder überhaupt nicht ausgewertet wird (wenn empty($foo) == true) oder einfach nur false zurückgibt (wenn empty($foo) == false). Deshalb kann man diesen Vergleich weglassen, ohne dass sich irgendwas ändert.

Könntest du dich vielleicht auch in ganzen Sätzen ausdrücken?

Hier wird garnichts verziehen, wir sind hier nicht bei wünsch dir was!
Ich wünsch mir aber trotzdem was, und zwar bessere Umgangsformen in diesem Forum…

Nie, nein und nicht sind negative Worte. Erkläre mir doch mal warum man etwas schreiben soll nur um es dann wieder zu löschen!
Ich kann deiner Argumentation hier nicht ganz folgen… wo habe ich behauptet, dass man etwas schreiben und dann wieder löschen soll?

Grüße,
Matthias
 
Weshalb so zynisch?
Warum nicht?
Ich vermute schön langsam, dass noch nicht begriffen hast, um was es hier überhaupt geht. Bei der Abfrage if (empty($foo) || $foo == '') ändert der Vergleich $foo == '' nichts am Ergebnis, da er entweder überhaupt nicht ausgewertet wird (wenn empty($foo) == true) oder einfach nur false zurückgibt (wenn empty($foo) == false). Deshalb kann man diesen Vergleich weglassen, ohne dass sich irgendwas ändert.
Ich vermute, dass du einfach ein Problem mit meinen Ansichten hast und jetzt versuchst mir deine Aufzuzwingen (so wie ich es bei dir tue...). (Ein Punkt am Satzende signalisiert einen Aussagesatz...)
Könntest du dich vielleicht auch in ganzen Sätzen ausdrücken?
Tue ich das nicht? Ein einzelnes Wort und drei Punkte sind also kein Satz? Könntest du in Zukunft etwas mehr Wert auf die deutsche Rächdtschraibuhnk legen (siehe oben)? Warum so zynisch?
Ich wünsch mir aber trotzdem was, und zwar bessere Umgangsformen in diesem Forum…
Tjoar, ich greife niemanden an und meine Umgangsformen haben mir bis jetzt nur Erkenntnisse gebracht...
Ich kann deiner Argumentation hier nicht ganz folgen… wo habe ich behauptet, dass man etwas schreiben und dann wieder löschen soll?
Hast du das? Unterstelle ich dir das? Du hast lediglich behauptet, dass man "Unnötiges" auch weglassen kann. Ich rede nur von konstruktiv und destruktiv, nicht mehr, nicht weniger ;)
</klugsch**ß>

Bevor das hier in den dritten Weltkrieg ausartet würde ich vorschlagen das Thema als erledigt zu markieren. Schließlich ging es nicht um "überflüssige" Prüfungen.
 
Zuletzt bearbeitet:
Hallo,

Teh H4mst0R hat gesagt.:
Ich vermute, dass du einfach ein Problem mit meinen Ansichten hast und jetzt versuchst mir deine Aufzuzwingen (so wie ich es bei dir tue...).
Gut, das zeigt einmal mehr, dass du es nicht verstehen willst oder kannst. Ich zwinge hier niemandem meine Ansichten auf. Du kannst also auch weiterhin gerne if ($foo == '' || $foo == '' || $foo == '') o.ä. verwenden, wenn du magst.

(Ein Punkt am Satzende signalisiert einen Aussagesatz...)
Das ist schön und soweit auch bekannt. Doch wo ist der Zusammenhang zum Thema?

Tue ich das nicht? Ein einzelnes Wort und drei Punkte sind also kein Satz?
Nein, das ist in diesem Fall bestenfalls ein Satzfragment. Es ging mir darum, dass ein „Soso…“ nicht sonderlich aussagekräftig ist und ich auf eine ausführlichere Darlegung deiner Gedankengänge gehofft hätte.

Könntest du in Zukunft etwas mehr Wert auf die deutsche Rächdtschraibuhnk legen (siehe oben)? Warum so zynisch?
Wie bitte?

Tjoar, ich greife niemanden an und meine Umgangsformen haben mir bis jetzt nur Erkenntnisse gebracht...
Der Ton macht die Musik. Auf eine scherzhafte Bemerkung derart schroff zu reagieren, ist jedenfalls nicht „die feine englische“.

Hast du das? Unterstelle ich dir das?
Ja, das tust du. Mit der Aufforderung, zu erklären, warum man etwas schreiben solle, nur um es danach wieder zu löschen, implizierst du, dass du meinst, ich würde diese Ansicht vertreten.

(Amüsierte) Grüße,
Matthias
 
Gut, das zeigt einmal mehr, dass du es nicht verstehen willst oder kannst. Ich zwinge hier niemandem meine Ansichten auf. Du kannst also auch weiterhin gerne if ($foo == '' || $foo == '' || $foo == '') o.ä. verwenden, wenn du magst.
Danke.
Das ist schön und soweit auch bekannt. Doch wo ist der Zusammenhang zum Thema?
Ach weißt du, manchmal schreibe ich viel sinnloses Zeug, vorallem ohne Zusammenhänge.
Nein, das ist in diesem Fall bestenfalls ein Satzfragment. Es ging mir darum, dass ein „Soso…“ nicht sonderlich aussagekräftig ist und ich auf eine ausführlichere Darlegung deiner Gedankengänge gehofft hätte.
Du hast auch bekommen was du wolltest, nur willst du anschenend selbst nicht verstehen aus welchem Kontext dieses "Soso.." stammt. Naja ob Satz oder nicht, du hast mich schon verstanden ;)
Du verstehst schon.
Der Ton macht die Musik. Auf eine scherzhafte Bemerkung derart schroff zu reagieren, ist jedenfalls nicht „die feine englische“.
Schroff? Könntest du den Satz markieren/zitieren in welchem ich Schroff werde? Behauptete ich je, die "feine englische" dem "groben deutschen" vorzuziehen?
Ja, das tust du. Mit der Aufforderung, zu erklären, warum man etwas schreiben solle, nur um es danach wieder zu löschen, implizierst du, dass du meinst, ich würde diese Ansicht vertreten.
Oh, dann habe ich mich wohl verlesen. Wenn das so ist, habe ich einen Fehler gemacht und möchte dafür um Vergebung bitten. Eigentlich wollte ich nur deutlich machen wie überflüssig Konstruktivität ist. Schließlich tuen wir ja auch die ganze Zeit etwas hinzu, anstatt zu löschen.

Weißt du, warum schreibst du nicht einfach was von konstruktivem Löschen? Darauf will ich doch nur hinaus. Stell dir mal vor wie Konstruktivität ansonsten im Alltag aussehen würde. Ich wäre dann wohl ein Messi und würde die Meinung vertreten, meine Wohnung immer dreckiger machen zu müssen. Immer mehr hinzu und auf keinen Fall etwas weg. :rolleyes:

(amüsiertere) Grüße :)
 
Hallo,

Teh H4mst0R hat gesagt.:
Du hast auch bekommen was du wolltest, nur willst du anschenend selbst nicht verstehen aus welchem Kontext dieses "Soso.." stammt. Naja ob Satz oder nicht, du hast mich schon verstanden ;)
Du verstehst schon.
Nein, eben nicht, sonst hätte ich ja wohl kaum nachgefragt.

Schroff? Könntest du den Satz markieren/zitieren in welchem ich Schroff werde?
Diesen Satz kannst du selber in Beitrag #16 nachlesen, in dem ich auf deine Umgangsformen aufmerksam mache.

Behauptete ich je, die "feine englische" dem "groben deutschen" vorzuziehen?
Du hast bei deiner Registrierung hier auf tutorials.de der Netiquette zugestimmt. Diese beinhaltet auch, dass man einen freundlichen und möglichst sachlichen Umgangston wahren sollte.

Den Rest lass ich mal unkommentiert, da von deiner Seite anscheinend kein Interesse mehr an einer Diskussion besteht.

Grüße,
Matthias
 
Zurück