2014-08-28 2 views
0

У меня есть инструкция if ниже. Я пытаюсь убедиться, что переменная client2 не является пустой до выполнения обновления, поскольку обновление должно быть выполнено для этого клиента, но когда-либо я раскомментировал if заявление это дает белый экранесли оператор вызывает белый экран

if(!empty($client2) 
    { 
     mysqli_query($con,$query) or die ("Could not update "); 
     header('Location: preview.php?=client=$client'); 
    } 

, что я хотел бы для этого не производить белый экран я подозреваю, что это незначительная ошибка я проглядели

проблема существовала и до того я добавил

header('Location: preview.php?=client=$client'); 

это было добавлено как последний шаг, который необходимо выполнить после выполнения обновления, но мне нужно будет добавить проверку, чтобы отобразить ошибку, если она не удалась из обновления, прежде чем делать заголовок, но пока я сосредоточен на получении сделать обновление независимо от MySQL ошибок

+0

Вы упустили закрывающую скобку в пустой клиентской проверке –

+1

Вы должны заметить, что переменные вставки не встречаются внутри строк одиночной кавычки. Это должно быть 'header (" Location: preview.php? Client = $ client ");' или concatenate с 'header ('Location: preview.php? Client ='. $ Client);' – sjagr

ответ

-1

вы пропустите Клоса скобки в вашем if. Пусто - это функция и ее необходимо открыть и закрыть с помощью скобок(). Как и функция ПЧ. Другими словами, вы не закрываете свою функцию IF, поэтому PHP предполагает, что все после emtpy() все еще является частью закрытия IF.

Кроме того, попробуйте никогда не работать (в разработке env ofc) без отображения display_error.

Кроме того, ваша функция заголовка имеет знак «=» после вопросительного знака. Его не нужно и в конечном итоге терпит неудачу.

+0

'Другими словами, вы не закрываете свою функцию IF, поэтому PHP предполагает, что все после emtpy() все еще является частью закрытия IF. «Сначала,' if' не является функцией. Во-вторых, если у вас нет этой скобки, которая является синтаксической ошибкой, и php даже не удосуживается пройти через код, чтобы «предположить» результат этого 'if' –

+1

Это не« конструктор »:). Его языковая конструкция присутствует почти на всех языках. Если они не ведут себя как функции. Это условное утверждение. 'Конструкция if является одной из наиболее важных функций многих языков, включая PHP. Он позволяет условно выполнять фрагменты кода. PHP имеет структуру if, которая похожа на структуру C: ' –

+1

И когда есть синтаксическая ошибка, PHP не пытается вообще выполнить код, нет каких-либо условий. Парсер завершает работу и возвращает первое вхождение синтаксической ошибки. –

3

Ваш заголовок не так, вы должны сделать это так:

header("Location: preview.php?client=$client"); 

вы также забыли ) здесь:

if(!empty($client2)) 
+0

[См. Мой комментарий] (http://stackoverflow.com/questions/25550100/if-statement-causing-white-screen#comment39895400_25550100) о проблеме с заголовком тоже ... рассмотрим пересмотр – sjagr

Смежные вопросы