|
 481 байт |
|
| Можете обьяснить как делается обработчик для форм, и дайте несколько примеров.
Вот есть один, но не работает.
<?php $text=($_post["mytext"]; $msg=($_post["mytext"]; echo $text; ?>. Я прикрепил страницу с формой | |
|
|
|
|
|
|
|
для: VD 1
(13.02.2010 в 20:02)
| | значение атрибута name тега поля формы должно соответствовать индексу суперглобального массива $_POST.
Так что если <input name=address , то и $_POST['address']
А несколько примеров Вы напишете сейчас сами. | |
|
|
|
|
|
|
|
для: Trianon
(13.02.2010 в 20:08)
| | $_post('adress').
adress это адрес URL на котором находится html страница с формой? | |
|
|
|
|
|
|
|
для: VD 1
(13.02.2010 в 20:20)
| | Вы форму сами писали? | |
|
|
|
|
|
|
|
для: Trianon
(13.02.2010 в 20:38)
| | Да. Я поменял, как вы сказали - ничего. Сайт у меня на народе. | |
|
|
|
|
|
|
|
для: VD 1
(13.02.2010 в 20:55)
| | Вы о чем?
Сайт на народе не поддерживает php | |
|
|
|
|
|
|
|
для: Trianon
(13.02.2010 в 21:28)
| | А как можно зделать формы на народе. Но во внутреней папке оно сохраняет файл пхп в ''прочее'' | |
|
|
|
|
|
|
|
для: VD 1
(13.02.2010 в 21:47)
| | там есть какие-то шаблончики основных примитивов, вроде гостевой, альбома и т.п.
Большего Вы не получите. | |
|
|
|
|
|
|
|
для: VD 1
(13.02.2010 в 20:20)
| | ОТКРОЙТЕ хтмл код любой формы на любом сайте (даже на этом форуме ) и посмотрите, как она устроена.
А уж потом можно говорить об обработчике. | |
|
|
|
|
 313 байт |
|
|
для: oliss
(13.02.2010 в 20:57)
| | Ну вот форма. | |
|
|
|
|
 78 байт |
|
|
для: VD 1
(14.02.2010 в 08:13)
| | А вот обработчик | |
|
|
|
|
|
|
|
для: VD 1
(14.02.2010 в 08:14)
| | А. Отвлеченно от "народа."
Грубейших ошибок две.
1) Вы разрываете тег <?php на <? и php .
В результате минимум php-код не будет обнаружен, максимум выплывет ошибка синтаксиса.
В зависимости от серверных настроек.
2) Вы с упорством, достойным явно лучшего применения, пытаетесь имя суперглобального массива $_POST писать строчными буквам $_post . А это совсем другая переменная. Ничего общего не имеющая с.
B. Применительно к "народу". На "народе" нет php-сервиса. Вообще нет поддержки серверных скриптов, написанных пользователем. Весь код php чистоганом уйдет в браузер. Браузер же его точно исполнять не будет. | |
|
|
|
|
|
|
|
для: Trianon
(14.02.2010 в 09:03)
| | Спасибо, а есть бесплатные хостинги с потдержкой php. Если знаете, дайте пожалуйста. | |
|
|
|
|
|
|
|
для: VD 1
(14.02.2010 в 09:40)
| | Есть | |
|
|
|
|
 307 байт |
|
|
для: VD 1
(14.02.2010 в 09:40)
| | Проверить можете. | |
|
|
|
|
 72 байт |
|
|
для: VD 1
(14.02.2010 в 10:06)
| | И вот это тоже. | |
|
|
|
|
|
|
|
для: VD 1
(14.02.2010 в 10:07)
| | А чего там проверять, и так видны ошибки глупые.
Учить надо HTML и PHP, чтобы такого не писать впредь, и не просить проверить. | |
|
|
|
|
|
|
|
для: sim5
(14.02.2010 в 10:25)
| | Ну начал я формы изучать позавчера, ну и что тут такого?
Мне надо написать хтмл форму, и пшп обработчик для чата. Подскажите как это делается? | |
|
|
|
|
|
|
|
для: VD 1
(14.02.2010 в 11:12)
| | Вы неверно определяете значения переменных, какой там еще может быть обработчик формы в таком случе?
В школе вы начинали с Букваря, и язык программирования учить надо с его основ. | |
|
|
|
|
|
|
|
для: sim5
(14.02.2010 в 11:21)
| | А можете дать пример обработчика и формы. Нигде не нахожу качественного php хостинга. | |
|
|
|
|
|
|
|
для: VD 1
(14.02.2010 в 13:04)
| |
<form action="" method="post">
<input type="text" name="as" value="1">
<input type="submit" value="Send">
</form>
<?
if($_POST['as']) echo $_POST['as'];
?>
|
| |
|
|
|
|
 184 байт |
|
|
для: sim5
(14.02.2010 в 13:20)
| | ничего | |
|
|
|
|
 42 байт |
|
|
для: VD 1
(14.02.2010 в 13:49)
| | Нажимаю, оно мне перезагружает страницу, и больше никакого эфекта. | |
|
|
|
|
|
|
|
для: VD 1
(14.02.2010 в 13:51)
| | РНР это серверный язык, и чтобы проверять скрипт на локальном компьютере необходимо установить на него сервер, а не пытаться получать что либо вразумительного при его отсутствии. | |
|
|
|
|
|
|
|
для: VD 1
(14.02.2010 в 13:49)
| | Ничего где и как? | |
|
|
|
|
|
|
|
для: sim5
(14.02.2010 в 13:51)
| | На телефоне ничего! | |
|
|
|
|
|
|
|
для: VD 1
(15.02.2010 в 11:06)
| | >На телефоне ничего!
Улыбнуло :)
Чтобы после отправки пост -данных перегрузить страницу надо сделать рефреш( редирект :
либо средствами браузера ,(смотрите метатеги)
либо средствами сервера (смотрите заголовки-хидеры). | |
|
|
|
|
|
|
|
для: oliss
(15.02.2010 в 14:19)
| | Получилось! Но текст сразру удалился. | |
|
|
|
|
|
|
|
для: VD 1
(16.02.2010 в 23:28)
| | Это очень радует,только догадываться в чём у вас может быть ошибка,никто не будет.
Выкладывайте код ,что получилось и в чём вы видите неправильно работает. | |
|
|
|
|
|
|
|
для: oliss
(17.02.2010 в 01:51)
| | http://infuzo.far.ru/form.php форма. Я хочу чтобы когда отправлялся текст, он форматировался на странице по параграфам. | |
|
|
|
|
|
|
|
для: VD 1
(17.02.2010 в 08:31)
| | для этого используется textarea и функция nl2br() | |
|
|
|
|
|
|
|
для: psychomc
(17.02.2010 в 10:09)
| | А пример можете назвать | |
|
|
|
|
|
|
|
для: VD 1
(17.02.2010 в 17:53)
| | в форме поле
<textarea name="txt"></textarea>
и потом после отправки
$text =nl2br($_POST["txt"]);
в переменной текст будет с переносами если в поле были переносы. функция заменяет переносы строк на <br/>.
а вообще знаете, с такими вопросами...
лучше бы сначала хоть пару-тройку книг прочитали, и не только по php. лучше сначала разобраться что и как, а уже потом если не получается спрашивать на форуме | |
|
|
|
|
|
|
|
для: psychomc
(17.02.2010 в 18:14)
| | http://infuzo.far.ru/form.php. Тоже самое! Я ввожу два текста-он мне стирает первый, и ставит второй текст! Что делать? | |
|
|
|
|
|
|
|
для: VD 1
(20.02.2010 в 08:30)
| | Здесь форум по конкретным вопросам, а не клуб гадалок. Поэтому на ваш вопрос, что делать, только одно можно ответить - потрудитесь предоставлять свой код на форуме, который вызывает проблемы, если хотите получить ответ. Или это так сложно понять? | |
|
|
|
|
|
|
|
для: sim5
(20.02.2010 в 08:36)
| | Извиняюсь! И так всё по порядку:
Я хочу зделать строку комментариев для пользователей моего сайта. Форму и обработчик я зделал - работает. Я набираю текст, и на месте где у меня стоит обработчик появляется этот текс. Но когда я набираю второй текст - на месте первого текста появляется второй. А я хочу чтобы и первый текст сохранялся, и второй отображался. И ещё одно - обработчик и форма у меня на одной странице. Вот код страници:
<html>
<head>
<title>form</title>
</head>
<body>
<form action="form.php"method="post"><textarea name="txt"></textarea><input type="submit"value="send"></form><!--и обработчик-->
<?
$text=nl2br($_POST["txt"]);
echo $text;
?>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: VD 1
(20.02.2010 в 09:22)
| | Первое - прежде чем выводить полученные от формы данные, нужно хотя бы удостовериться, что они пришли.
Второе - принятые от формы данные при выводе на страницу нужно пропускать через htmlspecialchars().
Третье - чтобы ранее принятые данные не пропадали (а они пропадают при обновлении страницы), их надо сохранять. Для этого существуют файлы или базы данных. И это столь очевидно, что даже и вопроса у вас по этому поводу и возникать не должно было быть.
Четвертое - предвещая ваш возможный вопрос "Как сохранить?", отвечаю - изучать язык, которым вы пытаетесь воспользоваться. Не хотите изучать - заказывайте, оплачивайте, напишут. Ибо вы даже простейшего и того не пытаетесь изучить. | |
|
|
|
|
|
|
|
для: VD 1
(20.02.2010 в 09:22)
| | Жуткие мучения... Может это поспособствует... | |
|
|
|
|
|
|
|
для: Николай2357
(20.02.2010 в 10:07)
| | Ну - ну, http://infuzo.far.ru/form.php результат посмотрите сами.
<html>
<head>
<title>Form</title>
</head>
<body>
<?
$text1 = !empty($_POST['text1'])?$_POST['text1']:null;
$text2 = !empty($_POST['text2'])?$_POST['text2']:null;
?>
<form action="?" method="post">
<input name="text1" type="text" value="<?php echo htmlspecialchars($text1) ?>"/><br />
<textarea name="text2" cols="40" rows="10"><?php echo htmlspecialchars($text2); ?></textarea><br />
<input name="ok" type="submit" />
</form>
<?php
if(!empty($_POST['ok']))
{
if(!$text1)
echo 'Текстовое поле не заполнено.';
elseif(!$text2)
echo 'Текстовая область не заполнена.';
else
file_put_contents('text.txt', $text2, FILE_APPEND);
}
else
{
echo 'Напишите что нибудь';
}
if(file_exists('text.txt'))
echo nl2br(htmlspecialchars(file_get_contents('text.txt')));
?>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: VD 1
(20.02.2010 в 12:01)
| |
Warning: virtual() [function.virtual]: Unable to include '/lvt.htm' - request execution failed in /home/far/i/n/f/infuzo/public_html/form.php on line 5
|
| |
|
|
|
|
|
|
|
для: Владимир55
(20.02.2010 в 12:32)
| | На ошибку вверху страници не обращайте внимания - это код для баннера рекламы, на днях подключу | |
|
|
|
|
|
|
|
для: VD 1
(20.02.2010 в 12:01)
| | У тебя 4-я версия php на хостинге | |
|
|
|
|
|
|
|
для: Николай2357
(20.02.2010 в 12:55)
| | А возможно зделать архив на PHP 4 | |
|
|
|
|
|
|
|
для: VD 1
(20.02.2010 в 13:01)
| | Возможно, но лучше попробовать переключить версию. Обычно на хостингах есть выбор. | |
|
|
|
|
|
|
|
для: Николай2357
(20.02.2010 в 13:23)
| |
<?
function put_contents($filename, $content)
{
if(function_exists('file_put_contents'))
return file_put_contents($filename, $content);
if(!file_exists($filename))
fclose(fopen($filename, "a+t"));
$f = fopen($filename, "r+t");
while(!flock($f, LOCK_EX + LOCK_NB))
sleep(1);
ftruncate($f, 0);
fseek($f, 0, SEEK_SET);
fwrite($f, $content);
return fclose($f);
}
|
вот добавьте и в коде поменяйте file_put_contents() на put_contents() . Правда флаг придется убрать, но он там не особо нужен по ходу. | |
|
|
|
|
|
|
|
для: Николай2357
(20.02.2010 в 13:28)
| |
<?php
function put_contents($filename, $content, $flag = null)
{
if(function_exists('file_put_contents'))
return file_put_contents($filename, $content, $flag);
if(!file_exists($filename))
fclose(fopen($filename, "a+t"));
$f = fopen($filename, "r+t");
while(!flock($f, LOCK_EX + LOCK_NB))
sleep(1);
if($flag == FILE_APPEND)
{
fseek($f, 0, SEEK_END);
}
else
{
ftruncate($f, 0);
fseek($f, 0, SEEK_SET);
}
if(is_array($content))
$content = implode('', $content);
fwrite($f, $content );
return fclose($f);
}
|
вот почти полный аналог. | |
|
|
|
|
|
|
|
для: Николай2357
(20.02.2010 в 13:55)
| | Почти? | |
|
|
|
|
|
|
|
для: VD 1
(20.02.2010 в 16:32)
| | Не обращайте внимаие на "почти". На этом циклиться пока не надо. Это тонкости, до которых Вам край как далеко. | |
|
|
|
|
|
|
|
для: Николай2357
(20.02.2010 в 17:41)
| | Шас попытаюсь зделать полный код страници | |
|
|
|
|
|
|
|
для: VD 1
(20.02.2010 в 18:33)
| | Нифига не получилось! | |
|
|
|
|
|
|
|
для: VD 1
(13.02.2010 в 20:02)
| | Все глобальные массивы в PHP пишутся большими буквами (в верхнем регистре), а PHP регистрозависимый для имён переменных язык (это не касается функций), так же там не надо скобку перед именем переменной | |
|
|
|
|
|
|
|
для: Trivium
(01.03.2010 в 04:59)
| | Ну шо, наша сказка началась сначала. Я по архиватору хотел спросить. Я перекопировал архиватор в страницу. В $content = implode('', $content); вставил имя формы. Выдаёт ошибки. Помогите, пожалуйста сделать етот чёртовый архиватор. | |
|
|
|
|
|
|
|
для: Trivium
(01.03.2010 в 04:59)
| | А возможно сделать так? Сделать обработчик формы на php а архиватор на javascript. Потому-что я посмотрул в версию моего php хостинга - у меня php3. | |
|
|
|
|
|
|
|
для: VD 1
(08.04.2010 в 08:02)
| | А я придумал скрипт. Через несколько минут выложу | |
|
|
|
|
|
|
|
для: VD 1
(08.04.2010 в 08:02)
| | А скажите мне такой скрипт в котором при обработке формы выводится ёщё текст, скрытый от глаз пользователя. | |
|
|
|