Zdravím,
Jelikož hodně lidí se mě ptá jak jsem na http://www.mobilniplatby.cz (nebrat jako reklamu) udělal, že když dojde sms zapíše se mi do DB.
tady je script vč. vysvětlivek formou komentářů.
<?php
//připojení k DB
$server = "IP"; // jméno serveru
$login = "JMENO"; // přihlašovací jméno
$heslo = "IP"; // heslo
$databaze = "DB"; // název databáze kde máte sql soubor (je níže)
$tabulka = 'ucty';
MySQL_Connect($server, $login, $heslo) or die("Nepodařilo se připojit k databázi"); // připojení k databázi
MySQL_Select_DB($databaze) or die("Nepodařilo se otevřít databázi"); // výběr databáze
$id = $_GET['text']; //Definování textu ze sms třetí slovo
//váš tvar sms je většinou PM NECO
a to co je dané za NECO třeba číslo 10000 je ta $id = $_GET['text']
$smss = mysql_query("SELECT * FROM $tabulka WHERE id='{$id}'"); //Vyber z tabulky podle ID zadaného v sms
while($sms = mysql_fetch_array($smss)){
//Switch funkce když nekdo posle sms v urcite hodnote
switch ($_GET['price']) {
case 10.00: // sms ceny 10 CZK ( 903 33 10 )
$cena = '0.10'; // pocet kreditu kolik dostanete
$kcena = $sms['kredit'] + $cena; //pricteni kreditu
break; //Ukončení case 10.00: (tak je to u všch)
case 20.00:
$cena = '0.20';
$kcena = $sms['kredit'] + $cena;
break;
case 30.00:
$cena = '0.30';
$kcena = $sms['kredit'] + $cena;
break;
case 50.00:
$cena = '0.50';
$kcena = $sms['kredit'] + $cena;
break;
case 79.00:
$cena = '0.80';
$kcena = $sms['kredit'] + $cena;
break;
case 99.00:
$cena = '1.2';
$kcena = $sms['kredit'] + $cena;
break;
}
}
if($_GET['hash'] == 'emulator') die('EMULATOR NENI POVOLEN'); //Zablokování spamování sms přes testovací emulátor
else{
//pokud je sms poslaná z mobilu a ne z emulátoru (co ma mobilniplatby.cz) na webu
//tak se ptovede tohle
$query = mysql_query("UPDATE $tabulka SET kredit = '{$kcena}' WHERE id='{$id}'")or die(mysql_error().' na radku update'); //Zapsání kreditu uživateli
echo "Kredit na ID {$id} zvysen na {$kcena}"; //Odpověd poocí SMS
}
?>
SQL
CREATE TABLE `ucty` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`jmeno` varchar(255) DEFAULT NULL,
`kredit` varchar(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
INSERT INTO `ucty` VALUES ('1', 'Test', '10.2');