login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Coupon code script

Offline rpgnox - 25/02/2010 17:45
Avatar van rpgnoxPHP interesse Ik ben bezig met een coupon code script maar ondervindt hiermee een probleem. Code en al het overige werkt. Ook bij het invoeren van de code krijg ik de melding dat de prijzen zijn ontvangen, maar in de tabel users wordt niets bijgeschreven.

Iemand enig idee?

  1. <div id="contentbar_main">
  2. <div id="notice_container"></div>
  3.  
  4. <div id="cbs"><div class="cb">
  5.  
  6. <h1>Coupon code</h1><p></p>
  7.  
  8. <?php
  9. // het aantal kan anders als ze meerdere coupons mogen gebruiken, maar om het eerlijker te maken iedereen 1.
  10. if($data->codepoging > '0'){
  11. echo "Je hebt al een coupon gebruikt.";
  12. exit();
  13. }
  14. // voeg in users codepoging toe met standaard waarde op 0.
  15. ?>
  16.  
  17. <?php
  18. if(!empty($_POST['code'])){
  19.  
  20. $code = mysql_real_escape_string($_POST['code']);
  21. // de invoer van de code.
  22. $sql = mysql_query("select * from codes where code='$code'");
  23. // ophalen gegevens
  24. $sql2 = mysql_fetch_object($sql);
  25. // object van maken.
  26. $aantal = mysql_num_rows($sql);
  27. // resultaten tellen.
  28.  
  29. if($aantal == '1'){
  30.  
  31.  
  32. $select = mysql_query("select * from codes where code='$code'");
  33. $page = mysql_fetch_object($select);
  34.  
  35. $bank = $page->bank;
  36. $kogels = $page->kogels;
  37.  
  38. mysql_query("UPDATE `users` SET `codepoging`='1', `bank`=`bank`+'$bank', `kogels`=`kogels`+'$kogels' WHERE `login`='$data->login'");
  39.  
  40. // gebruiker de spullen geven die bij die code in de database stonden als beloning.
  41.  
  42. //mysql_query("delete from codes where code='$code'");
  43. // code uit het spel halen zodat die maar 1 keer gebruikt kan worden.
  44.  
  45. echo "Gefeliciteerd!<br>
  46. Je hebt $kogels gekregen!<br>
  47. Ook is er $bank bij je bankrekening opgeteld.";
  48. } else {
  49. echo "Geen juiste Coupon code, Probeer het later nog eens.<br>$aantal<br>";
  50. }
  51. }
  52. ?>
  53.  
  54. <form method=post>
  55. Voer je gekregen Coupon code in!<br>
  56. Coupon Code: <input name=code class="mod_submit"><br>
  57. <input type=submit value='Geef door' class="mod_submit">
  58. </form>
  59.  
  60. </table>


Dit is de database zoals deze nu is

  1. --
  2. -- Tabel structuur voor tabel `codes`
  3. --
  4.  
  5. CREATE TABLE IF NOT EXISTS `codes` (
  6. `id` int(11) NOT NULL auto_increment,
  7. `code` text NOT NULL,
  8. `bank` int(255) NOT NULL default '0',
  9. `kogels` int(255) NOT NULL default '0',
  10. `credits` int(255) NOT NULL default '0',
  11. PRIMARY KEY (`id`)
  12. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
  13.  
  14. --
  15. -- Gegevens worden uitgevoerd voor tabel `codes`
  16. --
  17.  
  18. INSERT INTO `codes` (`id`, `code`, `bank`, `kogels`, `credits`) VALUES
  19. (1, 'demo', 2147483647, 2147483647, 2147483647);

3 antwoorden

Gesponsorde links
Offline Filip - 25/02/2010 18:41
Avatar van Filip IRC guru Misschien kan het handig zijn om eens te kijken of je query niet fout loopt?

  1. mysql_query("UPDATE `users` SET `codepoging`='1', `bank`=`bank`+'$bank', `kogels`=`kogels`+'$kogels' WHERE `login`='$data->login'") or die(mysql_error());


Waarschijnlijk loopt het fout bij de optelling die je daar maakt, of omdat getallen helemaal geen quotes moeten hebben? Quotes zijn alleen verplicht bij strings.
Bedankt door: rpgnox
Offline rpgnox - 25/02/2010 19:27
Avatar van rpgnox PHP interesse Bedankt. Heb momenteel de fout gevonden.
Offline Filip - 25/02/2010 21:23
Avatar van Filip IRC guru Wil je ze dan ook meedelen voor mensen die achteraf een kijkje komen nemen in deze topic?

En natuurlijk ook de 'oplossing' knop gebruiken 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.202s