PDA

Показать полную графическую версию : [решено] Неправильно отображается php


Pavluha
19-06-2010, 19:41
Здравствуйте. Подскажите, как решить проблему. Я хочу создать сайт на php. Но браузеры либо ничего не отображают, либо просто выдают текст страницы. В чём проблема -- не знаю. Вроде всё правильно делаю. Код страницы такой:

<?
$var="просто текст";
echo ($var);
?>

А мне выводит тоже самое. Пожалуйста, подскажите, как решить проблему. Заранее спасибо.

Coutty
19-06-2010, 20:37
Вам нужен веб-сервер с поддержкой PHP. Посмотрите на сайте denwer.ru, если не хочется (и не знаете как) возиться с настройкой Apache+PHP+MySQL отдельно.
И, конечно же, почитайте описание.

System Failure
20-06-2010, 16:53
или, для использования коротких ПХП тэгов в php.ini short_open_tag должно быть "1". в противном случае надо использовать полные тэги:
<?php
$var="просто текст";
echo ($var);
?>

Pavluha
22-06-2010, 16:03
После установки Денвера всё вроде в норме. Только такая проблема. Я создал файл test.htm в котором написано:

<form action="test.php">
<input type=text name="text">
<input type=submit>
</form>

Рядом с ним поместил файл test.php (в одной и той же папке) в котором написано:

<?
echo($text);
?>

Как видите, эти файлы связаны. Запускаю на Денвере файл test.htm и в строке ввожу "123" (без кавычек). Нажимаю кнопку Отправить. Меня отправляют на test.php?text=123 где пустота. Не понимаю в чём дело. Я попытался дописать в тэге <form> method=post. Тогда всё получилось.

В php.ini всё в порядке насчёт short_open_tag (там стоит 1)

Coutty
22-06-2010, 17:33
Для доступа к переменным, передаваемым методом get используйте суперглобальный массив $_GET. Для post, соответственно - $_POST.
Вот так:
echo $_GET['text'];
Это связано с установкой register_globals в php.ini. Причём уже довольно давно перешли на использование суперглобальных массивов, а в учебниках по-прежнему напрямую пытаются доступ получать.

Pavluha
22-06-2010, 17:55
Большое спасибо, Coutty, тема помечаем решённой!

Pavluha
14-08-2010, 16:14
Извините, что решил поднять тему, но есть такая проблема. Я создал два файла - test.htm и test.php. В файле test.htm написал:

<form action=test.php>
<input type=text name="text">
<input type=submit>
</form>

А в test.php:

<?
$text=$_GET['text'];
echo ($text);
?>

Запускаю test.htm, ввожу любое слово "в кавычках", нажимаю Отправить. Далее отправляет на test.php?text=%22%E2+%EA%E0%E2%FB%F7%EA%E0%F5%22 где написано \"в кавычках\" т. е. добавляются слэши перед кавычками. Можно ли это как-то исправить?

Coutty
14-08-2010, 17:50
В php.ini есть параметр magic_quotes (или что-то в этом роде :)). Поставьте false и перезапустите веб-сервер.

Можно использовать также функцию stripslashes() (http://ru.php.net/stripslashes) в каждой передаваемой строке, но по-моему это не очень удобно.

Pavluha
14-08-2010, 18:19
У меня был параметр magic_quotes_gpc. Поставил Off и проблемы как ни бывало. Большое спасибо.




© OSzone.net 2001-2012