Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не работает форма, заполнение полей 
V
    Опции темы
stat007
Дата 16.8.2010, 10:51 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 521
Регистрация: 9.10.2008

Репутация: -1
Всего: -4



Такая проблема, Есть файл формы, на которой 2 поля для ввода логина и пароля... Необходимо проверить на существование 2 введённый полей, т.е. если поле логин или пароль или по отдельности какое то из полей не заполнено, то переводить пользователя назад на эту же форму, если же заполнено, то соответственно:

Постарался реализовать способом ниже, но почему то не получилось(... Главное первый if() срабатывает, а else срабатывает, только если логин не совпадает с паролем, т.е. строка со звёздочкой. //(*), а дальше не срабатывает! Не знаю почему... подскажите.
Код

<?php
if($pass == $pswd)
{
//Выполнение запросов...
}
else
{
header('location: ./index.html');   //(*)


if(empty($pass))
{
header('location: ./index.html');
}

if(empty($pswd))
{
header('location: ./index.html');
}

if(empty($pass) && empty($pswd))
{
header('location: ./index.html');
}

if(empty($login) or empty($pswd))
{
header('location: ./index.html');
}
}

//Код вывода формы.

?>


Это сообщение отредактировал(а) stat007 - 16.8.2010, 11:09
PM MAIL   Вверх
GZep
Дата 16.8.2010, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: 8
Всего: 32



ммм... вопрос вроде понял, а код не совсем, но все же:

Код

<?php
/**
 * Если принимаются данные с формы
 */
if (isset($_GET['act'] && $_GET['act'] == "post") {

  if (empty($_POST['login']) && empty($_POST['password'])) {

     $err = "пожалуйста введите логин и пароль";

  if (empty($_POST['login'])) {

     $err = "пожалуйста введите логин";


  } elseif (empty($_POST['password']) {

     $err = "пожалуйста введите пароль";

  } else {

   /*
данные получены
тут записываем данные БД или еще чего-нибудь с ними делаем
конечно не забываем проверить данные на sql-инекции и на остальные виды "вшивости"
*/
   header('location: index.php');//Перенавправляем сами на себя, чтобы нажимая кнопку "обновить" форма не отправляла данные заново

  }

}

?>


<?php

if (isset($err)) {
   echo $err;
}

?>


<form action="index.php?act=post" method="post">

вот.

Это сообщение отредактировал(а) GZep - 16.8.2010, 11:25


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
patap
Дата 16.8.2010, 11:23 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 26
Всего: 40



потому, что на этой строке (8) данный скрипт делае редирект и прерывает свою работу


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
stat007
Дата 16.8.2010, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 521
Регистрация: 9.10.2008

Репутация: -1
Всего: -4



patap, 
А как сделать так, что бы else выполнился полностью?? Т.е. без редиректа?
PM MAIL   Вверх
stat007
Дата 16.8.2010, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 521
Регистрация: 9.10.2008

Репутация: -1
Всего: -4



GZep, А что такое act ???
Код

if (isset($_GET['act'] && $_GET['act'] == "post") {

PM MAIL   Вверх
patap
Дата 16.8.2010, 12:05 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 26
Всего: 40



Код

if ($_POST['pass'] != '' && $_POST['login'] != '') {
  echo 'форма заполнена';
} else {
  header('Location: index.html');
}



--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
stat007
Дата 16.8.2010, 12:11 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 521
Регистрация: 9.10.2008

Репутация: -1
Всего: -4



Всё, я выкрутился, просто поставил вместо else, if, и дальше везде if... smile 
PM MAIL   Вверх
GZep
Дата 24.8.2010, 11:32 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: 8
Всего: 32



Цитата(stat007 @  16.8.2010,  11:52 Найти цитируемый пост)
GZep, А что такое act ???

это get переменная которая указана явно в локации формы. Вот:
Цитата(GZep @  16.8.2010,  11:22 Найти цитируемый пост)
<form action="index.php?act=post" method="post">




--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0464 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.