ОсновноеRadiotalkПользовательское
Общие вопросы по интернет радио вещанию
6   •   Посмотреть все темы

Вопрос по samphpweb

 

57
LAZAR @LAZ2735
Когда люди заходят на страницу заказа песен и нажимаю на "Заказать" то их автоматом перекидывает на страницу где можно ввести имя и пожелание к примеру **********, песня сразу же ставится в очередь. Поля я сделал обязательными, но народ просёк, что можно просто нажать на кнопку и песня прозвучит.
Как сделать чтобы песня ставилась только после заполнения имени и сообщения ?

6245
Тарас @tarasian666
банально if then else

57
LAZAR @LAZ2735
Не подскажешь как это сделать в этом скрипте?
1-ый скрипт который переводит на страницу заполнения и отправляет в очередь

<?
require_once("config.php");
require_once("common/xml.php");

if(empty($requestid))
require_once("req/req.php");
else
require_once("req/req.dedication.php");
?>

2-ой который обрабатывает полученные данные из dedication.form.html

<?
$data = Array();
$data["msg"] = "$rmessage";
$data["name"] = "$rname";

$db = new DBTable();
$db->connect($samlogin);
$db->update("requestlist",$data,"(ID = $requestid)");

$db->open("SELECT * FROM songlist WHERE (ID = $songid)");
$song = $db->row();
$song["requestid"] = $requestid;
PrepareSong($song);
$dedicated = true;

require("req.success.html");
?>

Отредактировано LAZ2735 - 22.08.2011
6245
Тарас @tarasian666
лучше сделать через javascript чтоб просто не отправляло пока не заполнены все поля

а в пхп
на подобие такого
$data = Array();
$data["msg"] = "$rmessage";
$data["name"] = "$rname";

if(!isset($data["name"]) or $data["name"] ==''){
require("страница заказа");
}else{
$db = new DBTable();
$db->connect($samlogin);
$db->update("requestlist",$data,"(ID = $requestid)");

$db->open("SELECT * FROM songlist WHERE (ID = $songid)");
$song = $db->row();
$song["requestid"] = $requestid;
PrepareSong($song);
$dedicated = true;

require("req.success.html");
}

57
LAZAR @LAZ2735
Так смысл в том что когда переходит по ссылке заказа получается что он выводит на страницу заполнения и одновременно require_once("req/req.dedication.php"); который и ставит трек в очередь.
Вот мне и надо чтобы сначало он выдавал страницу заказа, а после нажатия на ней заказать уже ставил в очередь

6245
Тарас @tarasian666
я не помню всей иерархии заказа в phpmyadmin
но суть я выложил, а дальше колдуйте )

возьмите ту страницу, где оформляеться заказ, и смотрите куда обращаеться форма, и уже там ставьте проверку.
но я рекомендую поставить проверку на javascript еще в семой форме заказа (onsubmit ="return check_function(); " где check_function() скрипт проверяющий поля на заполненость)

57
LAZAR @LAZ2735
Суть то я понял, но поля я сделал чтобы обязательными были.

Смысл в том что когда нажимаю заказать происходит два действия одновременно это:
1.Выводится форма
2.Ставится в очередь

6245
Тарас @tarasian666
тогда еще раньше )
поставьте на сайте регистрацию, при нажатии будет сразу браться инфа из кукисов, или запрашивать имя при переходе на страницу заказов и тд и тп

57
LAZAR @LAZ2735
спс, суть понял