html5 php проблема проверки формы - PullRequest
1 голос
/ 28 мая 2011

У меня есть страница html5 с формой php, и я получаю несколько ошибок. При первоначальной разработке форма сама по себе на странице проверяла 100% HTML5 (с именем index.php). Страница, которую я поместил в (index.html), также проверена на 100%. Копирование кода формы на мою страницу привело к нескольким ошибкам проверки ... что не имеет смысла для меня, поскольку они оба были точными на 100%.

Я не уверен, должна ли страница, содержащая форму, теперь быть index.php или оставаться как index.html.

Совет

Ниже приведены ошибки HTML и валидации в формате .HTML и .PHP

.

HTML:

<body>
  <div id="vig"></div>
  <header>
    <h1>LARA</h1>
  </header>  
  <div id="main" class="corners" role="main">
    <div id="jquery_jplayer_1" class="jp-jplayer"></div>
    <div class="jp-audio">
      <div class="jp-type-playlist">
        <div id="jp_interface_1" class="jp-interface">
          <ul class="jp-controls">
            <li><a href="#" class="jp-previous blue" tabindex="1">previous</a></li>
            <li><a href="#" class="blue jp-play" tabindex="1">play</a></li>
            <li><a href="#" class="blue jp-pause" tabindex="1">pause</a></li>
            <li><a href="#" class="blue jp-stop" tabindex="1">stop</a></li>
            <li><a href="#" class="blue jp-next" tabindex="1">next</a></li>
          </ul>
          <div class="jp-progress corners">
            <div class="jp-seek-bar corners blue">
              <div class="jp-play-bar corners"></div>
            </div>
          </div>
          <div class="time">
            <div class="jp-current-time"></div>
            <p id="name"></p>
            <div class="jp-duration"></div>
          </div>
        </div>
      </div>
    </div>
    <div id="mail"> 
      <form id="signup" action="<?=$_SERVER['PHP_SELF']; ?>" method="get"> 
        <fieldset>
          <input type="email" name="email" id="email" class="corners" placeholder="Enter your email address" />
          <span id="response">
            <? require_once('php/store-address.php'); if($_GET['submit']){ echo storeAddress(); } ?>
          </span>
          <input type="submit" id="submit" class="corners blue" value="Go" />           
        </fieldset> 
      </form> 
    </div>
  </div>  
  <footer>
  </footer>
</body>

как .HTML эти ошибки отображаются:

Line 67, Column 73: Bad value <?=$_SERVER['PHP_SELF']; ?> for attribute action on element form: Illegal character in query component.
        <form id="signup" action="<?=$_SERVER['PHP_SELF']; ?>" method="get"> 
        Syntax of IRI reference:
        Any URL. For example: /hello, #canvas, or http://example.org/. Characters should be represented in NFC and spaces should be escaped as %20.
 Line 71, Column 7: Saw <?. Probable cause: Attempt to use an XML processing instruction in HTML. (XML processing instructions are not supported in HTML.)
       <? require_once('php/store-address.php'); if($_GET['submit']){ echo storeA…

как .PHP появляются эти ошибки:

 Line 74, Column 276: End of file seen and there were open elements.
    …s/c09/h02/mnt/127740/domains/lara.fm/html/index.php</b> on line <b>71</b><br />
✉
 Line 70, Column 23: Unclosed element span.
    <span id="response">
✉
 Line 68, Column 14: Unclosed element fieldset.
    <fieldset>
✉
 Line 67, Column 56: Unclosed element form.
    <form id="signup" action="/index.php" method="get"> 
✉
 Line 66, Column 21: Unclosed element div.
    <div id="mail"> 
✉
 Line 41, Column 47: Unclosed element div.
    <div id="main" class="corners" role="main">
✉
 Line 36, Column 22: Unclosed element div.
    <div id="container">

Ответы [ 4 ]

3 голосов
/ 28 мая 2011

Ваш документ представляет собой комбинацию HTML и PHP. Сам исходный код никогда не может быть проверен как HTML.

Вы должны проверять вывод сценария на соответствие HTML, а не сам исходный код.

1 голос
/ 28 мая 2011

Ваш файл .html не анализируется, поэтому вы получаете ошибки в версии .html.Обратите внимание, что обычно PHP не настроен для анализа файлов с расширением .html (.php, .php3, .php4, .php5 и т. Д., Как правило, в зависимости от вашего php.ini).

Примечание

Если вы копируете / вставляете исходный код PHP, а не вывод скрипта (который видит браузер), это, вероятно, ваша проблема (как отмечает Джон Крам).Чтобы выполнить проверку в браузере, проверьте:

https://addons.mozilla.org/en-US/firefox/addon/html-validator/

Это часто намного проще, чем копировать / вставлять код в валидатор w3c.

0 голосов
/ 28 мая 2011

В ваших .php ошибках первая ошибка, скорее всего, означает, что ваш код PHP генерирует ошибку, из-за которой ваш HTML не проверяется.

Я предполагаю, что эта часть вашего кода PHPвиновник:

<? require_once('php/store-address.php'); if($_GET['submit']){ echo storeAddress(); } ?>

С этим кодом может быть несколько проблем: требуемый файл может не существовать, storeAddress() может не существовать или $_GET['submit'] не работает должным образом.Попробуйте использовать isset($_GET['submit']) или array_key_exists('submit', $_GET) и посмотрите, работает ли это.

0 голосов
/ 28 мая 2011

Вам потребуется указать расширение файла .php и echo из значения PHP-переменных.В настоящее время вы ничего не делаете с их содержанием.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...