[Help] Online Time Trade

Firewallcho

New Member
Joined
Apr 25, 2011
Messages
323
Reaction score
111
Трябва ми модул за Online Time Trade за Muweb.
 
то го има фрий ^_^ но никой не го вижда, даже и в форума го има :)
 
Брат ... Аз мога да ти напиша нешто такова но ще струва $$ ;)
 
Тфа е елементарно бе :D
... нялколко проверки и айде
 
И на мен ми трябва моля споделетего..
 
1. Правите си една input форма която да изпраща цифра(броя часове които потребителя иска да размени) и името на героя.
2. Кода ще ви е нещо от рода:
Вариант 1:
PHP:
$broi = $_POST['брой']; // разбира се преди $_POST всеки може да си сложи каквито и колкото иска защити
$ime = $_POST['името на героя']; // също си сложете защити 

$поменлива = "SELECT TotalTime,AccountID FROM Character WHERE Name = '$ime'";
3. Изпращате горната заявка до базата данни(който както може).

4. Продължаваме с кода:

$chas = $broi * 60;
$cred_or_stone = $chas * 5; // където 5 е броя кредити или stone за 1 час
[/PHP]
5. С няколко if-a правите проверки дали героя има толкова време за размяна.

6. С две UPDATE заявки обновявате таблиците:

PHP:
UPDATE StoneRena SET Stone='$cred_or_stone' WHERE acc = '$row['AccountID']';
UPDATE Character SET TotalTime = TotalTime - $chas WHERE Name = '$ime';

Вариант 2:
PHP:
$broi = $_POST['брой']; // разбира се преди $_POST всеки може да си сложи каквито и колкото иска защити
$acc = $_POST['акаунта']; // също си сложете защити 

$поменлива = "SELECT TotalTime FROM MEMB_STAT WHERE memb___id = '$acc'";
3. Изпращате горната заявка до базата данни(който както може).

4. Продължаваме с кода:
PHP:
$chas = $broi * 60;

$cred_or_stone = $chas * 5; // където 5 е броя кредити или stone за 1 час
5. С няколко if-a правите проверки дали героя има толкова време за размяна.

6. С две UPDATE заявки обновявате таблиците:
PHP:
UPDATE StoneRena SET Stone='$cred_or_stone' WHERE acc = '$acc';
UPDATE MEMB_STAT SET TotalTime = TotalTime - $chas WHERE memb___id = '$acc';

Успех на всички ;)
 
Last edited:
PHP:
<form method='post'>

<?
if(isset($_POST['exchange'])) {
$login = addslashes ($_SESSION['user']);
$char = addslashes ($_POST['char']);
$minutes = 60; // nepipash nishto
$credits = 2; // kolko credita da dava na 1 4as razmqna
$username_check = mssql_query("SELECT memb___id FROM MEMB_INFO WHERE memb___id='$login'"); 
$username_checked = mssql_num_rows($username_check);  
$name_check = mssql_query("SELECT Name FROM Character WHERE Name='$char' and AccountID ='$login'"); 
$name_checked = mssql_num_rows($name_check); 
$online_check = mssql_query("SELECT * FROM MEMB_STAT WHERE memb___id='$login'");
$online_checked = mssql_fetch_array($online_check);
$result = mssql_query("SELECT * FROM Character WHERE Name='$char'");
$row = mssql_fetch_array($result);
if (empty($char)) { echo "Please Select Character!"; $error=1; }
elseif ($online_checked['ConnectStat'] != 0){ echo "Account is online, must be logged off!"; $error=1; }
elseif ($row['TotalTime'] < $minutes){ echo "$char need <b>$minutes</b> minutes to Trade Time!"; $error=1; }

if ($error !=1) {
mssql_query("UPDATE [Character] SET [TotalTime]=[TotalTime]-'$minutes' WHERE [Name]='$char'");
mssql_query("UPDATE memb_credits SET [credits]=credits+$credits WHERE memb___id='$login'");
echo "<b>$char</b> successfully traded $minutes Minutes and win $creditsbonus Credits!<br />";
} 
}
?>
<select name='char'>
<?
echo "
<option value='$char[GameID1]'>$char[GameID1]</option>
<option value='$char[GameID2]'>$char[GameID2]</option>
<option value='$char[GameID3]'>$char[GameID3]</option>
<option value='$char[GameID4]'>$char[GameID4]</option>
<option value='$char[GameID5]'>$char[GameID5]</option>"; 
?>
</select>
<input type='submit' name='exchange' value='exchange Hours'>
</form>

нямам MSSQL за да го пробвам дали работи извинявай те :) но го пробвайте
 
Last edited:
1. Правите си една input форма която да изпраща цифра(броя часове които потребителя иска да размени) и името на героя.
2. Кода ще ви е нещо от рода:
Вариант 1:
PHP:
$broi = $_POST['брой']; // разбира се преди $_POST всеки може да си сложи каквито и колкото иска защити
$ime = $_POST['името на героя']; // също си сложете защити 

$поменлива = "SELECT TotalTime,AccountID FROM Character WHERE Name = '$ime'";
3. Изпращате горната заявка до базата данни(който както може).

4. Продължаваме с кода:

PHP:
$chas = floor($row['TotalTime']/60); // Ако сте използвали FETCH ASSOC, ако пък сте използвали NUM -> $row[0];

$cred_or_stone = $chas * 5; // където 5 е броя кредити или stone за 1 час
5. С няколко if-a правите проверки дали героя има толкова време за размяна.

6. С две UPDATE заявки обновявате таблиците:

PHP:
UPDATE StoneRena SET Stone='$cred_or_stone' WHERE acc = '$row['AccountID']';
UPDATE Character SET TotalTime = TotalTime - $broi WHERE Name = '$ime';

Вариант 2:
PHP:
$broi = $_POST['брой']; // разбира се преди $_POST всеки може да си сложи каквито и колкото иска защити
$acc = $_POST['акаунта']; // също си сложете защити 

$поменлива = "SELECT TotalTime FROM MEMB_STAT WHERE memb___id = '$acc'";
3. Изпращате горната заявка до базата данни(който както може).

4. Продължаваме с кода:
PHP:
$chas = floor($row['TotalTime']/60); // Ако сте използвали FETCH ASSOC, ако пък сте използвали NUM -> $row[0];

$cred_or_stone = $chas * 5; // където 5 е броя кредити или stone за 1 час
5. С няколко if-a правите проверки дали героя има толкова време за размяна.

6. С две UPDATE заявки обновявате таблиците:
PHP:
UPDATE StoneRena SET Stone='$cred_or_stone' WHERE acc = '$acc';
UPDATE MEMB_STAT SET TotalTime = TotalTime - $broi WHERE memb___id = '$acc';

Успех на всички ;)

На български? :D
 
@KR3T3N: Добре де колега всичко ок... ама защо си го направил толкова сложно? И да... без да го пробвам смятам, че няма да тръгне по простата причина, че бутона ти се казва: change, а ти търсиш exchange ;)

И защо са им 6 заявки към sql-a? Защо толкова ресурси да заминават като всичко може много по-просто да се направи.
 
всеки си има начин :) аз го права така друг друго яче :) оправих бутона
 
PHP:
<form method='post'>

<?
if(isset($_POST['exchange'])) {
$login = stripslashes ($_SESSION['user']);
$char = stripslashes ($_POST['char']);
$minutes = 60; // nepipash nishto
$credits = 2; // kolko credita da dava na 1 4as razmqna
$username_check = mssql_query("SELECT memb___id FROM MEMB_INFO WHERE memb___id='$login'"); 
$username_checked = mssql_num_rows($username_check);  
$name_check = mssql_query("SELECT Name FROM Character WHERE Name='$char' and AccountID ='$login'"); 
$name_checked = mssql_num_rows($name_check); 
$online_check = mssql_query("SELECT * FROM MEMB_STAT WHERE memb___id='$login'");
$online_checked = mssql_fetch_array($online_check);
$result = mssql_query("SELECT * FROM Character WHERE Name='$char'");
$row = mssql_fetch_array($result);
if (empty($char)) { echo "Please Select Character!"; $error=1; }
elseif ($online_checked['ConnectStat'] != 0){ echo "Account is online, must be logged off!"; $error=1; }
elseif ($row['TotalTime'] < $minutes){ echo "$char need <b>$minutes</b> minutes to Trade Time!"; $error=1; }

if ($error !=1) {
mssql_query("UPDATE [Character] SET [TotalTime]=[TotalTime]-'$minutes' WHERE [Name]='$char'");
mssql_query("UPDATE memb_credits SET [credits]=credits+$credits WHERE memb___id='$login'");
echo "<b>$char</b> successfully traded $minutes Minutes and win $creditsbonus Credits!<br />";
} 
}
?>
<select name='char'>
<?
echo "
<option value='$char[GameID1]'>$char[GameID1]</option>
<option value='$char[GameID2]'>$char[GameID2]</option>
<option value='$char[GameID3]'>$char[GameID3]</option>
<option value='$char[GameID4]'>$char[GameID4]</option>
<option value='$char[GameID5]'>$char[GameID5]</option>"; 
?>
</select>
<input type='submit' name='exchange' value='exchange Hours'>
</form>

нямам MSSQL за да го пробвам дали работи извинявай те :) но го пробвайте


При мен се получава така
http://imageshack.com/scaled/large/202/t42o.png
 
явно не ти е $_SESSION['user'] :)