2015-02-25 3 views
0

У меня есть этот код php. Когда я пытаюсь вручную перейти к этому скрипту php без отправки, ошибка для не установки сообщения не отображается. Что я делаю не так?Проверка ISSET в php не работает

<?php 
if (!isset($_POST['submit'])); 
{ 
    $productname=$_POST['productname']; 
    //$conn string will go here 
    $result=$conn->query("INSERT INTO products(pname)VALUES('$productname')"); 
    if($result) 
    { 
     echo "<font color=\"green\">"; 
     echo("Successfully Inserted new Products"); 
     echo"</font>!"; 
    } 
    else 
    { 
     echo("error"); 
    } 
} 
?> 
+0

Ваше другое соответствует внутри if: if ($ result) {...} else {error} – user15

+0

Что вы видите? Пустая страница? – Jim

+0

@Jim я вижу зеленый успех сообщение всегда – techno

ответ

2
<?php 
// semicolon removed 
if (isset($_POST['submit'])) { 
    $productname=$_POST['productname']; 
    //$conn string will go here 
    $result=$conn->query("INSERT INTO products(pname)VALUES('$productname')"); 
    if($result) { 
     echo "<font color=\"green\">"; 
     echo("Successfully Inserted new Products"); 
     echo"</font>!"; 
    } 
} else { // else placed correctly ... 
    echo("error"); 
} 
?> 
+0

все еще нерабочий .. печать успех. – techno

+0

@techno я исправил ошибку, попробуйте еще раз :) –

+0

Спасибо, сейчас работает :) – techno

1

С углублением, мы можем видеть, что ваше другое условие внутри «if (!isset($_POST['submit']))» Кроме того, я думаю, что вам не нужна точка с запятой после if (!isset($_POST['submit']))

<?php 
if (!isset($_POST['submit'])); // <== This semicolon shouldn't exist 
{ 
    $productname=$_POST['productname']; 
    //$conn string will go here 
    $result=$conn->query("INSERT INTO products(pname)VALUES('$productname')"); 
    if($result) 
    { 
     echo "<font color=\"green\">"; 
     echo("Successfully Inserted new Products"); 
     echo"</font>!"; 
    } 
    else 
    { 
     echo("error"); 
    } 
} // <== Need an "else" here 
?> 

Вот как код должен быть

<?php 
if (isset($_POST['submit'])) 
{ 
    $productname=$_POST['productname']; 
    //$conn string will go here 
    $result=$conn->query("INSERT INTO products(pname)VALUES('$productname')"); 
    if($result) 
    { 
     echo "<font color=\"green\">"; 
     echo("Successfully Inserted new Products"); 
     echo"</font>!"; 
    } 
    else 
    { 
     echo "<font color=\"red\">"; 
     echo("Error when inserting"); 
     echo"</font>!"; 
    } 
} 
else 
{ 
    echo "error"; 
} 
?> 

EDIT:

Вам необходимо сделать «if (isset($_POST['submit']))» вместо «if (!isset($_POST['submit']))», чтобы проверить, была ли форма отправлена. Я исправил код выше.

+0

не работает всегда печатает успех – techno

+0

Ah! Вам нужно 'if (isset())' вместо 'if (! Isset())' –

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