[RevCMS] Badgeshop Client-Problem [HILFE]

  • Hallo liebe Towner

    Ich habe ein kleines Problem.

    Ich kenne mich mit dem Scripten noch nicht so gut aus und bräuchte deshalb eure Hilfe!

    Auf der Homepage habe ich einen Badgeshop.
    Wenn man da Badges kauft, werden die auf der "Mein Profil"-Seite angezeigt, allerdings nicht im Client.

    Kann mir jemand anhand des unten stehenden Codes sagen was ich wo hineinschreiben muss, damit die Badges auch im Client angezeigt werden?


    BADGESHOP CODE:

    <?php
    // Create Array for Badge Codes/Costs in Credits
    $badgeCodes = array('HH1','FAN','TC2','SNW','AU1_HHAU','Z84','BR013','BNZI5','CL3_HHUK','CNV_HHSG','IT425','CO6_HHUK','DE002','DK037','EAS03_HHSG','DU3','WCS07','WCS09','US0R','UK300','UK208','TR147','SCE15','RTS18','RLX01','PRV03','PRV02','PRV01','NT128','NO055','NO056','NO064','NO066','NO050','NO051','NO053','NO063','NO055','NO052','NO058','KIR13','GNO');
    $badgeCosts = array(10,50,50,1000,5000,20000,500,1000,10,50,50,1000,5000,2040,200,100,50,900,800,700,400,300,900,500,900,500,100,2000,900,900,800,4000,9000,6000,600,9000,8000,877,8000,9000,877,999);

    $subCode = $_GET['id'];
    if(isset($subCode)){

    $badgeExsist = false;
    for($i = 1; $i < sizeof($badgeCodes); $i++){
    if($subCode == $badgeCodes[$i]){
    // Check to see if user has badge
    $hasBadgeCheck = mysql_query('SELECT * FROM user_badges WHERE user_id = '.$_SESSION['user']['id'].' AND badge_id = "'.$badgeCodes[$i].'"')or die(mysql_error());
    if(mysql_num_rows($hasBadgeCheck) < 1){
    // check Credits
    $creditCheck = mysql_query('SELECT * FROM users WHERE id = '.$_SESSION['user']['id'].'')or die(mysql_error());
    $gotCreditCheck = mysql_fetch_assoc($creditCheck);
    if($gotCreditCheck['credits'] >= $badgeCosts[$i]){
    $removeCredits = mysql_query('UPDATE users SET Credits = Credits - '.$badgeCosts[$i].' WHERE id = '.$_SESSION['user']['id'].'')or die(mysql_error());
    $giveUserBadge = mysql_query('INSERT INTO user_badges (user_id, badge_id) VALUES ('.$_SESSION['user']['id'].',"'.$badgeCodes[$i].'")')or die(mysql_error());
    $_SESSION['user']['credits'] = $_SESSION['user']['credits'] - $badgeCosts[$i];
    echo '<div class="message green"> Du har köpt emblemet utan problem! Du kanske behöver relogga klienten för att se emblemet.</font></center></div>';
    break;
    }
    else{
    // You don't have enough Credits
    echo '<div class="message red">Du hast nicht genügend Taler!</div>';
    }
    }
    else{
    // You have badge
    echo '<div class="message red">Du hast das Badge schon!</div>';
    }
    break; // stop loop
    }
    }
    }

    echo '';
    echo '';
    for($n = 1; $n < sizeof($badgeCodes); $n++){

    // Check to see if user has badge
    $hasBadge = mysql_query('SELECT * FROM user_badges WHERE user_id = '.$_SESSION['user']['id'].' AND badge_id = "'.$badgeCodes[$n].'"')or die(mysql_error());
    if(mysql_num_rows($hasBadge) < 1){
    echo ' <a class="content" href="{url}/index.php?url=badgeshop&id='.$badgeCodes[$n].'">
    <span class="badge-item" >
    <img class="shadow" style="margin-top:10px;"src="/r63/c_images/album1584/'.$badgeCodes[$n].'.gif"/>
    <div><font style="font-size:20px;"> '.$badgeCodes[$n].'</font></div>
    <span class="cost"><span class="information icons coins"></span><font style="font-size:15px;"> '.$badgeCosts[$n].'</font> </span>

    ';
    }
    else{
    // Don't show the badge.
    }
    }

    echo '</span></a>';

    ?>

  • Du könntest mal schauen, ob in der Entwicklerkonsole (F12) möglicherweise Fehler im Client auftauchen.
    Ansonsten wüsste ich jetzt auch nicht weiter, außer dass die Badges nicht im c_images Ordner vorhanden sind.

    Mal anders gefragt: Werden gar keine Badges angezeigt, oder nur die im Badgeshop gekauften nicht?

  • Leider sind die Badges im c_images Ordner. Das hab ich bereits geprüft.
    Ausserdem taucht auch kein Fehler in der Konsole auf.

    Ich denke deswegen, dass der Code nur so ausgerichtet ist, dass die Badges nur im Profil angezeigt werden (auf der Homepage) und nicht in den Client mitgenommen werden - was etwas komisch wäre, wenn jemand einen solchen Badgeshop skripten würde ^^

    Deswegen hoffe ich, dass mir jemand sagen kann ob der Code richtig ist und ob die Badges, laut dem Code, auch im Client auftauchen müssten!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!