Ale gdy daje test i wpisuje kod to wyświetla:
Kod
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/eportal/domains/efusion.vot.pl/public_html/infusions/sms_exp/sms_exp.php on line 23
Co może być z tym nie tak?
Cały kod dotpay:
Kod
if(isset($_POST['check']))
{
$id = $_GET['id'];
$query = mysql_query("select * from sms_exp whereid='$id'");
$r = mysql_fetch_array($query);
$usluga = $r['usluga'];
$link = $r['link'];
$id = 30684; # numer ID zarejestrowanego klienta
$code = "FUSION2"; # identyfikator usług SMS
$type = "sms"; # typ konta: C1 - 8 znakowy kod bezobsługowy
# typ konta: sms dla sprawdzania SMSow
$page = $link; # nazwa pliku jaki ma sie zaladowac po podaniu poprawnego kodu
# gdy sprawdzane będą zarówno konta smsowe jak i konta przy płatnościach kartą
# to należy wtedy użyć zapisu:
# $type = "c1,sms";
#
# przy sprawdzaniu kilku kont o różnych identyfikatorach należy użyć zapisu:
# $code = "abcd1,abcd2,kody2,kody6";
$del=0; # jeżeli kod ma być skasowany od razu po sprawdzeniu to ustaw wartość na 1
################################################################################
$check = $_POST['check']; # podany kod na stronie gdzie wejście jest płatne i wymagany jest zakupiony kod
if($check == NULL)
exit("<center><FONT COLOR=WHITE>Prosze wpisac kod</FONT></CENTER>");
$handle = fopen("http://dotpay.pl/check_code.php?id=".$id."&code=".$code."&check=".$check."&type=".$type."&del=".$del, 'r');
$status = fgets($handle, 8);
$czas_zycia = fgets($handle, 24);
fclose($handle);
$czas_zycia = rtrim($czas_zycia);
if ($status == 0) {print "<center><FONT COLOR=WHITE>Kod niepoprawny.</FONT></CENTER>"; exit;} # gdy kod niepoprawny
else
{ # gdy kod poprawny:
if (!isset($_COOKIE['ActiveCode']))
{
setcookie('ActiveCode',1, time()+$czas_zycia);
}
else
{
setcookie('ActiveCode',0, time()+2, "/");
setcookie('ActiveCode',1, time()+$czas_zycia, "/");
}
header("Location: ".$page); # włączenie strony głównej
}
}
else
{
if(isset($_GET['id']))
{
$id = $_GET['id'];
$query = mysql_query("select * from sms_exp where id='$id'");
$r = mysql_fetch_array($query);
$sql = 'UPDATE sms_exp SET pokaz=pokaz+1 WHERE id='.$r['id'].'';
mysql_query($sql);
opentable($r['nazwa']);
echo('
<table width="450" align="center" class="td1" cellpadding="2">
<table align="center" cellspacing="1" cellpadding="1">
<tr>
<td align=left width="33%" style="padding: 4px" align="left">
<div>
<a href="'.$r['obrazek'].'" class="highslide" onclick="return hs.expand(this)">
<img src="'.$r['miniobrazek'].'" height="120" width="160" BORDER="0" alt="eXPieraze"
title="Powiększ"/></a>
<div class="highslide-caption">
</div>
...
{
$id = $_GET['id'];
$query = mysql_query("select * from sms_exp whereid='$id'");
$r = mysql_fetch_array($query);
$usluga = $r['usluga'];
$link = $r['link'];
$id = 30684; # numer ID zarejestrowanego klienta
$code = "FUSION2"; # identyfikator usług SMS
$type = "sms"; # typ konta: C1 - 8 znakowy kod bezobsługowy
# typ konta: sms dla sprawdzania SMSow
$page = $link; # nazwa pliku jaki ma sie zaladowac po podaniu poprawnego kodu
# gdy sprawdzane będą zarówno konta smsowe jak i konta przy płatnościach kartą
# to należy wtedy użyć zapisu:
# $type = "c1,sms";
#
# przy sprawdzaniu kilku kont o różnych identyfikatorach należy użyć zapisu:
# $code = "abcd1,abcd2,kody2,kody6";
$del=0; # jeżeli kod ma być skasowany od razu po sprawdzeniu to ustaw wartość na 1
################################################################################
$check = $_POST['check']; # podany kod na stronie gdzie wejście jest płatne i wymagany jest zakupiony kod
if($check == NULL)
exit("<center><FONT COLOR=WHITE>Prosze wpisac kod</FONT></CENTER>");
$handle = fopen("http://dotpay.pl/check_code.php?id=".$id."&code=".$code."&check=".$check."&type=".$type."&del=".$del, 'r');
$status = fgets($handle, 8);
$czas_zycia = fgets($handle, 24);
fclose($handle);
$czas_zycia = rtrim($czas_zycia);
if ($status == 0) {print "<center><FONT COLOR=WHITE>Kod niepoprawny.</FONT></CENTER>"; exit;} # gdy kod niepoprawny
else
{ # gdy kod poprawny:
if (!isset($_COOKIE['ActiveCode']))
{
setcookie('ActiveCode',1, time()+$czas_zycia);
}
else
{
setcookie('ActiveCode',0, time()+2, "/");
setcookie('ActiveCode',1, time()+$czas_zycia, "/");
}
header("Location: ".$page); # włączenie strony głównej
}
}
else
{
if(isset($_GET['id']))
{
$id = $_GET['id'];
$query = mysql_query("select * from sms_exp where id='$id'");
$r = mysql_fetch_array($query);
$sql = 'UPDATE sms_exp SET pokaz=pokaz+1 WHERE id='.$r['id'].'';
mysql_query($sql);
opentable($r['nazwa']);
echo('
<table width="450" align="center" class="td1" cellpadding="2">
<table align="center" cellspacing="1" cellpadding="1">
<tr>
<td align=left width="33%" style="padding: 4px" align="left">
<div>
<a href="'.$r['obrazek'].'" class="highslide" onclick="return hs.expand(this)">
<img src="'.$r['miniobrazek'].'" height="120" width="160" BORDER="0" alt="eXPieraze"
title="Powiększ"/></a>
<div class="highslide-caption">
</div>
...
Słyszałem, że w niektórych usługach muszę wrzucić kody z dotpaya do bazy, tylko jak? W SQL jetem zielony

Mam utworzoną bazę:
CREATE TABLE `sms_exp` ( `id` INT NOT NULL AUTO_INCREMENT , `nazwa` TINYTEXT NOT NULL , `typ` TEXT NOT NULL , `zawartosc` TEXT NOT NULL , `cena` TINYTEXT NOT NULL , `dodano` VARCHAR( 50 ) NOT NULL , `miniobrazek` TINYTEXT NOT NULL , `obrazek` TINYTEXT NOT NULL , `link` TINYTEXT NOT NULL , `kategoria` TINYTEXT NOT NULL , `opis` TEXT NOT NULL , `pokaz` INT NOT NULL , `smsnr` TINYTEXT NOT NULL , `smskod` TINYTEXT NOT NULL , `usluga` TINYTEXT NOT NULL , PRIMARY KEY ( `id` ) ); CREATE TABLE `sms_exp_kat` ( `id` INT NOT NULL AUTO_INCREMENT , `nazwa` TINYTEXT NOT NULL , `opis` TINYTEXT NOT NULL , `obrazek` TINYTEXT NOT NULL , PRIMARY KEY ( `id` ) );