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? :/
  1. <?  
  2. if($_SERVER["REMOTE_ADDR"] == '***' or $_SERVER["REMOTE_ADDR"] == '***'){  
  3.    
  4. //Adatbázis kapcsolat  
  5. $SQL_HOST = '******'//host  
  6. $SQL_USER = '******'//username  
  7. $SQL_PASS = '******'//jelszo  
  8. $sqlServ = mysql_connect($SQL_HOST$SQL_USER$SQL_PASS);  
  9.                    
  10.         $id = $_GET['id'];  
  11.         $prefix = $_GET['prefix'];  
  12.         $uzenet = $_GET['uzenet'];  
  13.         $telefonszam = $_GET['telefonszam'];  
  14.         $kategoria = $_GET['kategoria'];  
  15.         $added =  date("Y-m-d H:i:s");  
  16.         $sms_kod = substr(str_shuffle(str_repeat('ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijklmnpqrstuvwxyz123456789',12)),0,12);  
  17.    
  18.         //Beállítjuk mennyi kredit-et kap a rendelő  
  19. if ($kategoria == 160) {$coins = 305;} //kredit 160 forintért  
  20. if ($kategoria == 252) {$coins = 610;} //kredit 252 forintért  
  21. if ($kategoria == 400) {$coins = 966;} //kredit 400 forintért  
  22. if ($kategoria == 800) {$coins = 2032;} //kredit 800 forintért  
  23. if ($kategoria == 1600) {$coins = 4068;} //kredit 1600 forintért  
  24. if ($kategoria == 4000) {$coins = 8134;} //kredit 4000 forintért  
  25.            
  26. //Generálunk egy kódot!  
  27.         $query_dolgozz = mysql_query("SELECT * FROM auth.sms WHERE sms_kod='{$sms_kod}'");         
  28.         if(mysql_num_rows($query_dolgozz)> 0) {  
  29.                 $sms_kod = substr(str_shuffle(str_repeat('ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijklmnpqrstuvwxyz123456789',12)),0,12);  
  30.         }  
  31.            
  32. //beállítjuk a hibaszámlálót  
  33. $limit = 0;  
  34.    
  35. //megpróbáljuk beírni az adatbázisba az új kártyaszámot és a jelszót  
  36. while(!$sqlvQry and $limit <= 15){ //15x próbálja meg, ha nem sikerül, lentebb találod mi a teendő  
  37.                         $sqlvCmd = "INSERT INTO auth.sms (id,sms_kod,coins,limit,telefonszam,uzenet,ar) VALUES ($id,$sms_kod,$coins,$limit,$telefonszam,'$uzenet',$kategoria)";  
  38.                         $sqlvQry = mysql_query($sqlvCmd,$sqlServ);  
  39.                         //ha nem sikerül generálunk új kártyát  
  40.                         if(!$sqlvQry) {  
  41.                     $sms_kod = substr(str_shuffle(str_repeat('ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijklmnpqrstuvwxyz123456789',12)),0,12);  
  42.                         }  
  43.                         $limit++;  
  44.                 }         
  45.    
  46.                 //ha sikerült létrehozni a kártyát akkor ez lesz az üzenet  
  47.                 if($sqlvQry) {  
  48.                         $text = "$coins Kredit-> Kód: $sms_kod  Köszönjük a rendelést!";  
  49.                 //ha 15-ödszörre sem sikerül létrehozni a kártyát akkor ezt a hibaüzenetet kapja a rendelő  
  50.                 } else {  
  51.                         $text = "Hiba történt! Kérlek jelentsd a hibát egy adminnak! admin##kukac##escwow.nolagg.eu " . mysql_error($sqlServ) . "";  
  52.                 }  
  53.    
  54. //elküldjük a válasz sms-t  
  55. echo "text=",rawurlencode($text);  
  56.            
  57. else {  
  58.    
  59. //ha nem az sms szerver akarja ezt használni  
  60.   if(isset($_SESSION['cw_user']) && $_SESSION['cw_user']>=0)  
  61.   {  
  62.    if(isset($_POST['submit']) && $_POST['submit']=="Kuldes!") {  
  63.         $sqlCmd = "SELECT sms_kod,coins,status FROM auth.sms WHERE sms_kod = '".$_POST['sms_kod']."'";  
  64.         $sqlQry = mysql_query($sqlCmd,$sqlServ);  
  65.                 $num_rows = mysql_num_rows($sqlQry);  
  66.                 while($getCK=mysql_fetch_object($sqlQry)) {  
  67.                         $newcoins = $_SESSION['coins']+$getCK->value;  
  68.                         if ($getCK->status=='folyamatban') {  
  69.                                 $sqlCmdd = "UPDATE auth.account_data SET dp='".$newcoins."' WHERE id = '".account::getAccountID($_SESSION['cw_user'])."' LIMIT 1";  
  70.                                 //echo"$sqlCmdd";  
  71.                                 $sqlQryy = mysql_query($sqlCmdd,$sqlServ);  
  72.                                 if($sqlQryy) {  
  73.                                         $sqlCmddd = "UPDATE auth.sms SET status='felhasznalva', account='".$_SESSION['cw_user']."' WHERE sms_kod = '".$_POST['sms_kod']."' LIMIT 1";  
  74.                                         $sqlQryyy = mysql_query($sqlCmddd,$sqlServor die("A MySQL error has occurred.<br />Your Query: " . $sqlCmd . "<br /> Error: (" . mysql_errno() . ") " . mysql_error());  
  75.                                 echo"Sikeresen feltöltöttél $getCK->value Kreditet! <br/> <a href=index.php> Vissza<a/> ";  
  76.                                 }  
  77.    
  78.                         } else {  
  79.                                 echo'Ezt a kódot már felhasználtad.<br/> <a href=index.php> Próbáld újra!<a/>';  
  80.                         }  
  81.                 }  
  82.                 if ($num_rows == 0) {  
  83.                 echo'Hibás Kód vagy Jelszó.<br/> <a href=index.php> Próbáld újra!<a/>';  
  84.                 }  
  85.     } else {  
  86.   ?>         
  87.    
  88. Add meg a kodot:<br/>  
  89.     <form action="/?p=feldolgozas" method="POST">  
  90.       <table>  
  91.         <tr>  
  92.           <th class="topLine">sms kod:</th>  
  93.           <td class="tdunkel"><input type="text" name="sms_kod" maxlength="16" size="16"/> </td>  
  94.         </tr>  
  95.    
  96.    
  97.         <tr>  
  98.           <th class="topLine" style="text-align:center;" colspan="2"><input type="submit" name="submit" value="Kuldes!"/> &bull; <input type="reset" value="torles"/></th>  
  99.         </tr>  
  100.       </table>  
  101.     </form>  
  102.      
  103.   <?PHP  
  104.    
  105.   }  
  106.   } else {  
  107.     echo'Jelentkezz be vagy Regisztrálj.';  
  108.   }  
  109. }  
  110.    
  111. ?>  
Amit készitettem hozzá SQL:
  1. CREATE TABLE IF NOT EXISTS `sms` (  
  2.   `id` int(50) NOT NULL AUTO_INCREMENT,  
  3.   `sms_kod` varchar(12) NOT NULL,  
  4.   `coins` int(99) NOT NULL,  
  5.   `ar` int(5) NOT NULL,  
  6.   `status` varchar(99) NOT NULL DEFAULT 'folyamatban',  
  7.   `account` text,  
  8.   `errors` int(5) NOT NULL,  
  9.   `telefonszam` int(12) NOT NULL,  
  10.   `uzenet` text CHARACTER SET utf8 COLLATE utf8_hungarian_ci,  
  11.   PRIMARY KEY (`id`),  
  12.   UNIQUE KEY `asd1` (`sms_kod`) USING BTREE  
  13. ) 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.