Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 08.10.2014, 17:47
Аспирант
Отправить личное сообщение для voral Посмотреть профиль Найти все сообщения от voral
 
Регистрация: 03.10.2014
Сообщений: 67

<form method="post">
	<input name="login" type="text">
	<input name="submit" type="submit" class='btn' id="submit"></form>
<?php
if(empty ($_POST['login'])) {?>	

<script>
  window.onload = function() {
    swal("Password or Login incorrect!");
  }
</script>
<?php 
} else {echo 'login correct';}
?>
Ответить с цитированием
  #12 (permalink)  
Старый 08.10.2014, 17:54
Интересующийся
Отправить личное сообщение для arimanecro Посмотреть профиль Найти все сообщения от arimanecro
 
Регистрация: 08.10.2014
Сообщений: 24

почти то что надо, огромное спасибо

но сразу появляется проблема, как только я захожу на страницу, скрипт автоматом срабатывает(выскакивает окно), видимо поэтому и нужно было onclick = function(). Кажись тупиковая ситуация
Ответить с цитированием
  #13 (permalink)  
Старый 08.10.2014, 17:58
Аспирант
Отправить личное сообщение для voral Посмотреть профиль Найти все сообщения от voral
 
Регистрация: 03.10.2014
Сообщений: 67

Нет
Ну "онклик" же явно говорит, что функция срабатывает на клик. А вам это не надо. Соответсвенно ваша ошибка в php.
Вы проверяете пустой или нет $_POST['login'], а вам нужно проверить есть ли он вообще. if (isset($_POST['login']))..... и вы этом случае не выводить ни чего. В настоящий момент при этой ситуации php скрипт попадает в ваше условие заставляющее отобразить окно с ошибкой


<?php
  if (isset($_POST['login'])) {
    if(empty ($_POST['login'])) {?> 
       <script>
          window.onload = function() {
             swal("Password or Login incorrect!");
          }
       </script>
<?php
    }
    else {
       echo 'login correct';
   }
}
?>

Последний раз редактировалось voral, 08.10.2014 в 18:02.
Ответить с цитированием
  #14 (permalink)  
Старый 08.10.2014, 18:05
Интересующийся
Отправить личное сообщение для arimanecro Посмотреть профиль Найти все сообщения от arimanecro
 
Регистрация: 08.10.2014
Сообщений: 24

voral,
да, Вы совершенно правы, я по своей невнимательности, забыл сначала проверить на isset.
Благодарю ещё раз, за столь быстрые и правильные ответы
В карму смог добавить только один плюсик, больше не получается, из-за того, что требуется ещё кому-нибудь поставить (
Ответить с цитированием
  #15 (permalink)  
Старый 08.10.2014, 18:22
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

<input name="login" type="text" required> и фиг ты отправишь пустое поле, по крайней мере в современных браузерах)
Но это не отменяет необходимость серверной проверки.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #16 (permalink)  
Старый 09.10.2014, 09:28
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Так не делают, это уродство. Когда страница перезагружается то все сообщения валятся прямо в html, а когда страница не перезагружается, то все сообщения валятся в js-скрипт, который затем валит их в html.

В принципе можно и алерты втюхивать, onload тут вообще не при делах. Как только парсер дошел до алерта - показал. Потому что все уже решено до того как.
Ответить с цитированием
  #17 (permalink)  
Старый 09.10.2014, 10:12
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Вот так сделайте, как людей:

В процессе валидации просто собираете ерроры в массив, например

if(!validate($var))
$error[]='Нет такого юзера, или юзер ввел пароль неправильно';

Затем в рендере у вас, например

Код:
<div class="error_message">
 ?>
  if(count($errors))
     echo '<ul><li>', join('</li><li>',$errors), '</li></ul>';
 <?php
</div>
и все. Если ошибки были - они в хтмле проявятся. А если не было, этот div вообще не будет виден, ибо это div, а пустой div занимает 0 целых Х десятых места.

Более того, если вы захотите запросить данные с того же скрипта, то попросту выделяете этот кусок в отдельный файл (или метод, или функцию) и вызываете его (его, ее) единственно когда случились ошибки. Тогда по XMLHttpRequest скрипт получит точно такой же кусок хтмля и вставит его в то же самое место. - Это для случая без перезагрузки.
Ответить с цитированием
  #18 (permalink)  
Старый 09.10.2014, 10:24
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от kostyanet
ибо это div, а пустой div занимает 0 целых Х десятых места.
А если ему назначен padding и иконка/бэкграунд?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #19 (permalink)  
Старый 09.10.2014, 10:34
Аспирант
Отправить личное сообщение для voral Посмотреть профиль Найти все сообщения от voral
 
Регистрация: 03.10.2014
Сообщений: 67

Сообщение от kostyanet Посмотреть сообщение
А если не было, этот div вообще не будет виден, ибо это div, а пустой div занимает 0 целых Х десятых места.
Ну уж если все "вылизывать" то зачем вообще этот div выводить? Это сейчас он пустой, а завтра обновят на сайте стили....

На вопрос "зачем". Тут все от общей задачи зависит. Так просто "это не правильно" говорить не надо. Возможно окно строится общим для сайта скриптом. И используется скрипт в различных ситуациях. А может шаблон окна уже есть в html.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывыод контента через JS inet_boy Элементы интерфейса 0 18.11.2013 03:00
Переменная php -> параметр функции JS allie Общие вопросы Javascript 3 30.09.2011 10:11
Узнать как образуеться переменная. JS Groogrs Работа 1 11.07.2011 21:57
Переменная JS как индекс в PHP mirage009 Серверные языки и технологии 4 28.02.2010 21:01
помогите задать переменную в js bsgroupua Общие вопросы Javascript 3 01.02.2010 18:28