2016-10-05 4 views
0

Итак, у меня есть файл с PHP и HTML. HTML отлично работает, но когда я вхожу в PHP, он почему-то ничего не выводит. См. Код для beter refrence. Также журналы не говорят ничего о проблеме.php, конфликтующий с html

Это не может сделать что-нибудь

<?php 
 

 
echo $_POST['naam']; 
 
die(); 
 

 
?> 
 

 
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    <title>Scouts Permeke</title> 
 
    <link rel="stylesheet" type="text/css" href="siteStyle.css"> 
 
</head> 
 
<body> 
 
    <H2>Login</H2> 
 

 
    <form action="login.php" method="POST"> 
 
     <input name="naam" type="text" id="naam" class="form-control" placeholder="Gebruikersnaam"/><br> 
 
     <input name="psw" type="password" id="psw" class="form-control" placeholder="Passwoord"/><br> 
 
     <button type="submit">Login</button> 
 
    </form> \t 
 
</body> 
 
</html>

Но это показывает мой HTML, как предполагалось.

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    <title>Scouts Permeke</title> 
 
    <link rel="stylesheet" type="text/css" href="siteStyle.css"> 
 
</head> 
 
<body> 
 
    <H2>Login</H2> 
 

 
    <form action="login.php" method="POST"> 
 
     <input name="naam" type="text" id="naam" class="form-control" placeholder="Gebruikersnaam"/><br> 
 
     <input name="psw" type="password" id="psw" class="form-control" placeholder="Passwoord"/><br> 
 
     <button type="submit">Login</button> 
 
    </form> \t 
 
</body> 
 
</html>

+0

Является ли расширение файла '.html' или' .php'? – RiggsFolly

+0

, если нет переменной POST под названием 'naam', вы получите сообщение об ошибке и пустой экран - что вы видите? – RamRaider

+4

Это ничего не отображает, потому что у вас есть 'echo $ _POST ['naam']' (который, вероятно, null) и 'die()' сразу после (так что код перестанет работать). – Dekel

ответ

1

Вы должны проверить, если переменная фактически установлен, в противном случае он всегда будет печатать содержание $_POST['naam'], не заботясь, если пользователь уже введенные данные и нажать кнопку Submit-.

if(isset($_POST['naam'])) { 
    echo $_POST['naam']; 
    die(); 
} 
+0

Это решило проблему благодаря ответу! –

0

Это потому, что он игнорирует ошибку, как массив $ _POST не иметь «NAAM» переменный и ваш php.ini для ошибки отображения выключено. В php, если массив не содержит ключа, он будет вызывать ошибку, и в этом ошибка игнорируется из-за производственных параметров. Кроме того, именно по этой причине «die()»; строка не интерпретируется. Пожалуйста, проверьте php.ini есть или комментировал

display_errors: Off 

и превратить его в

display_errors: On 

Перезапустите Apache, чтобы получить работу настроек.

Вы также можете удалить/прокомментировать первую строку кода в теге PHP и посмотреть, работает ли die(). Пожалуйста, сообщите нам, исправили ли вы свою ошибку.

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