Тестирование PHP-скрипта на локальном компьютере - PullRequest
5 голосов
/ 14 января 2009

Новое в 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 - спасибо всем, кто помог!

Ответы [ 5 ]

7 голосов
/ 14 января 2009

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

3 голосов
/ 14 января 2009

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

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

0 голосов
/ 13 июля 2017

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

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

$ cd ~ / project

$ php -S localhost: 8000

0 голосов
/ 14 января 2009

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

Итак, это:

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";
0 голосов
/ 14 января 2009

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

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

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