[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вызвать функцию из контроллера
Jokeryuga
Доброго времени суток!из-за нехватки времени снова обращаюсь за помощью...помогите с таким вопросом...есть контроллер с функцией,которая возвращает значение,зависящее от наличия контактного телефона человека.мне нужно на страничке заказа сделать проверку есть ли у него телефон или нет,если нет,то вывести сообщение и если есть то вывести сообщение о подтверждении заказа(это я уже сделал).помогите как можно реализовать это?обычно ф-ию вызывал так: $this->phone(); а тут так не канает)))



Спустя 2 минуты, 23 секунды (20.01.2012 - 20:00) inpost написал(а):
Jokeryuga
1. JavaScript тут при чём?
2. Что за проверки? Откуда мы знаем, что в твоём классе написано?

Спустя 1 минута, 35 секунд (20.01.2012 - 20:02) UnWind написал(а):
Эм... Прости за глупый вопрос, но ты сам класс вызывал ?
Во вторых, причем тут раздел форума JavaScript.
И в третьих вообще если честно говоря задачи не понял, она описана как то "размыто".

Спустя 6 минут, 40 секунд (20.01.2012 - 20:09) Jokeryuga написал(а):
в контроллере идёт проверка бд,присутствует или нет телефон.можно сказать обычный sql запрос.просто сказали что можно сделать всё это с помощью javascript(и проверку на телефон и задать вопрос уверен ли он что хочет сделать заказ)

Спустя 48 секунд (20.01.2012 - 20:09) inpost написал(а):
Да, можно. Почитай про JS, сделай проверку на ней.

Спустя 6 минут, 31 секунда (20.01.2012 - 20:16) Jokeryuga написал(а):
Цитата (inpost @ 20.01.2012 - 17:09)
Да, можно. Почитай про JS, сделай проверку на ней.

извините за мою дерзость,но было бы время(из-за его нехватки приходится всё на лету понимать)...можно хотя бы примерчик какой???

Спустя 16 минут, 18 секунд (20.01.2012 - 20:32) caballero написал(а):
Цитата
можно хотя бы примерчик какой

примерчик чего?
у тебя класс на серверной стороне js на клиентской
ты не можешь вызвать напрямую - а только обратившись к странице (php файлу)

ну и как понять что там у тебя за файлы, классы где сам яваскрипт и т.д.

то что ты спрашивашь - это пальцем в небо




Спустя 8 минут, 32 секунды (20.01.2012 - 20:41) Jokeryuga написал(а):
Цитата (caballero @ 20.01.2012 - 17:32)
Цитата
можно хотя бы примерчик какой

примерчик чего?
у тебя класс на серверной стороне js на клиентской
ты не можешь вызвать напрямую - а только обратившись к странице (php файлу)

ну и как понять что там у тебя за файлы, классы где сам яваскрипт и т.д.

то что ты спрашивашь - это пальцем в небо

я на сообщение inpost'а ответил...короче задам вопрос так: как можно сделать проверку на существование телефона в бд и вывести сообщение если его нет...

Спустя 7 секунд (20.01.2012 - 20:41) UnWind написал(а):
Прочитай про AJAX (Обмен данными между php и js).
Создаешь php страницу, например с именем select.php:
<?php echo 'hello world';

Создаешь js скрипт, примерно такой (JQuery библиотека):
$.get("select.php", {}, function(x) { alert(x); });}

Только соответственно в select.php то, что тебе нужно вывести, а в js скрипте где нужно вывести и передаваемые данные (Если нужны).
И будет тебе чудо!
На выводе в данном случае вылетит окошечко с надписью "Hello World". ;)

Ну или вот еще пример:
select.php
<?php echo $_GET['text'];

js
$.get("select.php", { text: 'hello world' } function(x) { alert(x); });}

И будет тот же самый "hello world", только переданный через js -> php.

Спустя 4 минуты, 45 секунд (20.01.2012 - 20:46) Jokeryuga написал(а):
вроде понял!спасибо огромное

Спустя 3 минуты, 43 секунды (20.01.2012 - 20:49) UnWind написал(а):
Jokeryuga
Да не за что, кушайте с булочкой smile.gif (Тут реально не за что)
Хорошо бы плюсик еще было бы wink.gif Но это на Ваше усмотрение.

Спустя 45 минут, 26 секунд (20.01.2012 - 21:35) Jokeryuga написал(а):
Цитата (UnWind @ 20.01.2012 - 17:49)
Jokeryuga
Да не за что, кушайте с булочкой smile.gif (Тут реально не за что)
Хорошо бы плюсик еще было бы wink.gif Но это на Ваше усмотрение.

конечно поставлю,но всё равно не получается)))блин вникать надо а времени вообще нет.всё равно спасибо!и + ловите)

Спустя 3 минуты, 43 секунды (20.01.2012 - 21:38) UnWind написал(а):
Jokeryuga
Неполучилось скорее всего потому, что ты не подключил JQuery к своей странице wink.gif

Спустя 1 минута, 42 секунды (20.01.2012 - 21:40) Jokeryuga написал(а):
Цитата (UnWind @ 20.01.2012 - 18:38)
Jokeryuga
Неполучилось скорее всего потому, что ты не подключил JQuery к своей странице wink.gif

не ну если я fancybox использую,значит подключил)))

Спустя 10 минут, 53 секунды (20.01.2012 - 21:51) UnWind написал(а):
Цитата
не ну если я fancybox использую,значит подключил)))

Хм. Значит что то не туда вставляешь или неправильно делаешь. Я могу в принципе если нужно, целый скрипт сразу написать основанный на данном примере.

Спустя 17 минут, 43 секунды (20.01.2012 - 22:09) Jokeryuga написал(а):
Цитата (UnWind @ 20.01.2012 - 18:51)
Цитата
не ну если я fancybox использую,значит подключил)))

Хм. Значит что то не туда вставляешь или неправильно делаешь. Я могу в принципе если нужно, целый скрипт сразу написать основанный на данном примере.

вот смотри...у меня есть страничка(view_item.php). На этой страничке я могу заказать какой то товар. При заказе товара мне выдаётся сообщение "Заказать товар?". Мне нужно чтоб выдавалось сообщение перед этим "У Вас не указан номер телефона.Перейдите в настройки вашего профиля" ну или что то типа того... щас ищу пути как это сделать по другому)))недоходит до меня до конца...маловато совсем опыта. Может подскажешь другой вариант решения?

Спустя 5 минут, 55 секунд (20.01.2012 - 22:15) UnWind написал(а):
Если ты хочешь, что бы это было не после ввода текста в форму, а например при переходе на страчку "оформить заказ", то это можно сделать средствами php.
Т.е. проверить на другой странице не пустая ли ячейка в столбце phone у данного пользователя и если пустая - предупредить его об этом.

Спустя 13 минут, 21 секунда (20.01.2012 - 22:28) Jokeryuga написал(а):
Цитата (UnWind @ 20.01.2012 - 19:15)
Если ты хочешь, что бы это было не после ввода текста в форму, а например при переходе на страчку "оформить заказ", то это можно сделать средствами php.
Т.е. проверить на другой странице не пустая ли ячейка в столбце phone у данного пользователя и если пустая - предупредить его об этом.

извиняюсь...немного не то написал!!!ошибся в названии...короче естественно у меня в карзине кнопочка - Оформить заказ. при нажатии на неё как раз и должно всплывать это сообщение.я уже думал писать поверх товаров в карзине что поле с телефоном незаполнено,но это как то не красиво...поэтому и хочу по типу confirm сделать...

Спустя 5 минут, 37 секунд (20.01.2012 - 22:34) UnWind написал(а):
Jokeryuga
Хм. Хорошо, прежде чем начну объяснять, задам вопрос. Вы PHP и SQL хорошо знаете ?

Спустя 2 минуты, 36 секунд (20.01.2012 - 22:36) Jokeryuga написал(а):
Цитата (UnWind @ 20.01.2012 - 19:34)
Jokeryuga
Хм. Хорошо, прежде чем начну объяснять, задам вопрос. Вы PHP и SQL хорошо знаете ?

да вроде нормально...не сказать конечно,что профи,но и не новичок наверно...
я тут ещё подумал...а может вообще сделать всплывающим окном с формой где и будут поля - адрес,телефон???вроде это и полегче сделать...как Вы думаете?

Спустя 3 минуты, 22 секунды (20.01.2012 - 22:40) UnWind написал(а):
Цитата
я тут ещё подумал...а может вообще сделать всплывающим окном с формой где и будут поля - адрес,телефон???вроде это и полегче сделать...как Вы думаете?

Ну я не знаю, что для Вас легче) По мойму и то и другое просто.
Хотя вторую идею не до конца понял.
В общем если нужно - я могу первую идею объяснить сейчас.
Но делать все равно ее прийдется в частности Вам)
А вторую, ну так же могу объяснить, если что то не понятно, но опять же делать Вам)

Спустя 4 минуты, 4 секунды (20.01.2012 - 22:44) Jokeryuga написал(а):
Цитата (UnWind @ 20.01.2012 - 19:40)
Цитата
я тут ещё подумал...а может вообще сделать всплывающим окном с формой где и будут поля - адрес,телефон???вроде это и полегче сделать...как Вы думаете?

Ну я не знаю, что для Вас легче) По мойму и то и другое просто.
Хотя вторую идею не до конца понял.
В общем если нужно - я могу первую идею объяснить сейчас.
Но делать все равно ее прийдется в частности Вам)
А вторую, ну так же могу объяснить, если что то не понятно, но опять же делать Вам)

со второй я вроде и так всё понял)))а вот про первую - тайна покрытаю не мраком,но туманом точно)))объясните если не трудно

Спустя 11 минут, 56 секунд (20.01.2012 - 22:56) UnWind написал(а):
Jokeryuga
Смотрите, есть например такая вот таблица пользователей (Назовем ее "users"):
Цитата
login | phone
UnWind | +7701924****


Нам нужно узнать, есть ли в таблице телефон данного пользователя.
JS с любыми дополнениями не работает сам с базой данных, значит нам нужно взять тот язык с которым хорошо работает JS и который работает хорошо с Базой Данных.
Этот язык - PHP.

Делаем за JS грязную работу и создаем файл check_phone.php:
<?php
$connect = mysql_connect("localhost", "username", "userpassword") or die("Ошибка подключения к серверу MySQL");
mysql_select_db("dbname") or die("Ошибка вывода из БД");
$selPhone = mysql_fetch_row( mysql_query("SELECT phone FROM users WHERE login=" . mysql_escape_string( $_GET['user']) . ";") );
if( !empty($selPhone[0]) ) { echo 'Phone:' . $selPhone[0] ; } else { echo 'Not phone'; }


Далее, соответственно нужно получить эти данные JS, создаем скрипт check_phone.html к примеру:

<html>
<head>
<title>
проверка на существование телефона</title>
<script
type="text/javascript" src="jquery/jquery-1.4.2.min.js"></script>
<script
type="text/javascript">
$.get("check_phone.php", { user: 'UnWind' }, function(x) { window.alert(x); });
</script>
</head>
<body>
</body>


Где js передает переменной $_GET['user'] через GET массив значение, после значение проверяется в базе и результат выполнения check_phone.php выводится в окне window.alert.
Вот и все, ничего сложного.

Спустя 3 минуты, 23 секунды (20.01.2012 - 22:59) Jokeryuga написал(а):
Цитата (UnWind @ 20.01.2012 - 19:56)
Jokeryuga
Смотрите, есть например такая вот таблица пользователей (Назовем ее "users"):
Цитата
login | phone
UnWind | +7701924****


Нам нужно узнать, есть ли в таблице телефон данного пользователя.
JS с любыми дополнениями не работает сам с базой данных, значит нам нужно взять тот язык с которым хорошо работает JS и который работает хорошо с Базой Данных.
Этот язык - PHP.

Делаем за JS грязную работу и создаем файл check_phone.php:
<?php
$connect = mysql_connect("localhost", "username", "userpassword") or die("Ошибка подключения к серверу MySQL");
mysql_select_db("dbname") or die("Ошибка вывода из БД");
$selPhone = mysql_fetch_row( mysql_query("SELECT phone FROM users WHERE login=" . mysql_escape_string( $_GET['user']) . ";") );
if( !empty($selPhone[0]) ) { echo 'Phone:' . $selPhone[0] ; } else { echo 'Not phone'; }

это понятно)все эти проверки у меня сделаны в модели cart_m.php только конечно без вывода

Спустя 3 минуты, 20 секунд (20.01.2012 - 23:02) UnWind написал(а):
Jokeryuga
Я не допечатал, я случайно на кнопку нажал) Обнови и читай предыдущий пост.

Спустя 12 минут, 21 секунда (20.01.2012 - 23:15) Jokeryuga написал(а):
Спасибо,буду пробовать!)))

Спустя 2 минуты, 29 секунд (20.01.2012 - 23:17) UnWind написал(а):
Jokeryuga
Не за что, кушай с булочкой smile.gif
Пробуй. Надеюсь понятно объяснил.

Спустя 12 минут, 34 секунды (20.01.2012 - 23:30) Jokeryuga написал(а):
Цитата (UnWind @ 20.01.2012 - 20:17)
Jokeryuga
Не за что, кушай с булочкой smile.gif
Пробуй. Надеюсь понятно объяснил.

слушай маленький вопросик возник...а в function можно как я понимаю написать ф-ию из check_phone или я совсем безнадёжен)))

Спустя 8 минут, 24 секунды (20.01.2012 - 23:38) UnWind написал(а):
Jokeryuga
Её можно поместить в функцию.
Т.е.

function check_phone() {
$.get("select.php", {}, function(x) { alert(x); });}
}



P.S.:> Если не выучишь JS прилично, то безнадежен. И если будешь стараться сделать всё, не имея никаких знаний с принципом - "научусь по ходу выполнения", или "скопирую чужой код". Сейас это так, пока учебный. Просто некоторые бывают привыкают и начинают когда работать на клиентов, работают по такому принципу и клиентов обманывают и сами ничего не делают.

Спустя 10 минут, 40 секунд (20.01.2012 - 23:49) Jokeryuga написал(а):
да уж...с этим я согласен!!!только вот с JS я поздновато столкнулся)))пораньше бы...я хоть начитал немного.
и по поводу вопроса я совсем запутался...есть файл check_phone и в нём функция check я могу например в скрипте example.html написать так: $.get("check_phone.php", { user: 'UnWind' }, function(check()) { window.alert(x); });

Спустя 3 минуты, 50 секунд (20.01.2012 - 23:53) UnWind написал(а):
Jokeryuga
Нет, данный пример недопустим. И я даже не понимаю для чего тебе это. Т.е. что ты хочешь сделать с этим.
Быстрый ответ:

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