Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Wizard RAA Генерал

Репутация: 41
Зарегистрирован: 17.03.2005 Сообщения: 3010 Откуда: из Ордена Полуночи, 248 сегмент
|
Добавлено: Сб Dec 15, 2007 12:02 am Заголовок сообщения: php с нуля |
|
|
взял ман, пробую воспроизвести:
главная страница:
Код: |
<FORM ACTION="mult.php" METHOD="GET">
<INPUT TYPE="text" NAME="first" SIZE="4" MAXLENGTH="4">
<INPUT TYPE="text" NAME="second" SIZE="4" MAXLENGTH="4">
<INPUT TYPE="Submit" VALUE="Умножить">
</FORM>
|
mult.php:
Код: |
<?php
Header("Content-type: text/html");
echo "$first умножить на $second получится ", $first*$second;
?>
|
Пишет после кликанья на кнопку:
Notice: Undefined variable: first in e:\web docs\mult.php on line 3
Я то думал переменная $first передаётся методом get,
но он говорит что её не знает.
В чём тут может быть дело? _________________
 |
|
Вернуться к началу |
|
 |
TSergey Генерал Майор

Репутация: 77
Зарегистрирован: 25.03.2003 Сообщения: 6237
|
Добавлено: Сб Dec 15, 2007 12:06 am Заголовок сообщения: |
|
|
Читать что такое register_globals_on и почему оно плохо.
Изучать что такое глобальные массивы _GET, _POST, _REQUEST и нафиг они вообще нужны. |
|
Вернуться к началу |
|
 |
Wizard RAA Генерал

Репутация: 41
Зарегистрирован: 17.03.2005 Сообщения: 3010 Откуда: из Ордена Полуночи, 248 сегмент
|
Добавлено: Сб Dec 15, 2007 12:08 am Заголовок сообщения: |
|
|
TSergey, ок, посмотрим _________________
 |
|
Вернуться к началу |
|
 |
Станислав Бергер Слава

Репутация: 35
Зарегистрирован: 25.03.2003 Сообщения: 4520 Откуда: Юго-Запад
|
Добавлено: Сб Dec 15, 2007 12:18 am Заголовок сообщения: |
|
|
<?php
Header("Content-type: text/html");
echo "$first умножить на $second получится ".$first*$second;
?> _________________
 |
|
Вернуться к началу |
|
 |
TSergey Генерал Майор

Репутация: 77
Зарегистрирован: 25.03.2003 Сообщения: 6237
|
Добавлено: Сб Dec 15, 2007 12:43 am Заголовок сообщения: |
|
|
Станислав Бергер писал(а): | <?php
Header("Content-type: text/html");
echo "$first умножить на $second получится ".$first*$second;
?> | Читать http://www.php.net/manual/ru/function.echo.php |
|
Вернуться к началу |
|
 |
Станислав Бергер Слава

Репутация: 35
Зарегистрирован: 25.03.2003 Сообщения: 4520 Откуда: Юго-Запад
|
Добавлено: Сб Dec 15, 2007 12:45 am Заголовок сообщения: |
|
|
TSergey, буду знать  _________________
 |
|
Вернуться к началу |
|
 |
Wizard RAA Генерал

Репутация: 41
Зарегистрирован: 17.03.2005 Сообщения: 3010 Откуда: из Ордена Полуночи, 248 сегмент
|
Добавлено: Сб Dec 15, 2007 1:15 am Заголовок сообщения: |
|
|
Пробовал с массивчиками:
Код: |
<FORM ACTION="calc.php" METHOD="POST">
<INPUT TYPE="text" NAME="first" SIZE="4" MAXLENGTH="4">
<INPUT TYPE="Submit" VALUE="Calculate">
</FORM>
|
и calc.php:
Код: |
<?php
$a = $_POST['first'];
echo $a;
echo "x20= ", $a*20;
?>
|
С методом пост, всё работает, а вот если вместо POST написать GET - то не хочет.
Почему то не формирует строку вида calc.php?first=5 _________________
 |
|
Вернуться к началу |
|
 |
Дарк Капитан

Репутация: 31
Зарегистрирован: 30.01.2005 Сообщения: 594
|
Добавлено: Сб Dec 15, 2007 1:48 pm Заголовок сообщения: |
|
|
Где гет написать?
Если менять метод посылки - надо и в форме, и в пхп-коде менять пост на гет.
кроме того, обычно данные из формы гетом не передают. _________________ "A good programmer is someone who looks both ways before crossing a one-way street". Doug Linder |
|
Вернуться к началу |
|
 |
TSergey Генерал Майор

Репутация: 77
Зарегистрирован: 25.03.2003 Сообщения: 6237
|
Добавлено: Сб Dec 15, 2007 2:58 pm Заголовок сообщения: |
|
|
Дарк писал(а): | кроме того, обычно данные из формы гетом не передают. |
С чего хоть это?
Большие тексты, файлы - не передают.
Зайди на яндекс, гугл и прочие поисковики: хочешь сказать, что они настолько тупы, что передают все через GET? |
|
Вернуться к началу |
|
 |
Wizard RAA Генерал

Репутация: 41
Зарегистрирован: 17.03.2005 Сообщения: 3010 Откуда: из Ордена Полуночи, 248 сегмент
|
Добавлено: Сб Dec 15, 2007 4:03 pm Заголовок сообщения: |
|
|
Дарк, поменяно и там и тут: и в форме и в скрипте.
Почему-то форма не создаёт адресную строку как надо _________________
 |
|
Вернуться к началу |
|
 |
Дарк Капитан

Репутация: 31
Зарегистрирован: 30.01.2005 Сообщения: 594
|
Добавлено: Сб Dec 15, 2007 7:43 pm Заголовок сообщения: |
|
|
TSergey писал(а): | Дарк писал(а): | кроме того, обычно данные из формы гетом не передают. |
С чего хоть это?
Большие тексты, файлы - не передают.
Зайди на яндекс, гугл и прочие поисковики: хочешь сказать, что они настолько тупы, что передают все через GET? |
Если в форме одна короткая строка , то конечно гет ничем не хуже.
кроме того, думаю решающими факторами выбора метода передачи для поисковиков была возможность кинуть прямую ссылку на результат поиска. _________________ "A good programmer is someone who looks both ways before crossing a one-way street". Doug Linder |
|
Вернуться к началу |
|
 |
Wizard RAA Генерал

Репутация: 41
Зарегистрирован: 17.03.2005 Сообщения: 3010 Откуда: из Ордена Полуночи, 248 сегмент
|
Добавлено: Сб Dec 15, 2007 9:41 pm Заголовок сообщения: |
|
|
а можно узнать ИП зашедшего на сайт и использовать в скриптах?
если можно то какой функцией?/из какой переменной? _________________
 |
|
Вернуться к началу |
|
 |
LVS Майор

Репутация: 32
Зарегистрирован: 01.10.2005 Сообщения: 1169
|
Добавлено: Сб Dec 15, 2007 11:51 pm Заголовок сообщения: |
|
|
Возми уже справочник по пхп и на странице "глобальные переменные" или "environment variables" посмотри все существующие полезные переменные. _________________ © 2008, LVS |
|
Вернуться к началу |
|
 |
ES Майор

Репутация: 4
Зарегистрирован: 01.06.2005 Сообщения: 1380
|
Добавлено: Вс Dec 16, 2007 12:00 am Заголовок сообщения: |
|
|
Wizard RAA писал(а): | а можно узнать ИП зашедшего на сайт и использовать в скриптах? |
узнать на сколько я помню можно, но не всегда ты получишь именно айпишник зашедшего. в свое время тоже этим интересовался и прочитав довольно много постов понял, что если человек хочет скрыть свой реальный апишник, то вычислить его проблематично
а по самому вопросу LVS правильно сказал  |
|
Вернуться к началу |
|
 |
LVS Майор

Репутация: 32
Зарегистрирован: 01.10.2005 Сообщения: 1169
|
Добавлено: Вс Dec 16, 2007 12:13 am Заголовок сообщения: |
|
|
ES писал(а): |
узнать на сколько я помню можно, но не всегда ты получишь именно айпишник зашедшего. в свое время тоже этим интересовался и прочитав довольно много постов понял, что если человек хочет скрыть свой реальный апишник, то вычислить его проблематично
|
Достаточно двух прокси серверов, чтобы скрипту не передался адрес пользователя. _________________ © 2008, LVS |
|
Вернуться к началу |
|
 |
ES Майор

Репутация: 4
Зарегистрирован: 01.06.2005 Сообщения: 1380
|
Добавлено: Вс Dec 16, 2007 12:17 am Заголовок сообщения: |
|
|
LVS писал(а): | Достаточно двух прокси серверов, чтобы скрипту не передался адрес пользователя. |
примерно это и пытался сказать, но не обладал точными данными  |
|
Вернуться к началу |
|
 |
D@rkNeo Lucifer's Angel

Репутация: 616
Зарегистрирован: 24.08.2006 Сообщения: 12447 Откуда: icq2u.ru
|
Добавлено: Вс Dec 16, 2007 12:21 am Заголовок сообщения: |
|
|
ES писал(а): | LVS писал(а): | Достаточно двух прокси серверов, чтобы скрипту не передался адрес пользователя. |
примерно это и пытался сказать, но не обладал точными данными  | простой логики достаточно, чтобы к этому прийти. _________________ 2002 Honda Integra DC5 |
|
Вернуться к началу |
|
 |
ES Майор

Репутация: 4
Зарегистрирован: 01.06.2005 Сообщения: 1380
|
Добавлено: Вс Dec 16, 2007 12:25 am Заголовок сообщения: |
|
|
как я понимаю все зависит от того как настроен прокси-сервер, какую инфу он передает о соединение его используещим |
|
Вернуться к началу |
|
 |
Wizard RAA Генерал

Репутация: 41
Зарегистрирован: 17.03.2005 Сообщения: 3010 Откуда: из Ордена Полуночи, 248 сегмент
|
Добавлено: Вс Dec 16, 2007 1:05 pm Заголовок сообщения: |
|
|
LVS, я бы взял. вопрос где? если у кого-нить завалялся - буду очень признателен.
как узнать ип - узнал $_SERVER['REMOTE_ADDR']
с подменой ип - меня не интересует, я как раз наоборот пишу - если ип мой - то результат такой-то, а если чужой - другой _________________
 |
|
Вернуться к началу |
|
 |
Wizard RAA Генерал

Репутация: 41
Зарегистрирован: 17.03.2005 Сообщения: 3010 Откуда: из Ордена Полуночи, 248 сегмент
|
Добавлено: Вс Dec 16, 2007 1:05 pm Заголовок сообщения: |
|
|
у меня есть несколько доков по php но там всякую ерунду пишут _________________
 |
|
Вернуться к началу |
|
 |
ES Майор

Репутация: 4
Зарегистрирован: 01.06.2005 Сообщения: 1380
|
Добавлено: Вс Dec 16, 2007 1:10 pm Заголовок сообщения: |
|
|
Wizard RAA, у меня есть несколько книг в электронном варианте:
Валейд_PHP 5 для чайников.pdf
Коггзолл_PHP5. Полное руководство.pdf
Колисниченко_Самоучитель PHP5.djvu
Котеров_Самоучитель PHP4.pdf
Томсон_Разработка Web - приложений на PHP и MySQL.pdf
Ульман_Основы программирования на РНР.pdf
Если надо будет, залью на мопед. Про качество этих книг ничего особо сказать не могу, т.к. не одну из них не прочитал, а только смотрел нужные мне моменты |
|
Вернуться к началу |
|
 |
LVS Майор

Репутация: 32
Зарегистрирован: 01.10.2005 Сообщения: 1169
|
|
Вернуться к началу |
|
 |
Wizard RAA Генерал

Репутация: 41
Зарегистрирован: 17.03.2005 Сообщения: 3010 Откуда: из Ордена Полуночи, 248 сегмент
|
Добавлено: Вс Dec 16, 2007 1:26 pm Заголовок сообщения: |
|
|
ES, залей, не помешают _________________
 |
|
Вернуться к началу |
|
 |
ES Майор

Репутация: 4
Зарегистрирован: 01.06.2005 Сообщения: 1380
|
|
Вернуться к началу |
|
 |
Wizard RAA Генерал

Репутация: 41
Зарегистрирован: 17.03.2005 Сообщения: 3010 Откуда: из Ордена Полуночи, 248 сегмент
|
Добавлено: Вс Dec 16, 2007 1:34 pm Заголовок сообщения: |
|
|
ES, благодарю _________________
 |
|
Вернуться к началу |
|
 |
Wizard RAA Генерал

Репутация: 41
Зарегистрирован: 17.03.2005 Сообщения: 3010 Откуда: из Ордена Полуночи, 248 сегмент
|
Добавлено: Вт Dec 18, 2007 4:00 pm Заголовок сообщения: |
|
|
как определить входит ли в массив элемент с индексом?
в мануалах как-то эта инфа опускается,
я попробовал
Код: |
if ($_POST['msg']!==NULL) fwrite($txt, $_POST['msg']);
и
if (definded($_POST['msg'])) ....
|
один результат, говорит неопределённый индекс... _________________
 |
|
Вернуться к началу |
|
 |
LVS Майор

Репутация: 32
Зарегистрирован: 01.10.2005 Сообщения: 1169
|
Добавлено: Вт Dec 18, 2007 4:35 pm Заголовок сообщения: |
|
|
Не !==, а !=
Используй empty() _________________ © 2008, LVS |
|
Вернуться к началу |
|
 |
Wizard RAA Генерал

Репутация: 41
Зарегистрирован: 17.03.2005 Сообщения: 3010 Откуда: из Ордена Полуночи, 248 сегмент
|
Добавлено: Вт Dec 18, 2007 4:46 pm Заголовок сообщения: |
|
|
посмотрел, для этого случая есть функция
array_key_exists _________________
 |
|
Вернуться к началу |
|
 |
Wizard RAA Генерал

Репутация: 41
Зарегистрирован: 17.03.2005 Сообщения: 3010 Откуда: из Ордена Полуночи, 248 сегмент
|
Добавлено: Вт Dec 18, 2007 8:50 pm Заголовок сообщения: |
|
|
вопрос теперь скорее не к php:
как сделать самообновляемую страницу?
как, например, в чатах? _________________
 |
|
Вернуться к началу |
|
 |
AlexeyF Генерал

Репутация: 329
Зарегистрирован: 21.02.2006 Сообщения: 3903
|
Добавлено: Вт Dec 18, 2007 8:54 pm Заголовок сообщения: |
|
|
Стивен Хольцнер - PHP в примерах
Код: | Вашему вниманию предлагается один из мировых бестселлеров, посвященных программированию на РНР. В рамках одной книги автору удалось, начав с основ языка РНР, охватить весьма широкий круг вопросов - от объектно-ориентированного программирования до сложной обработки web-форм, от сохранения данных сеанса работы до формирования e-mail. |
К сожалению внеха
Может кого-нибудь заинтересует.
http://soft-best.ws/2007/12/18/stiven-kholcner-php-v-primerakh.html _________________
 |
|
Вернуться к началу |
|
 |
LVS Майор

Репутация: 32
Зарегистрирован: 01.10.2005 Сообщения: 1169
|
Добавлено: Вт Dec 18, 2007 8:55 pm Заголовок сообщения: |
|
|
В JavaScript reload(), document.location.
В HTML meta refresh _________________ © 2008, LVS |
|
Вернуться к началу |
|
 |
TSergey Генерал Майор

Репутация: 77
Зарегистрирован: 25.03.2003 Сообщения: 6237
|
Добавлено: Вт Dec 18, 2007 8:57 pm Заголовок сообщения: |
|
|
meta refresh |
|
Вернуться к началу |
|
 |
Wizard RAA Генерал

Репутация: 41
Зарегистрирован: 17.03.2005 Сообщения: 3010 Откуда: из Ордена Полуночи, 248 сегмент
|
Добавлено: Вт Dec 18, 2007 8:58 pm Заголовок сообщения: |
|
|
AlexeyF, у тебя ж безлимит? _________________
 |
|
Вернуться к началу |
|
 |
Wizard RAA Генерал

Репутация: 41
Зарегистрирован: 17.03.2005 Сообщения: 3010 Откуда: из Ордена Полуночи, 248 сегмент
|
Добавлено: Вт Dec 18, 2007 9:04 pm Заголовок сообщения: |
|
|
LVS, TSergey, спасибо за инфу, осталось только сообразить, куда это прописать _________________
 |
|
Вернуться к началу |
|
 |
Wizard RAA Генерал

Репутация: 41
Зарегистрирован: 17.03.2005 Сообщения: 3010 Откуда: из Ордена Полуночи, 248 сегмент
|
Добавлено: Вт Dec 18, 2007 9:20 pm Заголовок сообщения: |
|
|
вот оно:
<meta http-equiv="refresh" content="5"> _________________
 |
|
Вернуться к началу |
|
 |
Wizard RAA Генерал

Репутация: 41
Зарегистрирован: 17.03.2005 Сообщения: 3010 Откуда: из Ордена Полуночи, 248 сегмент
|
Добавлено: Вт Dec 18, 2007 11:14 pm Заголовок сообщения: |
|
|
Написал простенький чат:
Код: |
<?php
session_start();
if (array_key_exists("login", $_POST))
$_SESSION['login'] = $_POST['login'];
?>
<html>
<head>
<meta http-equiv="refresh" content="5">
</head>
<?php
if (array_key_exists("exit", $_POST))
{
unset($_SESSION['login']);
session_destroy();
echo "Exit";
echo "<br><a href=main.php>Go Back</a>";
exit;
}
$fname = "message.txt";
if (array_key_exists("msg", $_POST))
{
$txt = fopen($fname, "a");
fwrite($txt, $_SESSION['login'] . ":" . $_POST['msg'] . "&|&");
fclose($txt);
}
$f = file($fname);
if (!empty($f))
{
$messarr = explode("&|&", $f[0]);
for ($i = 0; $i < count($messarr); $i++)
{echo "<BR>$messarr[$i]";};
}
?>
<Form action="room.php" method="POST">
<Input type="text" NAME="msg" SIZE="100" MAXLENGTH="100">
<Input type="Submit" VALUE="Enter">
</Form>
<Form action="room.php" method="POST">
<Input type="Submit" name = "exit" VALUE="Exit">
</Form>
</body>
</html>
|
Всё бы ничего, но обновляется вся страница, и когда пишешь длинную цитату, страница успевает обновится и стирается всё что было написано.
Попробовал разбить на фрэймы:
room.php:
Код: |
<?php
session_start();
if (array_key_exists("login", $_POST))
$_SESSION['login'] = $_POST['login'];
if (array_key_exists("exit", $_POST))
{
unset($_SESSION['login']);
session_destroy();
echo "Exit";
echo "<br><a href=main.php>Go Back</a>";
exit;
}
$fname = "message.txt";
if (array_key_exists("msg", $_POST))
{
$txt = fopen($fname, "a");
fwrite($txt, $_SESSION['login'] . ": " . $_POST['msg'] . "&|&");
fclose($txt);
}
?>
<html>
<head>
</head>
<frameset rows="*,*" frameborder="no" border="0" framespacing="0">
<frame src="mess.php" name="c1Frame">
<frame src="panel.php" name="panelFrame">
</frameset>
<body>
</body>
</html>
|
mess.php:
Код: |
<html>
<head>
<meta http-equiv="refresh" content="5">
</head>
<body>
<?php
$fname = "message.txt";
$f = file($fname);
if (!empty($f))
{
$messarr = explode("&|&", $f[0]);
for ($i = 0; $i < count($messarr); $i++)
{echo "<BR>$messarr[$i]";};
}
?>
</body>
</html>
|
panel.php
Код: |
<html>
<body>
<form action="room.php" method="POST">
<INPUT TYPE="text" NAME="msg" SIZE="100" MAXLENGTH="100">
<INPUT TYPE="Submit" VALUE="Enter">
</FORM>
<form action="room.php" method="POST">
<INPUT TYPE="Submit" name = "exit" VALUE="Exit">
</FORM>
</body>
</html>
|
Теперь окно сообщений обновляется отдельно,
но когда нажимаешь кнопку Enter - появляется ещё один фрэйм mess.php. И сколько раз нажмёшь столько их и добавится. Причём фрэйм с панелью не добавляется?
В чём может быть трабл и как его пофиксить? _________________
 |
|
Вернуться к началу |
|
 |
KoLar Старшина

Репутация: 5
Зарегистрирован: 27.05.2007 Сообщения: 157 Откуда: Нижний Тагил
|
Добавлено: Вт Dec 18, 2007 11:30 pm Заголовок сообщения: |
|
|
panel.php:
Код: | <html>
<body>
<form action="room.php" method="POST" target="_top">
<INPUT TYPE="text" NAME="msg" SIZE="100" MAXLENGTH="100">
<INPUT TYPE="Submit" VALUE="Enter">
</FORM>
<form action="room.php" method="POST" target="_top">
<INPUT TYPE="Submit" name = "exit" VALUE="Exit">
</FORM>
</body>
</html> |
Получилось, что ты в панель загружаешь снова весь room.php, а он состоит из 2 окон.. А так ты будешь загружать room.php в верхнее окно (т.е. в главное окно с фреймами)
// Да, кстати, подправил чуток.. Exit тоже должна всё окно обновлять.. _________________
"Руки то золотые, жаль растут не оттуда!" ©
Последний раз редактировалось: KoLar (Вт Dec 18, 2007 11:36 pm), всего редактировалось 3 раз(а) |
|
Вернуться к началу |
|
 |
Wizard RAA Генерал

Репутация: 41
Зарегистрирован: 17.03.2005 Сообщения: 3010 Откуда: из Ордена Полуночи, 248 сегмент
|
Добавлено: Вт Dec 18, 2007 11:33 pm Заголовок сообщения: |
|
|
KoLar, сенк, попробую _________________
 |
|
Вернуться к началу |
|
 |
LVS Майор

Репутация: 32
Зарегистрирован: 01.10.2005 Сообщения: 1169
|
Добавлено: Вт Dec 18, 2007 11:44 pm Заголовок сообщения: |
|
|
Грамотный чат:
На странице один фрейм (т.е. отсутствие фреймов).
На JavaScript написана функция, которая забирает с сервера новые сообщения (т.е. не обновление всей страницы, а загрузка только новых сообщений).
Добавление нового сообщения происходит как обычно, но target-ом является невидимый <iframe>, чтобы при добавлении не открывалось новое окошко.
Если сделаешь такое, то освоишь много нюансов и так же изучишь JavaScript. _________________ © 2008, LVS |
|
Вернуться к началу |
|
 |
KoLar Старшина

Репутация: 5
Зарегистрирован: 27.05.2007 Сообщения: 157 Откуда: Нижний Тагил
|
Добавлено: Вт Dec 18, 2007 11:53 pm Заголовок сообщения: |
|
|
LVS писал(а): | Грамотный чат:
На странице один фрейм (т.е. отсутствие фреймов).
На JavaScript написана функция, которая забирает с сервера новые сообщения (т.е. не обновление всей страницы, а загрузка только новых сообщений).
Добавление нового сообщения происходит как обычно, но target-ом является невидимый <iframe>, чтобы при добавлении не открывалось новое окошко.
Если сделаешь такое, то освоишь много нюансов и так же изучишь JavaScript. |
Ну, во-первых, если придираться к словам, "невидимый <iframe>" - тоже фрейм. Так что "отсутствия фреймов" не получается А во-вторых, если динамически подгружать новые сообщения JavaScript'ом, то можно обойтись и без iframe.
А вообще конечно AJAX в этой ситуации самое лучшее.. Но начинать освоение php в данном случае лучше с простых фреймов, а не залезать сразу в PHP & AJAX & JavaScript.. _________________
"Руки то золотые, жаль растут не оттуда!" ©
Последний раз редактировалось: KoLar (Вт Dec 18, 2007 11:54 pm), всего редактировалось 1 раз |
|
Вернуться к началу |
|
 |
Wizard RAA Генерал

Репутация: 41
Зарегистрирован: 17.03.2005 Сообщения: 3010 Откуда: из Ордена Полуночи, 248 сегмент
|
Добавлено: Вт Dec 18, 2007 11:53 pm Заголовок сообщения: |
|
|
LVS, попробую. спасиб за рекомендации _________________
 |
|
Вернуться к началу |
|
 |
LVS Майор

Репутация: 32
Зарегистрирован: 01.10.2005 Сообщения: 1169
|
Добавлено: Вт Dec 18, 2007 11:56 pm Заголовок сообщения: |
|
|
Я тоже хотел ajax предложить, но надо сначала хотя бы php и javascript изучить. _________________ © 2008, LVS |
|
Вернуться к началу |
|
 |
KoLar Старшина

Репутация: 5
Зарегистрирован: 27.05.2007 Сообщения: 157 Откуда: Нижний Тагил
|
Добавлено: Вт Dec 18, 2007 11:59 pm Заголовок сообщения: |
|
|
LVS,
а разве без ajax можно загрузить данные яваскриптом не перезагружая страницу?  _________________
"Руки то золотые, жаль растут не оттуда!" © |
|
Вернуться к началу |
|
 |
LVS Майор

Репутация: 32
Зарегистрирован: 01.10.2005 Сообщения: 1169
|
Добавлено: Ср Dec 19, 2007 12:00 am Заголовок сообщения: |
|
|
KoLar писал(а): |
если динамически подгружать новые сообщения JavaScript'ом, то можно обойтись и без iframe.
|
А может знаешь как отправлять сообщения без дополнительного фрейма? Мне чего не приходит на ум такое... А! через img ведь можно. тоже невидимое. _________________ © 2008, LVS |
|
Вернуться к началу |
|
 |
LVS Майор

Репутация: 32
Зарегистрирован: 01.10.2005 Сообщения: 1169
|
Добавлено: Ср Dec 19, 2007 1:45 am Заголовок сообщения: |
|
|
KoLar писал(а): | LVS,
а разве без ajax можно загрузить данные яваскриптом не перезагружая страницу? :shock: |
Имел ввиду создать iframe, выдернуть из него данные от сервера и запихнуть их в нужное место в загруженном документе. _________________ © 2008, LVS |
|
Вернуться к началу |
|
 |
KoLar Старшина

Репутация: 5
Зарегистрирован: 27.05.2007 Сообщения: 157 Откуда: Нижний Тагил
|
Добавлено: Ср Dec 19, 2007 8:39 am Заголовок сообщения: |
|
|
LVS писал(а): | Имел ввиду создать iframe, выдернуть из него данные от сервера и запихнуть их в нужное место в загруженном документе. |
Ааа, ну всё понял теперь.. Просто не сразу понял назначение iframe..
Конечно с iframe это изрващённый вариант, хотя без ajax наверное лучше и не придумать.. _________________
"Руки то золотые, жаль растут не оттуда!" © |
|
Вернуться к началу |
|
 |
Wizard RAA Генерал

Репутация: 41
Зарегистрирован: 17.03.2005 Сообщения: 3010 Откуда: из Ордена Полуночи, 248 сегмент
|
Добавлено: Вс Dec 23, 2007 6:22 pm Заголовок сообщения: |
|
|
Проблема с JavaScript'ом. То ли я уже ничего не соображаю, то ли там логика какая-то другая:
Код: |
<html>
<body>
<script language="JavaScript">
function Func(){
document.write("JS Text");
}
</script>
<form >
<input type="button" value="Click me" onClick="Func()">
</form>
<script language="JavaScript">
Func();
</script>
</body>
</html>
|
При загрузки документа выводится кнопка и надпись JS Text друг под другом, что и следовало ожидать,
однако при нажатии кнопки документ полностью очищается, стираются даже тэги html, body а остаётся только эта надпись JS Text.
Хотя вроде и при загрузке и при кликаньи вызывается одна и та же функция. Почему такие разные результаты? И как сделать, чтобы на событие текст дописался к текущему доку? _________________
 |
|
Вернуться к началу |
|
 |
LVS Майор

Репутация: 32
Зарегистрирован: 01.10.2005 Сообщения: 1169
|
Добавлено: Вс Dec 23, 2007 6:34 pm Заголовок сообщения: |
|
|
функции JavaScript лучше размещать в <head>
Для выполнения этих функций при загрузке страницы лучше пользоваться конструкцией <body onload="Func();">.
И вместо <script language="JavaScript"> теперь кошернее ставить <script content="text/javascript">.
Вобще причуды в поведении JavaScript встречаются.
В твоем случае думаю это из-за того, что скрипт у тебя выполняется когда страница еще не догрузилась. (движек браузера как только встречает <script> сразу выполняет его) _________________ © 2008, LVS |
|
Вернуться к началу |
|
 |
Wizard RAA Генерал

Репутация: 41
Зарегистрирован: 17.03.2005 Сообщения: 3010 Откуда: из Ордена Полуночи, 248 сегмент
|
Добавлено: Вс Dec 23, 2007 6:39 pm Заголовок сообщения: |
|
|
LVS, да действительно, если функцию перенести в OnLoad загрузится только текст JS Text, однако мне бы хотелось наоборот, дописать текст к уже существующему, можно это сделать? _________________
 |
|
Вернуться к началу |
|
 |
LVS Майор

Репутация: 32
Зарегистрирован: 01.10.2005 Сообщения: 1169
|
Добавлено: Вс Dec 23, 2007 6:42 pm Заголовок сообщения: |
|
|
попробуй
document.open();
document.write();
document.close();
Еще есть атрибур innerHTML, но я забыл как им пользоваться. (мб document.innerHTML += 'your text';) _________________ © 2008, LVS |
|
Вернуться к началу |
|
 |
|