Список розділів › Скрипти › Callme — скрипт замовлення зворотнього дзвінка
Jons написав:КОД: ВЫДЕЛИТЬ ВСЁ
<form>
<label>Имя:*</label><br><input type="text" name="Имя" placeholder="">
<label>Email:*</label><br><input type="text" name="Email" placeholder="">
<label>Телефон:*</label><br><input type="text" name="Телефон" placeholder="">
<button type="button" class="cme-btn">Получить скидку в 100%</button>
<div class="callme-result"></div>
</form>
1. Как поле в форме сделать необязательным, а то пока все не заполню, не отправляет!
Я так понимаю это где-то на уровне скрипта, т.к. required нигде не прописано?!
2. И как сделать чтобы или подсвечивало поля красным или выводило всплывающее сообщение если поля незаполнены. Я просто не знаю как это сделать для кнопки типа type="button"? И в Инете ничего нашёл. Для <input type="submit" знаю как сделать, а вот для type="button" что-то никак!
[spoiler]<?php
// dedushka.org // nazartokar.com // qbx.me // [email protected]
//require("smtp.php");
header ("Content-Type: text/html; charset=utf-8"); //кодировка
$to = "хххххххххх"; //получатель уведомлений
// не трогать
$HTTP_HOST = parse_url ("http://".$_SERVER["HTTP_HOST"]);
$HTTP_HOST = str_replace (array ("http://","www."), "", $HTTP_HOST["host"]);
$from = "[email protected]".$HTTP_HOST; // отправитель. Если настраиваете smtp, не забудьте указать в $from вашу почту
// данные для отправки смс
$sms["id"] = "";
$sms["key"] = "ххххххххххххххххххххххххххххххх";
$sms["log"] = "";
$sms["pss"] = "";
$sms["frm"] = "хххххх"; // добавьте новую подпись в смс-шлюзе и дождитесь апрува
$sms["num"] = "7ххххххх"; // ваш номер в формате без + 7
$sms["prv"] = "sms.ru"; // на выбор: sms.ru, infosmska.ru, bytehand.com, sms-sending.ru, smsaero.ru
function uc ($s) {
return urlencode($s);
}
function gf ($s) {
$s = substr( (htmlspecialchars($_GET[$s])), 0, 500);
if (strlen($s) > 1) return $s;
}
function sendSMS ($to, $msg) {
global $sms;
$u['sms.ru'] = "sms.ru/sms/send?api_id=".uc($sms["key"])."&to=".uc($sms["num"])."&text=".uc($msg);
$u['bytehand.com'] = "bytehand.com:3800/send?id=".uc($sms["id"])."&key=".uc($sms["key"])."&to=".uc($sms["num"])."&partner=callme&from=".uc($sms["frm"])."&text=".uc($msg);
$u['sms-sending.ru'] = "lcab.sms-sending.ru/lcabApi/sendSms.php?login=".uc($sms["log"])."&password=".uc($sms["pss"])."&txt=".uc($msg)."&to=".uc($sms["num"]);
$u['infosmska.ru'] = "api.infosmska.ru/interfaces/SendMessages.ashx?login=".uc($sms['log'])."&pwd=".uc($sms["pss"])."&sender=SMS&phones=".uc($sms["num"])."&message=".uc($msg);
$u['smsaero.ru'] = "gate.smsaero.ru/send/?user=".uc($sms["log"])."&password=".md5 (uc($sms["pss"]))."&to=".uc($sms["num"])."&text=".uc($msg)."&from=".uc($sms["frm"]);
@$r = file_get_contents("http://".$u[$sms["prv"]]);
}
function translit ($str) {
$tr = array("А"=>"A","Б"=>"B","В"=>"V","Г"=>"G","Д"=>"D","Е"=>"E","Ж"=>"J","З"=>"Z","И"=>"I","Й"=>"Y","К"=>"K","Л"=>"L","М"=>"M","Н"=>"N","О"=>"O","П"=>"P","Р"=>"R","С"=>"S","Т"=>"T","У"=>"U","Ф"=>"F","Х"=>"H","Ц"=>"TS","Ч"=>"4","Ш"=>"SH","Щ"=>"SCH","Ъ"=>"","Ы"=>"YI","Ь"=>"","Э"=>"E","Ю"=>"YU","Я"=>"YA","а"=>"a","б"=>"b","в"=>"v","г"=>"g","д"=>"d","е"=>"e","ж"=>"j","з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l","м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r","с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h","ц"=>"ts","ч"=>"4","ш"=>"sh","щ"=>"sch","ъ"=>"y","ы"=>"yi","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya");
return $str;
}
// translit * ProgrammerZ.Ru
function addToMess ($c, $o) {
global $mess;
if (strlen ($o) > 2) {
$mess = $mess.'<div style="margin:3px 0;background: #ffe1e0;border: 1px solid #cecece;padding:10px"><b>'.$c.':</b><br>'.$o.'</div>';
}
}
function jsAnswer ($result, $cls, $time, $message) {
echo '{"result": "'.$result.'","cls": "'.$cls.'","time": "'.$time.'","message": "'.$message.'"}';
exit ();
}
function getOptions ($o) { // get callme options
$cs = $_GET["cs"];
$os = $_GET["os"];
$i = 0;
$opts = " ";
if ($o == 1) {
$opts = '<div style="background: #fffce8;border:1px solid #cecece;padding:10px 10px 0">';
foreach ($os as $value) {
if((strlen($value) != 0) && ($value != "0")) {
$opts .= "<b>".$cs[$i]."</b><br>".$value."<br><br>";
}
$i++;
}
$opts .= '</div>';
} else {
foreach ($os as $value) {
if ((strlen($value) != 0) && ($value != "0")) {
$opts .= $cs[$i]."(".$value.") ";
}
$i++;
}
}
return $opts;
}
$time = time (); // время отправки
$interval = $time - (gF("ctime"));
if ($interval < 1) { // интервал отправки (сек)
jsAnswer ("error", "c_error", "", "Сообщение уже было отправлено.");
} else {
//$get_data = gF('os');
$get_data = $_GET["cs"];
if (count ($get_data) > 1) { // data to send
$os = $_GET["os"];
$cs = $_GET["cs"];
$ip = $_SERVER["REMOTE_ADDR"];
//get city
$geo = $_SERVER['REMOTE_ADDR'];
//$ip = $_SERVER["REMOTE_ADDR"];
//@$geo = file_get_contents ("http://freegeoip.net/json/".$ip);
//@$geo = json_decode ($geo, true);
$title = "Poisk-sb.ru: обратный звонок";
$title = "=?UTF-8?B?".base64_encode($title)."?=";
$mess = "";
$mess .= getOptions(1);
//addToMess ("Откуда запрос", ($geo['city']." / ".$geo['country_name']." / ".$ip));
$mess = $mess."";
$headers = "Content-type: text/html; charset=utf-8 \r\n";
$headers.= "Poisk-sb.ru <".$from.">\r\n";
$sms["msg"] = translit((getOptions(0)));
$sms["msg"] = substr($sms["msg"], 0, 320);
if ($to != "[email protected]") {
@mail($to, $title, $mess, $headers);
}
if ( ($sms["id"] != "") || ($sms["key"] != "") || ($sms["log"] != "") ) {
@sendSMS($num, $sms["msg"]);
}
jsAnswer("success", "c_success", "", "Спасибо, сообщение отправлено");
} else {
jsAnswer("error", "c_error", "", "Ошибка");
}
}
?>[/spoiler]
<br />
<b>Warning</b>: Cannot modify header information - headers already sent by (output started at /home/poisk-sb/poisk-sb.ru/docs/callme/lib/send.php:1) in <b>/home/poisk-sb/poisk-sb.ru/docs/callme/lib/send.php</b> on line <b>5</b><br />
{"result": "success","cls": "c_success","time": "","message": "Спасибо, сообщение отправлено"}
// показывать кнопку справа? (1 - да, 0 - нет)
'showButton' : '0',
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript" charset="utf-8" src="/callme/js/callme.js"></script>
</head>
Повернутись в Callme — скрипт замовлення зворотнього дзвінка
Зараз переглядають цей розділ: 3 гостей