Die doppelten Anführungszeichen beginnen grundsätzlich einen neuen Block in Ihrem "if" -Block. So könnte der Code wie folgt geschrieben werden:
if (empty($_POST["SCreq"])) {
{
$SCreqERR = "SC requires a Yes or No answer";
}
else {
$SCreq = test_input($_POST["SCreq"]);
}
}}
Nicht nur die Klammern sind unausgeglichen (es gibt mehr als Schließbügel öffnen Klammern), die „anders“ auch in der „if“ Block beginnt. Entfernen des {} innerhalb des „if“, Sie
if (empty($_POST["SCreq"])) {
else {
$SCreq = test_input($_POST["SCreq"]);
}
}}
bekommen, die nicht gültig ist (die „else“ direkt nach dem „if“ Block zu kommen hat, nicht in sie).
Verwenden Sie die richtige Einrückung, um diese Fehler schnell zu erkennen. Nach jedem "{", beginnen Sie eine neue Zeile und fügen Sie Ihren Code mehr ein. Starten Sie nach jedem "}" eine neue Zeile, und ziehen Sie sie weniger ein. Nach jedem Block müssen Sie sich auf derselben Einrückungsebene wie zuvor befinden, ansonsten haben Sie zusätzliche "{" s oder "}". Sie können das entweder manuell tun oder einen guten Editor haben, der das für Sie erledigt. Diese Art von Code verwendet ordnungsgemäße Einrückung und wäre gültig:
if (empty($_POST["SCreq"])) {
$SCreqERR = "SC requires a Yes or No answer";
}
else {
$SCreq = test_input($_POST["SCreq"]);
}
Überprüfen Sie die Fehlerprotokolle, um zu sehen, was es zum Absturz bringt. Was versuchst du in deinem elseif zu machen? 'elseif ($ SCreq =" Yes "; $ Email = False)' ergibt keinen Sinn – JimL
Warum haben Sie '{{' und '}}'. Eine Reihe von geschweiften Klammern sollte genug sein: -P –
Ich denke, test_input() ist unbekannt auf Ihrer Seite – Mojtaba