Простой код PHP; Пустой экран? - PullRequest
1 голос
/ 01 ноября 2010

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

По сути, я просто играл и хотел составить простой список дел.

Вот код для моего файла index.php:

<html>
<title>
Tasks
</title>
<body>

<?php

echo "I have so many tasks to do...";
<br>
<br>
include("tasks.php"); 
?>

<br>

<br>


</body>
</html>

И, наконец, мой файл tasks.php:

<ol>

<li> 1. Wow.
<li> 2. Cool.
<li> 4. Oops.

</ol>

Мне кажется, это должно работать, но все, что я получаю, это белый экран. Если я возьму оператор включения, я получу эхо-выражение нормально, так что я думаю, что это должно быть что-то не так с оператором включения. Кроме того, я убедился, что файлы index.php и tasks.php находятся в одном каталоге.

Большое спасибо всем за помощь.

Ответы [ 8 ]

4 голосов
/ 01 ноября 2010

изменение

<?php

echo "I have so many tasks to do...";
<br>
<br>
include("tasks.php"); 
?>

до

<?php
echo "I have so many tasks to do...";
?>
<br />
<br />
<?php
include("tasks.php"); 
?>

PS: вы действительно должны попытаться написать правильный html - вы не закрыли свои li-элементы и не написали br как пустой элемент (<br />, а не <br>)

2 голосов
/ 01 ноября 2010

Добавьте error_reporting(E_ALL) в начало скрипта, тогда вы поймете, что не так.

1 голос
/ 01 ноября 2010

Есть 2 ошибки:

1- <br> нельзя вставить в теги <?php ?>.Это HTML-тег, который должен быть вне кода php или внутри строки.Поэтому закройте <?php с помощью ?> перед <br> и откройте их перед включением, как уже указывалось. Теги

2- <li> должны быть закрыты с помощью </li>, но это незначение пустой страницы.

Страница пуста из-за ошибки синтаксического анализа, выводимого компилятором php из-за двух «
».Похоже, что ваш error_reporting (0) равен 0. Пожалуйста, установите в верхней части вашей страницы следующий код:

error_reporting(E_ALL);

, чтобы вы могли выводить сообщения об ошибках и исправлять их.

1 голос
/ 01 ноября 2010

Проблема в том, что вы смешали <br> теги в коде php:

<?php
echo "I have so many tasks to do...";
<br> // <-- Wrong
<br> // <-- Wrong
include("tasks.php"); 
?>

Должно быть:

<?php
echo "I have so many tasks to do...";
?>
<br />
<br />
<?php
include("tasks.php"); 
?>

Или:

<?php
echo "I have so many tasks to do...";
echo '<br />';
echo '<br />';
include("tasks.php"); 
?>

Вытакже не были написаны закрывающие теги для li:

<ol>

<li> 1. Wow.
<li> 2. Cool.
<li> 4. Oops.

</ol>

Должно быть:

<ol>
  <li> 1. Wow. </li>
  <li> 2. Cool. </li>
  <li> 4. Oops. </li>
</ol>

Примечание: Чтобы получать сообщения об ошибках / описание на экране достаточночем пустое окно, поместите эти две строки поверх вашего скрипта:

ini_set('display_errors', true);
error_reporting(E_ALL);
1 голос
/ 01 ноября 2010

Вы не включили теги разрыва строки
в ваш PHP:

<html>
<title>
Tasks
</title>
<body>

<?php

echo "I have so many tasks to do...<br><br>";

include("tasks.php"); 
?>

<br>

<br>


</body>
</html>
0 голосов
/ 01 ноября 2010

Подводя итог тому, что вам сказали:

<html>
<title>
Tasks
</title>
<body>
<?php
echo "I have so many tasks to do...";
?>
<br>
<br>
<?php
include("tasks.php"); 
?>
<br>
<br>
</body>
</html>

Должен быть вашим основным и:

<ol>

<li> 1. Wow. </li>
<li> 2. Cool. </li>
<li> 4. Oops. </li>

</ol>

Должен быть tasks.php

0 голосов
/ 01 ноября 2010

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

error_reporting(E_ALL ^ E_NOTICE);

в первом ряду после тега open-php

0 голосов
/ 01 ноября 2010

Вы используете <br> теги внутри PHP-скрипта, что запрещено.Вам придется изменить

<?php

echo "I have so many tasks to do...";
<br>
<br>
include("tasks.php"); 
?>

на

<?php

echo "I have so many tasks to do...";
?>

<br>
<br>

<?php
include("tasks.php"); 
?>

В конце концов вы также можете поместить <br> теги в свои echo:

<?php

echo "I have so many tasks to do...<br /><br />";

include("tasks.php"); 
?>

который имел бы тот же эффект.

...