ugrás a tartalomhoz

SMS feldolgozó HIBA

bladee001 · 2013. Aug. 22. (Cs), 15.11
Sziasztok, egy world of warcraft szerverhez elkezdtem készíteni egy sms feldolgozó scriptett, de sajnos hibába ütköztem, nem hajtja végre amit kell neki és egy hiba kodott sem ír!
Valakinek valami ötlet? :/
<?
if($_SERVER["REMOTE_ADDR"] == '***' or $_SERVER["REMOTE_ADDR"] == '***'){
 
//Adatbázis kapcsolat
$SQL_HOST = '******'; //host
$SQL_USER = '******'; //username
$SQL_PASS = '******'; //jelszo
$sqlServ = mysql_connect($SQL_HOST, $SQL_USER, $SQL_PASS);
                 
        $id = $_GET['id'];
        $prefix = $_GET['prefix'];
        $uzenet = $_GET['uzenet'];
        $telefonszam = $_GET['telefonszam'];
        $kategoria = $_GET['kategoria'];
        $added =  date("Y-m-d H:i:s");
        $sms_kod = substr(str_shuffle(str_repeat('ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijklmnpqrstuvwxyz123456789',12)),0,12);
 
        //Beállítjuk mennyi kredit-et kap a rendelő
if ($kategoria == 160) {$coins = 305;} //kredit 160 forintért
if ($kategoria == 252) {$coins = 610;} //kredit 252 forintért
if ($kategoria == 400) {$coins = 966;} //kredit 400 forintért
if ($kategoria == 800) {$coins = 2032;} //kredit 800 forintért
if ($kategoria == 1600) {$coins = 4068;} //kredit 1600 forintért
if ($kategoria == 4000) {$coins = 8134;} //kredit 4000 forintért
         
//Generálunk egy kódot!
        $query_dolgozz = mysql_query("SELECT * FROM auth.sms WHERE sms_kod='{$sms_kod}'");       
        if(mysql_num_rows($query_dolgozz)> 0) {
                $sms_kod = substr(str_shuffle(str_repeat('ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijklmnpqrstuvwxyz123456789',12)),0,12);
        }
         
//beállítjuk a hibaszámlálót
$limit = 0;
 
//megpróbáljuk beírni az adatbázisba az új kártyaszámot és a jelszót
while(!$sqlvQry and $limit <= 15){ //15x próbálja meg, ha nem sikerül, lentebb találod mi a teendő
                        $sqlvCmd = "INSERT INTO auth.sms (id,sms_kod,coins,limit,telefonszam,uzenet,ar) VALUES ($id,$sms_kod,$coins,$limit,$telefonszam,'$uzenet',$kategoria)";
                        $sqlvQry = mysql_query($sqlvCmd,$sqlServ);
                        //ha nem sikerül generálunk új kártyát
                        if(!$sqlvQry) {
                    $sms_kod = substr(str_shuffle(str_repeat('ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijklmnpqrstuvwxyz123456789',12)),0,12);
                        }
                        $limit++;
                }       
 
                //ha sikerült létrehozni a kártyát akkor ez lesz az üzenet
                if($sqlvQry) {
                        $text = "$coins Kredit-> Kód: $sms_kod  Köszönjük a rendelést!";
                //ha 15-ödszörre sem sikerül létrehozni a kártyát akkor ezt a hibaüzenetet kapja a rendelő
                } else {
                        $text = "Hiba történt! Kérlek jelentsd a hibát egy adminnak! admin##kukac##escwow.nolagg.eu " . mysql_error($sqlServ) . "";
                }
 
//elküldjük a válasz sms-t
echo "text=",rawurlencode($text);
         
} else {
 
//ha nem az sms szerver akarja ezt használni
  if(isset($_SESSION['cw_user']) && $_SESSION['cw_user']>=0)
  {
   if(isset($_POST['submit']) && $_POST['submit']=="Kuldes!") {
        $sqlCmd = "SELECT sms_kod,coins,status FROM auth.sms WHERE sms_kod = '".$_POST['sms_kod']."'";
        $sqlQry = mysql_query($sqlCmd,$sqlServ);
                $num_rows = mysql_num_rows($sqlQry);
                while($getCK=mysql_fetch_object($sqlQry)) {
                        $newcoins = $_SESSION['coins']+$getCK->value;
                        if ($getCK->status=='folyamatban') {
                                $sqlCmdd = "UPDATE auth.account_data SET dp='".$newcoins."' WHERE id = '".account::getAccountID($_SESSION['cw_user'])."' LIMIT 1";
                                //echo"$sqlCmdd";
                                $sqlQryy = mysql_query($sqlCmdd,$sqlServ);
                                if($sqlQryy) {
                                        $sqlCmddd = "UPDATE auth.sms SET status='felhasznalva', account='".$_SESSION['cw_user']."' WHERE sms_kod = '".$_POST['sms_kod']."' LIMIT 1";
                                        $sqlQryyy = mysql_query($sqlCmddd,$sqlServ) or die("A MySQL error has occurred.<br />Your Query: " . $sqlCmd . "<br /> Error: (" . mysql_errno() . ") " . mysql_error());
                                echo"Sikeresen feltöltöttél $getCK->value Kreditet! <br/> <a href=index.php> Vissza<a/> ";
                                }
 
                        } else {
                                echo'Ezt a kódot már felhasználtad.<br/> <a href=index.php> Próbáld újra!<a/>';
                        }
                }
                if ($num_rows == 0) {
                echo'Hibás Kód vagy Jelszó.<br/> <a href=index.php> Próbáld újra!<a/>';
                }
    } else {
  ?>       
 
Add meg a kodot:<br/>
    <form action="/?p=feldolgozas" method="POST">
      <table>
        <tr>
          <th class="topLine">sms kod:</th>
          <td class="tdunkel"><input type="text" name="sms_kod" maxlength="16" size="16"/> </td>
        </tr>
 
 
        <tr>
          <th class="topLine" style="text-align:center;" colspan="2"><input type="submit" name="submit" value="Kuldes!"/> &bull; <input type="reset" value="torles"/></th>
        </tr>
      </table>
    </form>
   
  <?PHP
 
  }
  } else {
    echo'Jelentkezz be vagy Regisztrálj.';
  }
}
 
?>
Amit készitettem hozzá SQL:
CREATE TABLE IF NOT EXISTS `sms` (
  `id` int(50) NOT NULL AUTO_INCREMENT,
  `sms_kod` varchar(12) NOT NULL,
  `coins` int(99) NOT NULL,
  `ar` int(5) NOT NULL,
  `status` varchar(99) NOT NULL DEFAULT 'folyamatban',
  `account` text,
  `errors` int(5) NOT NULL,
  `telefonszam` int(12) NOT NULL,
  `uzenet` text CHARACTER SET utf8 COLLATE utf8_hungarian_ci,
  PRIMARY KEY (`id`),
  UNIQUE KEY `asd1` (`sms_kod`) USING BTREE
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT AUTO_INCREMENT=2 ;
 
1

Mi a hiba?

Poetro · 2013. Aug. 22. (Cs), 15.57
Mit kellene végrehajtania, amit nem hajt végre?
2

Az az egész lényege hogy küld

bladee001 · 2013. Aug. 22. (Cs), 18.37
Az az egész lényege hogy küld egy sms-t generál egy kodot amit visszaküld sms-ben és eltárolja az sqlben, utána azt a kodót beütőd az inputba és elvileg odakéne adni ami jár + 1-2 dolgott modosit sql-ben, csak sajnos nemtudom hogy hol lehet a gond.
3

Honnan tudod, hogy nem az sms

hunkris · 2013. Aug. 22. (Cs), 19.36
Honnan tudod, hogy nem az sms gateway a rossz?
4

Írtam sql-be mint ha az sms

bladee001 · 2013. Aug. 22. (Cs), 20.19
Írtam sql-be mint ha az sms szerver már elküldte volna az adatott és probáltam a kódot beváltani, és semmi
5

Csak néhány tipp ha nem

janez · 2013. Aug. 25. (V), 14.02
Csak néhány tipp ha nem akarsz ingyen krediteket osztogatni akkor ismerkedj meg a mysql_real_escape_string-el.

Hogyan próbáltad meg kideríteni, hogy hol akad el a feldolgozás?
A generált kód bekerül az adatbázisba?
Az SMS kimegy? A gateway él?
A tárolásnál van a gond vagy amikor a felhasználó érvényesíteni akarja azt?

Ha ezekre válaszolsz magadnak szerintem megleled a problémát.
Számomra túl sok az ismeretlen tényező, hogy kitaláljam ezeket.