Berichten: 830
avatar
Offline Stuur privebericht
Hallo CP'ers

Ik heb net een script gemaakt voor me crime.
Namelijk Kadobon.
Alles werkt perfect op 1 ding na. Dat is het volgende:

Per uur moet 1 iemand een code krijgen die hij kan invullen. Invullen enzovoort werkt perfect.

Maar nu staat dit in me cron_hour.php :

Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
$query mysql_query('SELECT * FROM `[users]` ORDER BY rand()');
$result mysql_fetch_assoc($query);

$code rand(101010,10101010);

mysql_query("UPDATE `[users]` SET `code`=`code`='".$code."' WHERE `login`='".$result->login."'");

mysql_query("INSERT INTO `[messages]`(`time`,`IP`,`forwardedFor`,`from`,`to`,`subject`,`message`) values(NOW(),'".$_SERVER['REMOTE_ADDR']."','".$forwardedFor."','".$automailer."','".$result['login']."','Kadobon gewonnen !','Jij bent dit uur de gelukkige , je wint een kadobon. Wissel deze in het menu - Casino - voor een leuke prijs. Je code is : ".$code." !')");

mysql_query("INSERT INTO `kadobonlogs`(`time`,`login`,`code`,`gebruikt`) values(NOW(),'".$result->login."','".$code."','".$automailer."','0')");


Maar nu zet die het niet in de logs / het lid krijgt de code niet in db.
Echter krijgt die wel het berichtje met de code erin.

Wie kan mij verder helpen ?

Alvast Bedankt !
16-03-2011 19:09
Dit topic is 272 keer bekeken door 52 verschillende leden
Reacties op: "Kadobon"
1
Hmm
Berichten: 931
avatar
Offline Stuur privébericht
misschien zo?

Code | Selecteer Alles
minimaliseren
1
mysql_query("INSERT INTO `[users]` SET `code`=`code`='".$code."' WHERE `login`='".$result->login."'");
16-03-2011 19:10
Berichten: 830
avatar
Offline Stuur privébericht
@habib

Nee dat kan niet.
Want die rij die er staat word op 0 gezet als je de code gebruikt. Dus die rij bestaat al. Dus hij moet geupdate worden.
16-03-2011 19:13
Berichten: 637
avatar
Offline Stuur privébericht
Pff code=code='" . $code . "'.... Dat kan niet!!

code='" . $code . "' of code=code+"' . $code . "'
16-03-2011 19:14
Berichten: 830
avatar
Offline Stuur privébericht
@Bever.

Ik zie inderdaad dat dit ook niet het geval is in de rest van de crons.
16-03-2011 19:15
Crime-ware dot nl
Berichten: 774
avatar
Offline Stuur privébericht
Zo iets heb ik ook eens gemaakt voor me criminals.
ik kan je het wel uitleggen maar geen scipt geven.

pb me maar leg ik je het uit hoe je dat doe.
een gift code
16-03-2011 19:18
Rapifia Europe
Berichten: 3716
avatar
Offline Stuur privébericht
Die code gaat niet werken, omdat je geen while loop gebruikt. Zie daarvoor while.

Ook is je code niet echt netjes geschreven, zie mijn top 10:

Quote


1. Geen onnodige code, gebruik zoveel mogelijk loops
2. Geen shorttags, altijd <?php en ?>.
3. Variabelen buiten de quotes (bijv. echo 'Hallo'.$naam; en NOOIT echo 'Hallo $naam';.
4. Kolomnamen in MySQL zonder ` typen (alleen als het niet anders kan zoals bij bijvoorbeeld een numeriek veldnaam ` gebruiken)
5. ALTIJD tabben, dus bij elke accolade een tab ('inspringen'.
6. Javascripts zoveel mogelijk in de head sectie plaatsen
7. Zoveel mogelijk commentaar plaatsen, een andere programmeur kan zo makkelijk iets begrijpen
8. Inputs altijd checken op bijvoorbeeld numeriek, alfanumeriek, een bepaalde reeks en bij tekst inputs ALTIJD strip_tags() en i.c.m. MySQL(i) mysql(i)_real_escape_string();
9. Geef bij een SELECT query altijd ALLE veldnamen op, tenzij het er meer dan 20 zijn en je ze allemaal nodig hebt, dan gebruik je een wildcard.
10. Wees gericht op de toekomst, gebruik dus geen functies die al depracted zijn of die er binnenkort worden uitgegooid.



Vooral punt 4 en 9 zijn erg belangrijk voor jou .
Ook raad ik je aan mysql(i)_fetch_array(); te gebruiken i.p.v. assoc, volgens mij werkt dit een stuk sneller (ook omdat je een wildcard gebruikt) en bovendien is assoc een beetje uit de "mode".

Veel succes ermee!
16-03-2011 21:01
What else?
Berichten: 1180
avatar
Online Stuur privébericht
Quote

Returns an associative array that corresponds to the fetched row and moves the internal data pointer ahead. mysql_fetch_assoc() is equivalent to calling mysql_fetch_array() with MYSQL_ASSOC for the optional second parameter. It only returns an associative array.



Maakt geen kloot uit welke van de 2 je gebruikt, en uit de mode? Sinds wanneer is PHP een mode wereld geworden en daarnaast wordt assoc nog net zo vaak als het niet vaker is gebruikt dan array, aangezien ik geen rede snap om een row aan te roepen met $row['1'] ipv. $row['id']
16-03-2011 23:53
Berichten: 552
avatar
Offline Stuur privébericht
mysql_query("UPDATE `[users]` SET `code`=`code`='".$code."' WHERE `login`='".$result->login."'";


Je roept het met assoc op en gebruikt object ?
17-03-2011 08:47
Rapifia Europe
Berichten: 3716
avatar
Offline Stuur privébericht
Goed opgemerkt Frank, dat kan dus inderdaad niet .
17-03-2011 20:29
Reageer op: "Kadobon"
1
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden