PHP Weiche funktioniert nicht mehr

Es dreht sich um diese Homepage:
vickanka.bplaced.net/index.php

ganz unten sieht man "Zum alten Design wechseln"
Drückt man drauf, kommt man zum alten Design, dann allerdings nicht mehr zum neuen.

Kann mir jemand sagen warum?

[code]<?php
if ( $_GET[“version”] == alt)
{
if ( $_SERVER[‘PHP_SELF’] == “/ueberuns.php” or $_SERVER[‘PHP_SELF’] == “/uu-anka.php” or $_SERVER[‘PHP_SELF’] == “/uu-vicky.php” )
{
?>


<?
}
?>
Zum neuen Design wechseln
	<? echo $_SERVER['PHP_SELF'];
}

else
{
if ( $_SERVER[‘PHP_SELF’] == “/ueberuns.php” or $_SERVER[‘PHP_SELF’] == “/uu-anka.php” or $_SERVER[‘PHP_SELF’] == “/uu-vicky.php”)
{
?>


<?
}
?>
Zum alten Design wechseln
<?
}
?>[/code]

was gedenkst du soll der Code<span class="syntaxdefault"><? $_SERVER</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'PHP_SELF'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> ?></span>Machen?
„funktioniert nicht mehr“ ist aber gut xD So ging es noch nie :stuck_out_tongue:

Mich wundert aber das du nicht allgemein tausende von PHP Fehlern bekommst…<span class="syntaxdefault">if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> $_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"version"</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> alt</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span>sollte z.B. auch eigl.<span class="syntaxdefault"></span><span class="syntaxkeyword">if(</span><span class="syntaxdefault">$_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'version'</span><span class="syntaxkeyword">]===</span><span class="syntaxstring">'alt'</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span>sein^^ [size=85](das === ist schneller als das == … in dem Fall funktionieren aber beide ansonsten gleich)[/size]

Ich würde dir vorschlagen mal ein<span class="syntaxdefault">error_reporting</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">E_ALL</span><span class="syntaxkeyword">);</span><span class="syntaxdefault"> </span>direkt an den Anfang deines PHP Scriptes zu setzen.

Omg, stimmt, die echos sind irgendwie verschütt gegangen…
Danke…

So funzt es:

[code]<?php
if ( $_GET[“version”] == alt)
{
if ( $_SERVER[‘PHP_SELF’] == “/ueberuns.php” or $_SERVER[‘PHP_SELF’] == “/uu-anka.php” or $_SERVER[‘PHP_SELF’] == “/uu-vicky.php” )
{
?>


<?
}
?>
Zum neuen Design wechseln
	<?
}

else
{
if ( $_SERVER[‘PHP_SELF’] == “/ueberuns.php” or $_SERVER[‘PHP_SELF’] == “/uu-anka.php” or $_SERVER[‘PHP_SELF’] == “/uu-vicky.php”)
{
?>


<?
}
?>
Zum alten Design wechseln
<?
}
?>[/code]

Wieso ist ein === schneller als ein ==? oO

[quote=“jokergermany.de.vu”][]
Wieso ist ein === schneller als ein ==? oO[/quote]Ich hab es nicht selber getestet aber jemand der nicht wenig Ahnung hat :wink:
Bei ihm kam raus das ein === schneller war als ein == selbst obwohl es sich z.B. um 2 Strings handelte. == macht wohl immer nen Typecast o.ä.^^
Wie du hoffentlich weißt vergleicht ein === ebenfalls den Typ, z.B. wäre 1==‘1’ TRUE, 1===‘1’ aber FALSE.

Entweder ich bilde es mir nur ein oder === ist massiv schneller oO
Habs mal geändert.

quote=„http://floern.com/webscripting/geschwindigkeit-von-php-scripts-optimieren“ gleich: 15.5 ms
(===) identisch: 9.0 ms[/quote]
Hätte ich nicht erwartet. :whata:

if ( $_GET["version"] == alt)

Die Bedingung kannst du getrost weglassen, wenn du den Fehler so stehen lässt. Sie wird nämlich nie zutreffen.

Mfg :wink2:

Ich habs mitlerweile geändert, aber das hat schon funktioniert, zumindestens in Firefox

@== und ===:
Gibts dann überhaupt einen Anwendungsfall in dem man == einsetzen sollte?

Jain… ich würde glaube ich immer so programmieren das wenn ich z.B. nen Formular-Feld habe welches nen Int beinhalten soll, dann auch prüfen ob es nen Int ist bzw. (int) / intval() machen. Außer für faule gibt es glaube ich keinen oder kaum nutzen für == gegenüber ===. Mir fällt gerade zumindest nix ein xD

Wie habt ihr das eigl. verglichen? Und wie kommst du auf deine Werte @heavygale? [size=85](also wie viele Loops z.B. und Tests)[/size]

[quote=“http://floern.com/webscripting/geschwindigkeit-von-php-scripts-optimieren”]Anmerkung: Die Tests wurden unter Windows XP bei PHP 5.2.3 durchgeführt, mittels einer for-Schleife mit 100’000 oder 10’000 Durchläufen. Die Werte sind Durchschnittswerte von ca. 30 Einzel-Ergebnissen. Von den Werten wurde jeweils die Leerlaufzeit der for-Schleife abgezogen.[/quote][/quote]ha… jetzt sehe ich die URL im Quote auch xD Mach’s nächstes mal als Link :stuck_out_tongue:
Allerdings muss man sagen das der Test von 2009 ist… könnte heute auch schon anders aussehen^^
Abgesehen davon… bei jedem Windoof was ich bisher mit PHP Versorgt hatte, waren die Millisekunden immer “random” teilweise waren diese sogar negativ^^ Ob also die Zeitnahme exakt war, sei mal dahingestellt. [size=85](außer das Problem hat nicht jeder Windoof PC oder erst neurere PHP Versionen)[/size]