[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вопрос по URL
roland_07
Есть форма отправки комента автору. В урл передается id автора например:
write.php?id_wr=2
Если код для подтверждения отправки введен не правильно, то часть с id исчезает
остается только write.php?
Как можно сделать так чтобы при проверке введенного кода, если он не верен урл остался без изменений.
А то просто получается что отправляется коммент неизвестно кому.
Заранее сспасибо.



Спустя 10 минут, 4 секунды (21.07.2009 - 17:52) pas написал(а):
ну если я правильно понял, то у Вас используется форма для отправки, а значит в action можно написать что-то типо:
action="write.php?id_wr=".$id




Спустя 34 минуты, 41 секунда (21.07.2009 - 18:27) roland_07 написал(а):
да, Вы правильно поняли, но что-то не получается: переменной присвается значение во время первой загрузки страницы, а потом при сабмите значение обнуляется и не получается получить id

Спустя 6 минут, 14 секунд (21.07.2009 - 18:33) pas написал(а):
Приведите, пожалуйста, эту часть кода

Спустя 3 минуты, 37 секунд (21.07.2009 - 18:37) roland_07 написал(а):
PHP
if(isset($_GET['id_a'])){
$id_ra=intval($_GET['id_a']);

echo 
"id= $id_ra";

<
form action="write.php?id_a=".$id_ra" method="post" name=formcheck onsubmit="return formCheck(this);


при сабмите значение переменной $id_ra = 0

Спустя 10 минут, 18 секунд (21.07.2009 - 18:47) Wird_34 написал(а):
PHP
if(isset($_GET['id_a']) && $_GET['id_a']){

Спустя 7 минут, 49 секунд (21.07.2009 - 18:55) roland_07 написал(а):
тоже самое только теперь при сабмите не пишет, что $id_ra=0, а просто $id_ra

Спустя 11 минут, 40 секунд (21.07.2009 - 19:06) Wird_34 написал(а):
PHP
$request '';
if(isset(
$_GET['id_a']) && $_GET['id_a']) {
$id_ra=intval($_GET['id_a']);
$request "?id_a=".$id_ra;
}

echo 
"id= $id_ra";

<
form action="write.php".$request." method="post" name=formcheck onsubmit="return formCheck(this);

Спустя 14 минут, 36 секунд (21.07.2009 - 19:21) roland_07 написал(а):
к сожалению ничего, после сабмита url=write.php
и переменная $request ничему не равна: id =

Спустя 36 минут, 50 секунд (21.07.2009 - 19:58) Wird_34 написал(а):
Не могу понять как у тебя все реализовано...
С какой-то формы переходит на скрипт, часть кода которого ты привел, где проверяется верность введенных полей, рисуется еще одна форма которая уже отправляет данные скрипту который записывает их в базу данных, так?

И какой URL должен остаться без изменений при сабмите на второй форме первый или второй?

Спустя 46 минут, 48 секунд (21.07.2009 - 20:45) roland_07 написал(а):
Есть один файл write.php в котором форма и в этом же файле проверка, если нажата кнопка то выполнятестя проверка внесенных данных. При сабмите (в случае если код внесен не верно) должен остаться исходный урл без узменений, если вс енормально происходит перенаправление на главную страницу

Спустя 12 минут, 55 секунд (21.07.2009 - 20:58) Wird_34 написал(а):
Какой смысл в том, чтобы исходный URL остался без изменений? Проверяется верность введенных данных, если они не верны опять вырисовывается форма с предупреждением, иначе перенаправляется туда куда надо.

Спустя 4 минуты, 28 секунд (21.07.2009 - 21:02) roland_07 написал(а):
Просто с урл передается id автора по которому мы делаем селекс из базы и выбираем его e-mail на которое отправляется сообщение, если потерять id то выбирать нечего. Почему так все сложно решил делать, для того чтобы мыло пользователей нигде не отображалось на сайте и им не отправлялся спам, вот.
Потому я и хочу чтобы в случае введения неверного кода сохранялся исходный урл.

Спустя 10 минут, 45 секунд (21.07.2009 - 21:13) Wird_34 написал(а):
Ну так при возникновении ошибки id автора никуда не девается, просто добавляется к значению атрибута action ид автора с его значением, т. е.:
PHP
<form action="write.php?author_id=".$author_id." method="post" name=formcheck onsubmit="return formCheck(this);
. Ну и если что-то еще есть передающееся этому скрипту, аналогичным образом добавляется...

А вообще:
PHP
header('Location: ' . $_SERVER['HTTP_REFERER']);

Этот код возвращает пользователя назад, откуда он пришел...

Спустя 53 минуты, 40 секунд (21.07.2009 - 22:06) roland_07 написал(а):
это все попробовал, но тщетно, в урл ничего нет только сам файл рнр
header пользоваться не могу потому как инфа выводится до него и ругается на строчку в которой он прописан

Спустя 8 часов, 2 минуты, 30 секунд (22.07.2009 - 06:09) Wird_34 написал(а):
У тебя написано, что форма передает методом POST. Если данные формы передаются этим методом, то параметры записанные в action не затираются. А ты говоришь, что URL при сабмите становится просто "http://.../write.php", хотя как минимум должно быть "http://.../write.php?author_id=". А если учесть, что $_GET['author_id'] (или как там у тебя) переданная скрипту изначально никуда деться не могла, то должно все быть верно...

Кстати я тут подумал, что если URL при сабмите останется неизменным получится, что в форму передадутся те же неверные данные и покажет ту же форму, смысла вводить данные в которую нет, т. к. неверные данные передались хз откуда...
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.