Две проблемы с формой (переменные и Header(Locate))

Groove

Новичок
Две проблемы с формой (переменные и Header(Locate))

Господа, есть пара вопросов.
Сразу говорю, все статьи просмотрены, в FAQ ознакомлен. и не только на этом сайте...

Есть форма для вводе нового элемента справочника.
Есть скрипт для обработки и вставки значений в БД.

Проблема 1:
Проверка значений производится только на предмет - пустое поле

Так вот при проверке пробовал делать так
if (!isset($_POST["NameField"])||(!$_POST["NameField"])):
NField=$_POST["NameField"]
else
NField="Null";
endif;

так вот при проверке говорит, что не может изменить данные переданные методом ПОСТ

Проблема 2:

После вставки значения в БД, надо перенаправить обратно на страницу с формой

полный скрипт обработки формы
//вставка значений
incude ("config.php");//там хранятся значения имя БД, хост,
//пользователь и пароль
//тут моя проверка и запись в БД
//и в конце
Header("Locate:http:\\serverName\Form.php");

говорит не может сделать, был произведен вывод инфы до вызова управления заголовком и ссылается на строку с incude ("config.php");

В файле config.php
содержится только
$DB_Name="DBName";
$DB_Host="DB_host";
и прочее

Заранее благодарен
 

HabaHaba

Новичок
Привет.
1. Ты ошибся и случайно $ перед переменной NField не поставил?
2. Если говорит, что был произведен вывод, значит был. Выводом для него является любой принт (даже если у тебя там только заголовки HTML-я), любой пробел или перевод каретки.
 

Groove

Новичок
Уважаемый, HabaHaba!
1. ошибся
вот первый раз я пытался делать вот так
if (!isset($NameField)||(!$NameField)):
$NField="Null";
endif;
не используя массив $_POST
говорило то же самое, что нельзя менять, плюс то что переменная не определена, хотя строка
print $NameField, выводила значение переменной


Вот мне и интересно, то что я написал пятью строчками выше - это плохой стиль программирования? (ну без использования массива $_POST)

2.Вывода точно не было
инклюд же не считается выводом?
а ну в файле config.php есть еще
две функции, но я их не вызывал

и было еще
mysql_connect or die ()
но or die я закомментировал, так что даже в случае неудачи соединения или выполнения запроса вывод не производится


Но тогда возникает следующий вопрос

как делается следующая вешь:
после нажатия "submit" появляется надпись
"Ваше сообщение добавлено. Подождите пока скрипт переправит вас на ... Если этого не происходит нажмите СЮДА.."
Есть подозрение на JavaScript. но как сделать не пойму.
Вывод есть и редирект тут же...
 

Demiurg

Guest
1. переводить ошибки интерпретатора - признак дурного тона. нам нужен олный текст ошибки.
2. прочитай еще раз faq тап опичывается что может быьт лишним выводом.

>как делается следующая вешь:
скрипт на который делается submit выводит надпись. а потом с помошью мета тегов перебрасывается а другую страницу.
 
Сверху