Новичок в 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 phpinfo (); ?> возвращает страницу с информацией о настройке php. Проблема заключается в переносе значений из формы в таблицу на отдельной веб-странице при локальном тестировании.
Какую версию PHP вы используете?
Я использовал PHP версии 5.2.8, однако я только что удалил как PHP, так и Apache и установил XAMP, как предлагали здесь некоторые люди, но тогда как раньше phpinfo возвращал информацию, теперь это не с XAMP.






Проверьте 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";
Это неверно. Если переменная отображается в строке с двойными кавычками, она вставляется в строку, как и следовало ожидать. Если бы использовались одинарные кавычки, строку нужно было бы разделить, как вы показали.
Вы также можете попробовать WampServer.
Это пакет, содержащий: Apache, MySQL, PHP (предварительно настроен для использования в Windows).
Спасибо, у меня все работает через WampServer. Очень признателен!
При использовании PHP 5.5+ сервер не нужен - у него есть встроенный сервер (http://www.php.net/manual/en/features.commandline.webserver.php)
Просто используйте:
$ cd ~ / проект
$ php -S локальный: 8000
Обрабатывается ли PHP вообще или ваш скрипт работает не так, как вы ожидаете? Попробуйте создать файл PHP с содержимым: <? PHP phpinfo (); ?>