04-07-2008, 01:52
Witam! W pliku buy_points.php mam taki kod:
1. Skrypt po wykonaniu nie ustawia kodowi pola used na wartość 1.
2. Nawet gdy ja ustawie wartość pola used na 1, czyli że kod został wykonany to i tak można go użyć po raz kolejny.
3. W tabeli accounts podobnie jak w punkcie pierwszym nie zmienia się wartość danego pola, którym w tym wypadku jest: premium_points.
Proszę o jak najszybszą odpowiedź i z góry dziękuję za pomoc
.
Kod PHP:
<?php
mysql_connect('localhost', 'root', '...') or die("mysql_error");
mysql_select_db('ots') or die("mysql_error");
if(!isset($_POST['sms_send'])) {
echo "";
}
else
{
$acc_mysql = mysql_real_escape_string($_POST['acc_numb']);
$sms_mysql = mysql_real_escape_string($_POST['sms_code']);
$query_check = mysql_query("SELECT * FROM `codes` WHERE `Code` = '" . $sms_mysql . "' AND `used` = ''");
$query_check_2 = mysql_query("SELECT * FROM `accounts` WHERE `id` = '" . $acc_mysql . "'");
if(mysql_num_rows($query_check) != 0) {
$points_now_query = mysql_query("SELECT `premium_points` FROM `accounts` WHERE `id` = '" . $acc_mysql . "'");
$points_now = mysql_fetch_array($points_now_query);
$points = '50';
$premium_points = "$points_now+$points";
function zastap($tabela, $pole, $wartosc, $pole2, $wartosc2) {
mysql_query("UPDATE {$tabela} SET {$pole}={$wartosc} WHERE {$pole2}={$wartosc2}");
}
zastap('codes', 'used', '1', 'Code', '.$sms_mysql.');
zastap('accounts', 'premium_points', '.$premium_points.', 'id', '.$acc_mysql.');
echo "<b>You have got now + 50 premium points!</b>";
}
else
{
echo "<b>Wrong Code!</b>";
}
}
?>
2. Nawet gdy ja ustawie wartość pola used na 1, czyli że kod został wykonany to i tak można go użyć po raz kolejny.
3. W tabeli accounts podobnie jak w punkcie pierwszym nie zmienia się wartość danego pola, którym w tym wypadku jest: premium_points.
Proszę o jak najszybszą odpowiedź i z góry dziękuję za pomoc
