Ich habe ein Problem mit etwas PHP-Code. Grundsätzlich habe ich ein Array von ID-Werten, $challengeIDs
, und einen Wert $number
, der die aktuelle Position in diesem Array speichert (es beeinflusst, welche Seite in den Körper geladen wird). Ich möchte überprüfen, dass ich das Ende des Arrays nicht erreicht habe, bevor ich zum nächsten ID-Wert gehe.PHP, wenn die Bedingung nicht korrekt auswertet
if (($number+1) < (count($challengeIDs)-1)) {
$n = $number+1;
echo "window.location = './challenge.php?n={$n}';";
} else {
$_SESSION['n'] = 0;
$_SESSION['playlist'] = "";
echo "window.location = './index.php';";
}
echo "});}</script>";
Ich habe legte eine console.log()
Aussage unmittelbar über diesem Code-Schnipsel, die berichtet, dass der Wert von $number
1 und count($challengeIDs)
4. ist aber aus irgendeinem Grund die Seite wird eher auf index.php, als sich auf die nächste Seite in der Liste. Es kann an anderer Stelle im Code sein, aber irgendwelche Ideen? Alles Vorschläge werden dankbar empfangen :)
EDIT: Hier ist der Konsolenausgang. Die Werte geben die Zeile vor diesem Snippet aus, und die Seite ändert sich entsprechend dem Wert. Es funktioniert kein Problem von Seite 1 (n = 0) bis Seite 2 (n = 1), aber scheitert und geht zu index.php geht zur Seite 3 (n = 2).
LÖSUNG: Ended bis es ausarbeitet - sorry Jungs, es wurde zu diesem Code überhaupt nicht verwandt. Es gab eine Überprüfung an anderer Stelle, bei der die Werte aufgrund eines GET-Parameters falsch zurückgesetzt wurden.
Warum kombinieren Sie PHP und JS auf diese Weise? Sie sollten PHP Header-Funktion verwenden. –
'console.log()' ist JS nicht PHP ?! – Rizier123
@JayBlanchard Ich mache das, weil ich das Skript brauche, um einige Werte aus der Session cookie/sessionStorage zu übernehmen. Ich baue das ganze Skript auf der Seite mit PHP - ich konnte in diesem Fall keine andere Problemumgehung finden. – Brae