SMSPay помощ за проверка на код.

IPFaNbg

Registered
Може ли някой да ми даде примерен код за проверка на код?

Примерно както ето този скрипт но е за mobio:

function mobio_checkcode($servID, $code, $debug=0) {

$res_lines = file("http://www.mobio.bg/code/checkcode.php?servID=$servID&code=$code");

$ret = 0;
if($res_lines) {

if(strstr("PAYBG=OK", $res_lines[0])) {
$ret = 1;
}else{
if($debug)
echo $line."\n";
}
}else{
if($debug)
echo "Unable to connect to mobio.bg server.\n";
$ret = 0;
}

return $ret;
}

преди бях намерил някъде но съм го затрил и сега не го намирам...
 
Здравей,
$code е въведеният код от потребителят
USER_ID, SERVICE_ID - дават се от доставчика на услугата
stderr() - потребителска функци за обработка на грешки. Може да се игнорира.
Код:
function smspay_check_code($user_id, $service_id, $code) {
	$url = sprintf("http://rcv.smspay.bg/users/check_code.php?" .
   "user_id=%d&service_id=%d&code=%s", $user_id, $service_id, $code);
	return trim(file_get_contents($url));
	/*
	 // Ако не е разрешено file_get_contents, използвайте този код:
	 $host = 'rcv.smspay.bg';
	 $path = sprintf ("/users/check_code.php?service_id=%d&code=%s" .
	 "&user_id=%d", $service_id, $code, $user_id);
	 $request = sprintf ("GET %s HTTP/1.0\r\nHost: %s\r\n\r\n",
	 $path, $host);
	 $socket = fsockopen ($host, 80);
	 fwrite ($socket, $request);
	 $result = fread ($socket, 512);
	 return $result;
	*/
}
//$code е въведеният код от потребителят
//USER_ID, SERVICE_ID - дават се от доставчика на услугата
$code = htmlspecialchars(trim($_REQUEST['code']));
switch (smspay_check_code(USER_ID, SERVICE_ID, $code)) {
	case 'CODE_OK':
		//успешно плащане			
		break;
	case 'CODE_EXPIRED':
	   stderr("Възникна следната грешка","Вашият код е изтекъл.");           
		break;
	case 'CODE_NOT_FOUND':
	   stderr("Възникна следната грешка","Неправилен код или кодът вече е използван.<br/>Моля проверете кода и опитайте отново.");
		break;
	case 'BAN_IP_TEMP':
		stderr("Възникна следната грешка", "IP адресът, от който запитвате е временно забранен");         	
		break;
	case 'INVALID_IP':
		stderr("Възникна следната грешка", "IP адресът ви не отговаря на разрешените");        	
		break;
	case 'INVALID_INPUT':
		stderr("Възникна следната грешка", "Липсващи или несъответстващи параметри");        	
		break;
	case 'SERVICE_DISABLED':
		stderr("Възникна следната грешка", "Услугата е прекратена");        	
		break;
	default:
		//непозната грешка
		break;
}
Поздрави,
Константин.[/code]
 
if(isset($_POST['submit']))
{
$code = trim($_POST['code']);

if(mobio_checkcode($servID, $code, 0) == 1) {
тук е моят код ако е правилно всичко.

}
}else{
print "тук ако е грешен кода излиза текст";
}
}

Как ще се модифицира за да стане с по горния код(за който благодаря също)?
 
Така по-ясно ли е?
не е тествано но би трябвало да работи.
Код:
function smspay_check_code($user_id, $service_id, $code) {
   $url = sprintf("http://rcv.smspay.bg/users/check_code.php?" .
   "user_id=%d&service_id=%d&code=%s", $user_id, $service_id, $code);
   return 'CODE_OK' == trim(file_get_contents($url));
   
}

if(isset($_POST['submit']))
{
$code = trim($_POST['code']);

if(smspay_check_code($userId, $servID, $code)) {
тук е моят код ако е правилно всичко.

}
}else{
print "тук ако е грешен кода излиза текст";
}
}
Поздрави.
 

Back
Горе