2015-06-17 2 views
1

я после PHP учебник herePHP не работает внутри HTML файла, но работает вне

КОД

Вот мой HTML-файл:

<!DOCTYPE html> 
    <html> 
    <head> 

     <link rel=”stylesheet” type=”text/css” href=”style.css”> 

     <form action="postForm.php" method="post"> 

     <TextArea name="microBlog" id="microBlog" cols="30" rows=“10"></TextArea> 

     <input type="submit">   

     </form> 

    </head> 

    <body> 

     <?php   

      require_once 'meekrodb.2.3.class.php';   
      DB::$user = 'root';   
      DB::$password = '';   
      DB::$dbName = 'MicroBlog';   
      $results = DB::query("SELECT post FROM MicroBlog");   
      foreach ($results as $row){     

       echo "<div class='microBlog'>" . $row['post'] . "</div>";   
      }   

     ?> 


    </body> 

    </html> 

Это приводит к следующему:

enter image description here

Однако, если я скопирую PHP-код в новый файл postForm.php и нажмите «Отправить» (как вы видите, это действие postForm.php), оно работает.

Я получаю пустой экран с тремя словами (из базы данных).

Проблема в том, что это совершенно новая пустая страница, и я не хочу этого.

ПРОБЛЕМА

Почему это, что код работает за пределами HTML-файла, но не внутри HTML-файла. Почему я получаю ".row['post']."";} ?>, когда внутри html-файла, но я получаю отличный вывод, когда php существует в своем собственном php-файле?

В коде нет ничего плохого, так что это может быть?

Это действительно смущает меня. Спасибо за любые ответы.

+1

, что ваш файл с расширением? –

+0

Это файл .html. Когда я устанавливаю действие для открытия отдельного файла .php с тем же кодом php, он неожиданно срабатывает. Но код тот же! –

ответ

2

Изменить расширение файла .html на .php или .phtml. Это решит вашу проблему.

+0

Конечно, ура! –

+0

Если ответ правильный, подтвердите его, используя галочку –

0

Вы пишете PHP-код внутри html-файла. Файл html не оценивает php-код. Измените расширение файла на .php вместо .html, тем самым вы напишите как html, так и php-код внутри этого файла.

0

Причина: 1. Файл html не поддерживает скрипты php внутри него, и поэтому все написанное не будет выполнено и будет рассматриваться только как разметка html.

Решение: 1. Просто сохраните файл .html как .php файл, и вы сделали (очень простой) .Для пример, если ваше имя файла index.html, просто сохраните его как index.php и все скрипты php внутри будут выполнены.

index.php:

<!DOCTYPE html> 
    <html> 
    <head> 

     <link rel=”stylesheet” type=”text/css” href=”style.css”> 

     <form action="postForm.php" method="post"> 

     <textArea name="microBlog" id="microBlog" cols="30" rows=“10"></textArea> 

     <input type="submit">   

     </form> 

    </head> 

    <body> 

     <?php   

      require_once 'meekrodb.2.3.class.php';   
      DB::$user = 'root';   
      DB::$password = '';   
      DB::$dbName = 'MicroBlog';   
      $results = DB::query("SELECT post FROM MicroBlog");   
      foreach ($results as $row){     

       echo "<div class='microBlog'>" . $row['post'] . "</div>";   
      }   

     ?> 


    </body> 

    </html>