Передачапараметров через формы!!!!!!!!!!
-
xm*DrAgoN*
Короче говоря есть маленький вопросик!!!!!!!!!!!! А именно как передать значения из формы минуя: METHOD, а также кнопки SUBMIT.
Заранее спасибо!
Заранее спасибо!
Ну, method, предположим все-таки, наверное, нужен.
А насчет кнопки, сначала скажи, по какому событию ты хочешь сделать submit всей формы,
если не по кнопке "submit"?
<font size=-2>[ Это сообщение было отредактировано: BadBlock в 2002-08-01 15:56 ]</font>
А насчет кнопки, сначала скажи, по какому событию ты хочешь сделать submit всей формы,
если не по кнопке "submit"?
<font size=-2>[ Это сообщение было отредактировано: BadBlock в 2002-08-01 15:56 ]</font>
-
xm*DrAgoN*
> Ну, method, предположим все-таки, наверное, нужен.
>
> А насчет кнопки, сначала скажи, по какому событию ты хочешь
> сделать submit всей формы,
> если не по кнопке "submit"?
>
> <font size=-2>[ Это сообщение было отредактировано: BadBlock
> в 2002-08-01 15:56 ]</font>
так блокыч допустим, что у нас есть код на php, а именно:
<?
echo ("<form name = "admin" METHOD = "POST" action = "admin.php">");
echo ("<input type = "text" size = 8 name = "number" value = "$number">");
echo ("<textarea name = "comm"> rows = 9"></TEXTAREA>);
echo ("<input type = "submit">");
echo ("</form>");
?>
Ну собственно после выполнения данного скрипта УРЛА примет такой вид:........./admin.php?text="текст который мы введи"&comm="текст который мы ввели"... Так вот мне надо что бы эти параметры передовались не на жатию на кнопку, а на ссылку... Потому как мне надо передовать параметры позиции в таблице записи.... Понял?!?!?!?!?
_________________
Иногда кажется, что начало - это и есть конец
<font size=-2>[ Это сообщение было отредактировано: BadBlock в 2002-08-01 17:39 ]</font>
>
> А насчет кнопки, сначала скажи, по какому событию ты хочешь
> сделать submit всей формы,
> если не по кнопке "submit"?
>
> <font size=-2>[ Это сообщение было отредактировано: BadBlock
> в 2002-08-01 15:56 ]</font>
так блокыч допустим, что у нас есть код на php, а именно:
<?
echo ("<form name = "admin" METHOD = "POST" action = "admin.php">");
echo ("<input type = "text" size = 8 name = "number" value = "$number">");
echo ("<textarea name = "comm"> rows = 9"></TEXTAREA>);
echo ("<input type = "submit">");
echo ("</form>");
?>
Ну собственно после выполнения данного скрипта УРЛА примет такой вид:........./admin.php?text="текст который мы введи"&comm="текст который мы ввели"... Так вот мне надо что бы эти параметры передовались не на жатию на кнопку, а на ссылку... Потому как мне надо передовать параметры позиции в таблице записи.... Понял?!?!?!?!?
_________________
Иногда кажется, что начало - это и есть конец
<font size=-2>[ Это сообщение было отредактировано: BadBlock в 2002-08-01 17:39 ]</font>
> Ну собственно после выполнения данного скрипта УРЛА
> примет такой вид:........./admin.php?text="текст
> который мы введи"&comm="текст который мы ввели"...
Неправда. УРЛ примет такой вид, только если METHOD=GET, а метод POST передает значения невидимо, никак не через УРЛ. Так что в твоем случае УРЛ будет девственно чист от переменных.
Кстати, а зачем ты пишешь параметры для echo в скобках?
> Так вот мне надо что бы эти параметры передовались
> не на жатию на кнопку, а на ссылку...
Ну напиши, например, <img src=xxx.gif onClick="admin.submit();" STYLE="cursor:hand"> , где admin – имя формы, тогда сможешь сабмиттить не по кнопке, а по нажатию на картинку, причем при наведении на картинку курсор примет вид руки, как при наведении на любую ссылку.
> Потому как мне надо передовать параметры позиции
> в таблице записи.... Понял?!?!?!?!?
Нет, нифига не понял. Какие еще позиции? В какой еще таблице записи??? Никак не пойму, чем же все-таки не устраивает кнопка SUBMIT? Какая хрен разница, чем сабмиттить, если результат один и тот же? Если твоя цель - чтобы переменные были невидимы в УРЛ, то делай METHOD=POST. Хотя совсем всё спрятать всё равно не получится – даже хидден инпуты все равно видно в html-сорце.
P.S. Когда постишь HTML-код в форум, ставь галочку "Запрещены HTML в этом сообщении", и тогда твой код будет выводиться в таком виде, в каком ты его написал.
<font size=-2>[ Это сообщение было отредактировано: BadBlock в 2002-08-01 18:13 ]</font>
> примет такой вид:........./admin.php?text="текст
> который мы введи"&comm="текст который мы ввели"...
Неправда. УРЛ примет такой вид, только если METHOD=GET, а метод POST передает значения невидимо, никак не через УРЛ. Так что в твоем случае УРЛ будет девственно чист от переменных.
Кстати, а зачем ты пишешь параметры для echo в скобках?
> Так вот мне надо что бы эти параметры передовались
> не на жатию на кнопку, а на ссылку...
Ну напиши, например, <img src=xxx.gif onClick="admin.submit();" STYLE="cursor:hand"> , где admin – имя формы, тогда сможешь сабмиттить не по кнопке, а по нажатию на картинку, причем при наведении на картинку курсор примет вид руки, как при наведении на любую ссылку.
> Потому как мне надо передовать параметры позиции
> в таблице записи.... Понял?!?!?!?!?
Нет, нифига не понял. Какие еще позиции? В какой еще таблице записи??? Никак не пойму, чем же все-таки не устраивает кнопка SUBMIT? Какая хрен разница, чем сабмиттить, если результат один и тот же? Если твоя цель - чтобы переменные были невидимы в УРЛ, то делай METHOD=POST. Хотя совсем всё спрятать всё равно не получится – даже хидден инпуты все равно видно в html-сорце.
P.S. Когда постишь HTML-код в форум, ставь галочку "Запрещены HTML в этом сообщении", и тогда твой код будет выводиться в таком виде, в каком ты его написал.
<font size=-2>[ Это сообщение было отредактировано: BadBlock в 2002-08-01 18:13 ]</font>
-
xm*DrAgoN*
> > Ну собственно после выполнения данного скрипта УРЛА
> > примет такой вид:........./admin.php?text="текст
> > который мы введи"&comm="текст который
> мы ввели"...
>
> Неправда. УРЛ примет такой вид, только если METHOD=GET,
> а метод POST передает значения невидимо, никак не через
> УРЛ. Так что в твоем случае УРЛ будет девственно чист
> от переменных.
АААААААААА. Ну тогда у меня наверное глюки... ты хоть каким методом пость урла будет содержать информацию из полей!.
> Кстати, а зачем ты пишешь параметры для echo в скобках?
>
>
> > Так вот мне надо что бы эти параметры передовались
> > не на жатию на кнопку, а на ссылку...
>
> Ну напиши, например, <img src=xxx.gif onClick="admin.
> submit();" STYLE="cursor:hand">
По моему ты говоришь про совсем другое! МНе надо взять инфу из формы.....
>
> > Потому как мне надо передовать параметры позиции
>
> > в таблице записи.... Понял?!?!?!?!?
>
> Нет, нифига не понял. Какие еще позиции? В какой еще таблице
> записи???
Блокыч... Ты работал с MySQL?!?!?!?!?! ИЛи у тебя ентот форум без MySQL????
_________________
Иногда кажется, что начало - это и есть конец
<font size=-2>[ Это сообщение было отредактировано: BadBlock в 2002-08-02 10:29 ]</font>
> > примет такой вид:........./admin.php?text="текст
> > который мы введи"&comm="текст который
> мы ввели"...
>
> Неправда. УРЛ примет такой вид, только если METHOD=GET,
> а метод POST передает значения невидимо, никак не через
> УРЛ. Так что в твоем случае УРЛ будет девственно чист
> от переменных.
АААААААААА. Ну тогда у меня наверное глюки... ты хоть каким методом пость урла будет содержать информацию из полей!.
> Кстати, а зачем ты пишешь параметры для echo в скобках?
>
>
> > Так вот мне надо что бы эти параметры передовались
> > не на жатию на кнопку, а на ссылку...
>
> Ну напиши, например, <img src=xxx.gif onClick="admin.
> submit();" STYLE="cursor:hand">
По моему ты говоришь про совсем другое! МНе надо взять инфу из формы.....
>
> > Потому как мне надо передовать параметры позиции
>
> > в таблице записи.... Понял?!?!?!?!?
>
> Нет, нифига не понял. Какие еще позиции? В какой еще таблице
> записи???
Блокыч... Ты работал с MySQL?!?!?!?!?! ИЛи у тебя ентот форум без MySQL????
_________________
Иногда кажется, что начало - это и есть конец
<font size=-2>[ Это сообщение было отредактировано: BadBlock в 2002-08-02 10:29 ]</font>
> АААААААААА. Ну тогда у меня наверное глюки...
> ты хоть каким методом пость урла будет содержать
> информацию из полей!.
Тебе еще раз повторить? УРЛ будет содержать информацию из полей только при использовании метода GET. У тебя совершенно точно глюки, либо ты занимаешься высасыванием из пальца непонятно чего, не попробовав для начала на практике. А ты попробуй хотя бы, прежде чем чушь-то городить.
> По моему ты говоришь про совсем другое!
> МНе надо взять инфу из формы.....
Ты совершенно надежно заберешь инфу из формы скриптом admin.php, используя указанный мной метод. Форма отдает свои значения по сабмиту. Как еще ты собрался забирать у нее значения кроме как по сабмиту? Ну так вот, каким способом ты вызовешь этот сабмит - через кнопку или же вызвав функцию "submit" вручную – пофигу.
> Блокыч... Ты работал с MySQL?!?!?!?!?!
Естественно, работал и работаю. Только вот MySQL не имеет никакого отношения к передаче значений из формы. И вообще, если ты заметил, у меня на сайте везде используются кнопки "submit", и никаких неудобств от этого факта я почему-то не испытываю.
<font size=-2>[ Это сообщение было отредактировано: BadBlock в 2002-08-02 10:44 ]</font>
> ты хоть каким методом пость урла будет содержать
> информацию из полей!.
Тебе еще раз повторить? УРЛ будет содержать информацию из полей только при использовании метода GET. У тебя совершенно точно глюки, либо ты занимаешься высасыванием из пальца непонятно чего, не попробовав для начала на практике. А ты попробуй хотя бы, прежде чем чушь-то городить.
> По моему ты говоришь про совсем другое!
> МНе надо взять инфу из формы.....
Ты совершенно надежно заберешь инфу из формы скриптом admin.php, используя указанный мной метод. Форма отдает свои значения по сабмиту. Как еще ты собрался забирать у нее значения кроме как по сабмиту? Ну так вот, каким способом ты вызовешь этот сабмит - через кнопку или же вызвав функцию "submit" вручную – пофигу.
> Блокыч... Ты работал с MySQL?!?!?!?!?!
Естественно, работал и работаю. Только вот MySQL не имеет никакого отношения к передаче значений из формы. И вообще, если ты заметил, у меня на сайте везде используются кнопки "submit", и никаких неудобств от этого факта я почему-то не испытываю.
<font size=-2>[ Это сообщение было отредактировано: BadBlock в 2002-08-02 10:44 ]</font>
-
xm*DrAgoN*
Мля, смотри полный код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<?
define("DBName","test");
define("HostName","localhost");
define("UserName","root");
define("Password","");
if(!mysql_connect(HostName,UserName,Password))
{ echo "Не могу соединиться с базой ".DBName."!<br>";
echo mysql_error();
exit;
}
mysql_select_db(DBName);
$r=mysql_query("select * from guestbook WHERE id = $number");
$f=mysql_fetch_row($r);
echo ("<table border = 1 width = 500><tr><td>Автор:$f[1]</td><td>Город:$f[2]</td><tr><td colspan = 2>$f[3]</td></tr><tr><td colspan = 2>$f[4]</td></tr></tr></table>");
echo ("<form name = "comments" action = "change.php"");
echo ("<br>Выберите действие:<br><select name = "action"><option></select>");
echo ("<br>Коментарий:<br><textarea name = "comm" rows = "9"></textarea><br>[<a href = "change.php?action=del&number=$number">Удалить запись</a>][<a href = "change.php?action=add&number=$number&comm=test">Добавить коментарий</a>]");
echo ("<input type = "submit">");
echo ("</form>");
if ($action=="del")
{
mysql_query("delete from guestbook where id = $number");
echo "<meta http-equiv="Refresh" content="3; URL=admin.php">";
}
if ($action=="add")
{
mysql_query("update guestbook set comm='$comm' where id=$number");
}
?>
</body>
</html>
так вот для тех кто в танке... Определяется по запросу строка записи... потом имеется форма для внесения изменений в таблицу!!!!!!!!!!!!!!!!!!!!!!!!
При обычных САБМИТАХ выдается ошибка, что не правильный запрос!
Потому как ты не указываешь номер или ID... ПОНЯЛ?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<?
define("DBName","test");
define("HostName","localhost");
define("UserName","root");
define("Password","");
if(!mysql_connect(HostName,UserName,Password))
{ echo "Не могу соединиться с базой ".DBName."!<br>";
echo mysql_error();
exit;
}
mysql_select_db(DBName);
$r=mysql_query("select * from guestbook WHERE id = $number");
$f=mysql_fetch_row($r);
echo ("<table border = 1 width = 500><tr><td>Автор:$f[1]</td><td>Город:$f[2]</td><tr><td colspan = 2>$f[3]</td></tr><tr><td colspan = 2>$f[4]</td></tr></tr></table>");
echo ("<form name = "comments" action = "change.php"");
echo ("<br>Выберите действие:<br><select name = "action"><option></select>");
echo ("<br>Коментарий:<br><textarea name = "comm" rows = "9"></textarea><br>[<a href = "change.php?action=del&number=$number">Удалить запись</a>][<a href = "change.php?action=add&number=$number&comm=test">Добавить коментарий</a>]");
echo ("<input type = "submit">");
echo ("</form>");
if ($action=="del")
{
mysql_query("delete from guestbook where id = $number");
echo "<meta http-equiv="Refresh" content="3; URL=admin.php">";
}
if ($action=="add")
{
mysql_query("update guestbook set comm='$comm' where id=$number");
}
?>
</body>
</html>
так вот для тех кто в танке... Определяется по запросу строка записи... потом имеется форма для внесения изменений в таблицу!!!!!!!!!!!!!!!!!!!!!!!!
При обычных САБМИТАХ выдается ошибка, что не правильный запрос!
Потому как ты не указываешь номер или ID... ПОНЯЛ?
Конечно, потому что у тебя скрипт написан не прямыми руками, а твоими.
(шутю, шутю)
Ладно, по порядку.
Первое. У тебя изначально не задана переменная $number, тем не менее, она тут же используется в запросе MySQL, и ты этот момент почему-то никак не проверяешь. Ну ладно, допустим, $number у тебя железно присутствует в URL.
Второе. Тебе в данном примере форма ваще не нужна, потому что ты все параметры передаешь сам через URL, причем URL формируется скриптом, а не браузером. А никаких инпутов, в которых задается $number, я в твоей форме не вижу, поэтому $number она НИКОГДА не передаст по сабмиту. Так что нафиг форму.
Третье. Если уж ты очень хочешь передать $number именно через форму, используй
echo "<input type=hidden name=number value=$number>";
Четвертое. Если у тебя PHP какой-нибудь типа 4.2, то в нем по умолчанию в php.ini директива register_globals равна OFF (!!!), поэтому напрямую присвоить переменной значение через URL при установках по умолчанию НЕ ПОЛУЧИТСЯ, и значения переменных, переданные из формы или заданные в URL руками или в ссылке, НИФИГА не присвоятся переменным с соответствующими именами. Ступай в php.ini, поставь там register_globals в On, и перезапусти Apache. Все должно работать. Если ты конечно, еще и обратил внимание на пункты "второе" и "третье".
<font size=-2>[ Это сообщение было отредактировано: BadBlock в 2002-08-02 11:54 ]</font>
Ладно, по порядку.
Первое. У тебя изначально не задана переменная $number, тем не менее, она тут же используется в запросе MySQL, и ты этот момент почему-то никак не проверяешь. Ну ладно, допустим, $number у тебя железно присутствует в URL.
Второе. Тебе в данном примере форма ваще не нужна, потому что ты все параметры передаешь сам через URL, причем URL формируется скриптом, а не браузером. А никаких инпутов, в которых задается $number, я в твоей форме не вижу, поэтому $number она НИКОГДА не передаст по сабмиту. Так что нафиг форму.
Третье. Если уж ты очень хочешь передать $number именно через форму, используй
echo "<input type=hidden name=number value=$number>";
Четвертое. Если у тебя PHP какой-нибудь типа 4.2, то в нем по умолчанию в php.ini директива register_globals равна OFF (!!!), поэтому напрямую присвоить переменной значение через URL при установках по умолчанию НЕ ПОЛУЧИТСЯ, и значения переменных, переданные из формы или заданные в URL руками или в ссылке, НИФИГА не присвоятся переменным с соответствующими именами. Ступай в php.ini, поставь там register_globals в On, и перезапусти Apache. Все должно работать. Если ты конечно, еще и обратил внимание на пункты "второе" и "третье".
<font size=-2>[ Это сообщение было отредактировано: BadBlock в 2002-08-02 11:54 ]</font>
-
xm*DrAgoN*
> Конечно, потому что у тебя скрипт написан не прямыми руками,
> а твоими.
(шутю, шутю)
>
> Ладно, по порядку.
>
> Первое. У тебя изначально не задана переменная $number,
Блокыч, ты думаешь что я дурак что ли?????
> тем не менее, она тут же используется в запросе MySQL,
> и ты этот момент почему-то никак не проверяешь. Ну ладно,
> допустим, $number у тебя железно присутствует в URL.
>
> Второе. Тебе в данном примере форма ваще не нужна, потому
> что ты все параметры передаешь сам через URL, причем URL
> формируется скриптом, а не браузером. А никаких инпутов,
> в которых задается $number, я в твоей форме не вижу,
> поэтому $number она НИКОГДА не передаст по сабмиту. Так
> что нафиг форму.
>
> Третье. Если уж ты очень хочешь передать $number именно
> через форму, используй
> echo "<input type=hidden name=number value=$number>";
>
> Четвертое. Если у тебя PHP какой-нибудь типа 4.2, то в
> нем по умолчанию в php.ini директива register_globals
> равна OFF (!!!), поэтому напрямую присвоить переменной
> значение через URL при установках по умолчанию НЕ ПОЛУЧИТСЯ,
> и значения переменных, переданные из формы или заданные
> в URL руками или в ссылке, НИФИГА не присвоятся переменным
> с соответствующими именами. Ступай в php.ini, поставь
> там register_globals в On, и перезапусти Apache. Все должно
> работать. Если ты конечно, еще и обратил внимание на пункты
> "второе" и "третье".
>
>
>
> <font size=-2>[ Это сообщение было отредактировано: BadBlock
> в 2002-08-02 11:54 ]</font>
Мда, как все просто и локонично!!!!!! Ладно я все и так сделал!
> а твоими.
>
> Ладно, по порядку.
>
> Первое. У тебя изначально не задана переменная $number,
Блокыч, ты думаешь что я дурак что ли?????
> тем не менее, она тут же используется в запросе MySQL,
> и ты этот момент почему-то никак не проверяешь. Ну ладно,
> допустим, $number у тебя железно присутствует в URL.
>
> Второе. Тебе в данном примере форма ваще не нужна, потому
> что ты все параметры передаешь сам через URL, причем URL
> формируется скриптом, а не браузером. А никаких инпутов,
> в которых задается $number, я в твоей форме не вижу,
> поэтому $number она НИКОГДА не передаст по сабмиту. Так
> что нафиг форму.
>
> Третье. Если уж ты очень хочешь передать $number именно
> через форму, используй
> echo "<input type=hidden name=number value=$number>";
>
> Четвертое. Если у тебя PHP какой-нибудь типа 4.2, то в
> нем по умолчанию в php.ini директива register_globals
> равна OFF (!!!), поэтому напрямую присвоить переменной
> значение через URL при установках по умолчанию НЕ ПОЛУЧИТСЯ,
> и значения переменных, переданные из формы или заданные
> в URL руками или в ссылке, НИФИГА не присвоятся переменным
> с соответствующими именами. Ступай в php.ini, поставь
> там register_globals в On, и перезапусти Apache. Все должно
> работать. Если ты конечно, еще и обратил внимание на пункты
> "второе" и "третье".
>
>
>
> <font size=-2>[ Это сообщение было отредактировано: BadBlock
> в 2002-08-02 11:54 ]</font>
Мда, как все просто и локонично!!!!!! Ладно я все и так сделал!
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей