Тестирование PHP-скрипта на локальном компьютере

Новичок в PHP и веб-разработке в целом. Я пытаюсь получить информацию из HTML-формы для отображения в таблице на другой веб-странице после нажатия кнопки «Отправить». Поэтому я установил Apache, а затем PHP на свой локальный компьютер и ожидал, что смогу протестировать PHP-скрипт локально, однако он не возвращает ту информацию, которую я ожидал. Ниже приведен код формы:

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

Please fill out the following form if you would like to be contacted: <br/>
    Name:<input type = "text" name = "name" /> <br/><br/>
    Company: <input type = "text" name = "company"/> <br/><br/>
    Phone: <input type = "text" name = "phone" /> <br/><br/>
    Email: <input type = "text" name = "email" /> <br/><br/>

    <input type = "submit" name = "Submit" value = "Submit" />
</form>

Ниже приведен код скрипта php:

<table>
<tr><th>Field Name</th><th>Value(s)</th></tr>

<?php
if (empty($_POST)) {
print "<p>No data was submitted.</p>";
 } else {

foreach ($_POST as $key => $value) {
if (get_magic_quotes_gpc()) $value=stripslashes($value);
if ($key=='extras') {

if (is_array($_POST['extras']) ){
    print "<tr><td><code>$key</code></td><td>";
    foreach ($_POST['extras'] as $value) {
            print "<i>$value</i><br />";
            }
            print "</td></tr>";
    } else {
    print "<tr><td><code>$key</code></td><td><i>$value</i></td></tr>\n";
    }
} else {

print "<tr><td><code>$key</code></td><td><i>$value</i></td></tr>\n";
}
 }
}
?>
</table>
</body>
</html>

Я знаю, что он работает в Интернете, но почему он не работает локально. Я проверил, что apache и php установлены правильно. В чем может быть проблема? Текущий результат - это таблица с $ key и $ value в тех местах, где должны быть правильные значения, другими словами в ячейках таблицы. Спасибо за вашу помощь.

ОБНОВЛЕНИЕ: теперь работает через WAMPSERVER - спасибо всем, кто помог!

Обрабатывается ли PHP вообще или ваш скрипт работает не так, как вы ожидаете? Попробуйте создать файл PHP с содержимым: <? PHP phpinfo (); ?>

strager 14.01.2009 22:44

<? PHP phpinfo (); ?> возвращает страницу с информацией о настройке php. Проблема заключается в переносе значений из формы в таблицу на отдельной веб-странице при локальном тестировании.

Andrew 15.01.2009 00:46

Какую версию PHP вы используете?

strager 15.01.2009 01:33

Я использовал PHP версии 5.2.8, однако я только что удалил как PHP, так и Apache и установил XAMP, как предлагали здесь некоторые люди, но тогда как раньше phpinfo возвращал информацию, теперь это не с XAMP.

Andrew 15.01.2009 01:40
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
5
4
26 103
5

Ответы 5

Проверьте xampp. Он устанавливает Apache, Mysql, Perl и PHP на ваш компьютер, чтобы вы могли протестировать весь свой сайт локально. Это одноразовый установщик с изящной панелью управления для включения / отключения каждой службы по мере необходимости.

Похоже, ваш PHP-скрипт не анализируется, если вы буквально получаете $value. Попробуйте запустить базовый phpinfo(), чтобы проверить это.

Если PHP не распознает это, убедитесь, что путь к PHP установлен в httpd.conf. Я бы порекомендовал использовать xampp - я ужасен во всей локальной конфигурации и просто позволил автоустановщику настроить ее для меня. Я знаю достаточно, чтобы позже добавлять новые модули и т. д.

На первый взгляд кажется, что вы пытаетесь разместить переменные, но помещаете переменные внутри строки.

Итак, это:

print "<tr><td><code>$key</code></td><td><i>$value</i></td></tr>\n";

Должно быть что-то вроде:

print "<tr><td><code>" . $key . "</code></td><td><i>" . $value . "</i></td></tr>\n";

Это неверно. Если переменная отображается в строке с двойными кавычками, она вставляется в строку, как и следовало ожидать. Если бы использовались одинарные кавычки, строку нужно было бы разделить, как вы показали.

strager 14.01.2009 22:50

Вы также можете попробовать WampServer.

Это пакет, содержащий: Apache, MySQL, PHP (предварительно настроен для использования в Windows).

Спасибо, у меня все работает через WampServer. Очень признателен!

Andrew 16.01.2009 19:21

При использовании PHP 5.5+ сервер не нужен - у него есть встроенный сервер (http://www.php.net/manual/en/features.commandline.webserver.php)

Просто используйте:

$ cd ~ / проект

$ php -S локальный: 8000

Другие вопросы по теме