Ik heb een script waarmee via API credits worden bijgeschreven.
Het moet wel alleen zo zijn dat er credits worden bijgeschreven als het nooit eerder is gebeurd.

Maar toch worden steeds credits bijgeschreven...
Waarom?


<?
$memberid = $_GET['code1'];
$banner = $_GET['code2'];

$sql = "SELECT * FROM prijsvragen WHERE mid='" . $memberid . "'  AND bid='" . $banner ."'";
$result2 = mysql_query($sql) or die(mysql_error());
$a = mysql_fetch_assoc($result);
if($a['id'] == ''){
mysql_query("INSERT INTO prijsvragen (id, mid, bid, tijd) VALUES ('', '$memberid', '$banner', NOW())") or print (mysql_error());
$query = "SELECT * FROM enquetes WHERE id = '$banner'";
$result = mysql_query($query) or die(mysql_error());
while ($object = mysql_fetch_object($result)) {
    $url = $object->url;
	$credits = $object->credits;
	}
   mysql_query("UPDATE `users` SET saldo=saldo+'$credits' WHERE `id` = '$memberid'");
}else{
}
?>
Deze code is bagger. Je werkt niet met <? en ?> maar met <?php en ?>. Regel 6 gaat ook richting prullenbak. Or die() kennen fatsoenlijke programmeurs in hun code niet. Regel 8 gaat ook aangepast worden. Deze check doe je met !isset() of empty().

Backticks op regel 16? Richting prullenbak, net als die quotes voor een integer.
Leer eerst fatsoenlijk scripten voor je aan een RPG(?) begint.
Blijkbaar is $a['id'] dan toch een lege string. Controleer dat dus eens. Verder moet je de nodige beveiliging toepassen aangezien je script nu zo lek als een mandje is (sql injectie).
Hahah sorry dit is geen RPG. Ik begrijp je ergernis daaraan ;)

Ik heb een pakket scripts gekocht en dit zat erbij, dus :)
Wat is het verschil trouwens tussen <? en <?php
<? wordt niet op alle servers ondersteund en <?php wel
Ligt eraan hoe de server geconfigureerd is.

Ik erger trouwens niet aan RPG's, ik heb er zelf namelijk ook een gemaakt. Waar ik me wel aan erger is de slechte codes die mensen die RPG's maken gebruiken.
Begrijp ik :)

Blanche jij zegt dat $a['id'] leeg is.
Dus de fout zit ervoor.

Hoe kan dit beter geschreven worden? Ik weet het niet..


<?php
$sql = "SELECT * FROM prijsvragen WHERE mid='" . $memberid . "'  AND bid='" . $banner ."'";
$result2 = mysql_query($sql) or die(mysql_error());
$a = mysql_fetch_assoc($result);
?>

Reageren