Вебмастеру

 
 
25

PHP: Обработка форм HTML

  • Категория: php
Всем привет!
Подскажите, что не так?

файл html:
___________
<html>
<body>
<form action="index.php" name="myform" method="post">
<input type="text" name="mytext" size="50">
<textarea name="msg" cols="20" rows=”10” ></textarea>
<input name="Submit" type=submit value="Отправить данные">
</form>
</body>
</html>

файл php:
_____________
<?php
$text = ($_POST['mytext']);
$msg = ($_POST['mytext']);
echo $text; // Выводим содержимое текстового поля
echo 'текст';
?>

результат:
____________
вместо того чтобы показать
введенный в поле текст,
на странице вылезает

<?php
$x = ($POST['text']);
echo $x;
?>
 
 
1

  • группа: Гости
Текст который должен выводить оператор ехо должен быть в кавычках.
echo "text";
кстати.
В двойных кавычках значение переменой будет выводится.
А в одинарных переменая как текст выводится.
 
 
2

Александр

  • группа: Гости
Нужно больше информации. Где-то совершенно глупая ошибка. Вплоть до указания не того файла. А пхп вообще обрабатывается?
 
 
3

  • группа: Гости
В самом файле вывода значения переменной очепятка.
Он неуказал кавычки.
echo "$х";
надо так.
Я сижу с телефона и то заметил.
 
 
4

Александр

  • группа: Гости
А чего это вдруг кавычки стали обязательны? Ты вообще внимательно прочитал, что написано? Вот и заметно, что с телефона тебе нифига не видно. То, где ты вроде как ошибку нашёл - это окончательный вывод. Понимаешь, вообще, что предлагаешь?
 
 
5

  • группа: Гости
Давай давай
пиши скрипры без ковычек:)
а еще скрипты без символов и букаф ты писал?
И да я непоет.
У меня реч запутаная и непонятная.
Невсегда могу обьяснить нормально.
 
 
6

Сергей

  • группа: Гости
<html>
<body>
<form action="<?=$_SERVER['PHP_SELF']?>" name="myform" method="POST">
<input type="text" name="mytext" size="50" value="Your text here!"><br>
<textarea name="msg" cols="20" rows="10" >
</textarea><br>

<input name="Submit" type=submit value="Отправить данные">
</form>
</body>
</html>

<?php
@$text = $_POST['mytext'];
@$msg = $_POST['msg'];

echo $text; // Выводим содержимое текстового поля

echo $msg;

echo 'текст'; // а это здесь нах*я ? Тесты?))
?>

Я думаю, что автор сам догадается в чём проблема была:))
 
 
7

Сергей

  • группа: Гости
^⏝^ , ты меня просто убил таким... О_о
 
 
8

Сергей

  • группа: Гости
имена переменных в кавычках?
^⏝^ учите матчасть
 
 
9

Сергей

  • группа: Гости
Сергей прогер-заучка, а вот с глабальными массивами в формах работать не есть гуд
 
 
10

Андрей

  • группа: Гости
Спасибо за ответ, сергей! А суперглобальный массив $_SERVER нужен чтобы выводить результат на этой же странице? Можно ли по нажатию на submit выводить echo $msg; в другом документе?
 
 
11

Сергей

  • группа: Гости
>Сергей прогер-заучка, а вот с глабальными массивами в формах работать >не есть гуд

Не во всех случаях,иногда лучше оставить атрибут пустым или "#", но пусть человек хоть поймёт, что так тоже можно:)

>$_SERVER нужен чтобы выводить результат на этой же странице?

Да, но прочитайте чуть выше предложение:)

>Можно ли по нажатию на submit выводить echo $msg; в другом документе?
Да, конечно. $_POST || $_GET и передаёте.

p.s.: напишу мануал тогда потом по использованию этих переменных, оказалось, что у народа много таких лёгких вопросов не решённых.
 
 
12

Роман

  • группа: Гости
index.html

<html>
<body>
<form action="index.php" method="post">
<input name="mytext" size="50" />
<textarea name="msg" cols="20" rows=”10”></textarea>
<input type="submit" value="Отправить данные"/>
</form>
</body>
</html>

index.php:

<?php
function deslash(&$a) {
foreach($a as $k=>$v)
if (is_array($v)) {
deslash($a[$k]);
} else {
$a[$k] = stripslashes($v);
}
}

if(get_magic_quotes_gpc()) {
deslash($_GET);
deslash($_POST);
}

$text=array_key_exists('mytext',$_POST)?$_POST['mytex
t']:'Не передан параметр!!!';
echo $text;
?>

Вот как-то так, наверное...
 
 
13

Андрей

  • группа: Гости
Огромное спасибо, за отзывчивость!
Но походу у меня что-то с компом не так....
#13
уже все варианты перепробовал,
вместо результата выводится php код (((
мне уже просто стыдно...

а вот
#7
работает))))

А еще я понял, что моё обучение
в колледже мне ничего не даёт.
Почти всему, что я умею научился
по книжкам, по гуглу, и самое главное
по ответам на мои вопросы от других людей.
Т.к. иногда встаёшь на одном месте и пока
тебе человек, а не книга не объяснит,
дальше не идёшь.

А простая сухая теория в двух словах, о
том какая компания в каком году выпустила Apache,
как на парах мало что дает.
 
 
14

Сергей

  • группа: Гости
Roman Shevelev, ЭТО что за ХЕРОМАНТИЯ ???!!! Я офигел с такой защиты, на крайний случай можно регулярками всё сделать, но нафига же пихать циклы, перерабатывать это всё о_О.

#14
Тебе на данный момент необходимо просто понять это всё, а про защиту скриптов пока забудь.

p.s.: я статью про $_GET && $_POST уже написал, но сайт пока не закидывал в интернет о_О
 
 
15

Александр

  • группа: Гости
по всей вероятности на вэб-сервере не включена поддержка рхр-скриптов, поэтому он гонит их в качестве ответа
 
 
16

Андрей

  • группа: Гости
#15
А можешь в личку отправить свою статью или сдесь выложить?)

#16
что это за настройка?? это в денвере?
 
 
17

Сергей

  • группа: Гости
#17
Жди, пока загружу сайт в интернет, сейчас тестирую

Alexandr Uniser Zlatokrylets, да не, у него же заработал мой скрипт и он использует локальный сервак, а не сервер в нете:)

#17
Да забудь об этом:)
 
 
18

Андрей

  • группа: Гости
Всем привет!
почему если вместо
<textarea name="text">
</textarea>

поставить

<input type="file" name="text"/>

дальше своей папки не выбирает файлы?

<html>
<title>
Mini-Builder
</title>
<body>

<form name="myform" action="<?$_SERVER['PHP_SELF']?>" method="POST">
<textarea name="text">
</textarea>
<input type="submit" name="submit" value="Загрузить" >
</form>
<?

$f = $_POST['text'];
$fp = fopen( $f, "r" ) or die ( "Не удалось открыть $f" );
$fsize = filesize( $f );
?>
<form name="myform2">
<textarea rows="30">

<?
echo ( fread( $fp, ($fsize) ) );
?>
</textarea>
</form>
</body>
</html>
 
 
19

  • группа: Гости
Потомучто слеш надо ставить только в XHTML если такой случай%)
 
 
20

Сергей

  • группа: Гости
>action="<?$_SERVER['PHP_SELF']?>"

Это чё такое? Неужели работает??? о_О

><input type="file" name="text"/>
Что значит не выбирает? У меня всё работает.

>$f = $_POST['text'];
>$fp = fopen( $f, "r" ) or die ( "Не удалось открыть $f" );
Бред. Что ты пытаешься делать? Для загрузки учи $_FILES. Для открытия делается не так:))

#20
Вообще извращенец:)))
 
 
21

  • группа: Гости
А чейто я извращенец? 0_о
 
 
22

Сергей

  • группа: Гости
Да эт просто так:)
 
 
23

  • группа: Гости
Да правильно!
XHTML в топку
 
 
24

Сергей

  • группа: Гости
Так, вот без этого)
 
 
25

Андрей

  • группа: Гости
Заходил щас на http://http://beneto.ru
Круто! Респект..

Теперь вопрос:
Сесси в PHP не получаются.

Сессия это когда к зареганой
переменной можно обращаться
за пределами страницы в которой
ее объявили, я правильно понимаю?

Так вот для этого в настройках php.ini
нужно указать какой-то путь к какой-то
временной папке.. Как?

Что-то шаманил, ниче хорошего не вышло..
 
 
Регистрация

Популярные статьи

» Mozilla Firefox: помощь и взаимоподдержка. Спрашиваем, ...
» Вопросы от новичков...
» перешли ли вы 100% на линукс без установленной параллел ...
» Ваши любимые плагины и дополнения
» Ответы на вопросы по PHP
» Какие CMS ВЫ предпочитаете - (плюсы и минусы)
» FAQ: вопросы и ответы
» Вопросы и консультации
» Другие браузеры (голосование!)
» Зарплата PHP программиста