Fakeheal
Super Moderator
Код:
<?php
start_session ();
define ('USER_ID', 123); // Попълнете вашия потр. код
function smspay_checkcode ($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 @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;
}
if ($_REQUEST{'but_check'}) {
$service_id = $_REQUEST{'service_id'};
$code = $_REQUEST{'code'};
unset ($_SESSION{'loggedin'});
switch (smspay_check_code (USER_ID, $service_id, $code)) {
case 'CODE_OK':
// във вашият код проверявате сесийната променлива
// и ако тя е валидна, включвате платеното съдържание
$_SESSION{'loggedin'} = true;
break;
case 'CODE_EXPIRED':
echo 'Вашият код за достъп е изтекъл!';
break;
case 'CODE_NOT_FOUND':
echo 'Въведеният код е грешен!';
break;
}
}
?>
Код:
<?php if ($_SESSION{'loggedin'}) include ('members.html');
else include ('signup.html'); ?>
<form action="" method="POST">
Вашият код:
<input type="text" name="code" value="Провери">
<input type="submit" name="but_check" value="Провери">
<br>
За <input type="radio" name="service_id" value="1234"> 2 лв.
<input type="radio" name="service_id" value="1235"> 4 лв.
<input type="hidden" name="service_id" value="1234">
</form>
Използвам този код , който би трябвало да проверява смс генерираните кодове. Но като въведа правилен код не става нищо, както и ако въведа изтекъл или грешен код.
Самия код е копиран от сайта на smspay.bg , но при мен нищо не става. Можете ли да ми кажете дали грешката е в мен или в другите.