Gå til innhold

Rinox

Medlemmer
  • Innlegg

    1 493
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av Rinox

  1. Hmm... Enda et problem dukket opp nå så jeg poster det her. Jeg har følgende script nå:

     

    Klikk for å se/fjerne innholdet nedenfor
    <?php
    ob_start();
    include('config.php');
    
    if(!$logged[username])
    {
    echo("Du er ikke innlogget!");
    }
    # If User Isnt Logged In
    
    else{
    
    $result = mysql_query('SELECT id FROM users WHERE username = '.quote_smart($logged['username'])); 
    $resultObj = mysql_fetch_object($result);
    $bruker_id = $resultObj->id;
    $pris = 5000;
    
    $checkaccess = mysql_query("SELECT id FROM fight_info WHERE id=$bruker_id");
    $checkaccess= mysql_num_rows($checkaccess);
    if ($checkaccess == 0) {
    echo("Du har ikke tilgang til å besøke den kongelige arenaen. Det koster $pris mynter.<br><br>");
    echo("<form action='?side=fightlist&go=fightlist&act=kjopTilgang' method='post'><input type='submit' value='Kjøp tilgang'></form>");
    }
    else {
    mysql_query("DELETE FROM fight_list WHERE `timestamp` < " . (time() - 300)) or die(mysql_error());
    
    echo("<form action='?side=fightlist&go=fightlist&act=trening' method='post'>
    <input type='radio' name='trening' value='2'>Styrketrening - 3 minutter ventetid - 2%<br>
    <input type='radio' name='trening' value='4'>Slåss med dukke - 6 minutter ventetid - 4%<br>
    <input type='radio' name='trening' value='7'>Slåss med trener - 9 minutter ventetid - 7%<br>
    <br><input type='submit' value='Utfør trening'></form>");
    
    echo("<form action='?side=fightlist&go=fightlist&act=nykamp' method='post'><input type='submit' value='Gå til kamp!' /></form>");
    echo("Brukere som er klare for kamp (alle eldre enn 5 minutter blir slettet):<br><br>");
    
    $brukersporring = "SELECT f.id, f.timestamp, u.id, u.username
    FROM fight_list e
    INNER JOIN fight_list f USING (id)
    INNER JOIN users u USING (id)";
    $result = mysql_query($brukersporring) or die("Error: " . mysql_error());
    while ($line = mysql_fetch_row($result)) 
    {
    echo "<b>" . $line[3] . "</b><br>";
    }
    mysql_free_result($result);
    
    }
    
    switch($_GET[act])
    {
    case 'nykamp':
    mysql_query("DELETE FROM fight_list WHERE `timestamp` < " . (time() - 300)) or die(mysql_error());
    
    $query = "SELECT id FROM fight_list WHERE id = '". $bruker_id ."'";
    $result = mysql_query($query) or die("Error: " . mysql_error());
    while ($line = mysql_fetch_row($result)) 
    {
    $check = $line[0];
    }
    mysql_free_result($result);
    if (!empty($check))
    {
    echo "<br><b>Du er allerede klar for kamp.</b>";
    }
    else
    {
    mysql_query("INSERT INTO fight_list (id ,`timestamp`) VALUES($bruker_id, " . time() . ")") or die(mysql_error());
    $brukersporring = "SELECT f.id, f.timestamp, u.id, u.username
    FROM fight_list e
    INNER JOIN fight_list f USING (id)                                                                                   
    INNER JOIN users u USING (id)";
    $result = mysql_query($brukersporring) or die("Error: " . mysql_error());
    while ($line = mysql_fetch_row($result)) 
    {
    echo "<b>" . $line[3] . "</b><br>";
    }
    mysql_free_result($result);
    echo("<br><b>Du er nå klar for kamp!</b>");
    }
    break;
    
    case 'trening':
    $trening = $_POST["trening"];
    
    $sql = mysql_query("SELECT * FROM fight_info") or die(mysql_error());
    $row = mysql_fetch_object($sql) or die(mysql_error());
    
    if ($trening = "2") { $venteminutter = "3"; }
    if ($trening = "4") { $venteminutter = "6"; }
    if ($trening = "7") { $venteminutter = "9"; }
    
    if ( ($row->percent + $trening) >= 100) {
    $fields = 'percent = ' . ($row->percent + $trening - 100) . ', level = (' . $row->level . ' + 1)';
    echo("<b>Du har trent og må vente i " . $venteminutter . " minutter før du kan fortsette.</b><br>
    <b>Du har gått opp en level!</b><br>");
    }
    else {
    $fields = 'percent = ' . ($row->percent + $trening);
    echo("<b>Du har trent og må vente i " . $venteminutter . " minutter før du kan fortsette.</b><br>");
    }
    
    mysql_query("UPDATE fight_info SET $fields WHERE id = $bruker_id") or die(mysql_error());
    
    break;
    
    case 'kjopTilgang':
    
    $result = mysql_query('SELECT lommebok FROM users WHERE username = '.quote_smart($logged['username'])); 
    $resultObj = mysql_fetch_object($result);
    $lommebok = $resultObj->lommebok;
    
    if($lommebok < $pris) {
    echo("<b>Du har ikke nok penger i lommeboken.</b>");
    }
    else {
    mysql_query("UPDATE users SET lommebok = (lommebok - $pris) WHERE username = '$logged[username]'");
    mysql_query("INSERT INTO fight_info (id) VALUES ($bruker_id)") or die(mysql_error());
    echo("<b>Du har betalt 5000 mynter og har fått tilgang til den kongelige kamparenaen.</b>");
    }
    
    break;
    
    }
    }
    ?>

     

    Problemet er når jeg skal skrive ut variabelen $venteminutter så skrives 9 ut uansett... Noen som vet hva som kan være feilen her?

  2. Hei, alle sammen! Jeg har laget et script helt fra bunnen av, men det virker visst ikke helt. Skripet kan dere se her:

     

    Klikk for å se/fjerne innholdet nedenfor
    <?php
    ob_start();
    include('config.php');
    
    if(!$logged[username])
    {
    echo("Du er ikke innlogget!");
    }
    # If User Isnt Logged In
    
    else{
    
    $result = mysql_query('SELECT id FROM users WHERE username = '.quote_smart($logged['username'])); 
    $resultObj = mysql_fetch_object($result);
    $bruker_id = $resultObj->id;
    $pris = 5000;
    
    $checkaccess = mysql_query("SELECT id FROM fight_info WHERE id=$bruker_id");
    $checkaccess= mysql_num_rows($checkaccess);
    if ($checkaccess == 0) {
    echo("Du har ikke tilgang til å besøke den kongelige arenaen. Det koster $pris mynter.<br><br>");
    echo("<form action='?side=fightlist&go=fightlist&act=kjopTilgang' method='post'><input type='submit' value='Kjøp tilgang'></form>");
    }
    else {
    mysql_query("DELETE FROM fight_list WHERE `timestamp` < " . (time() - 300)) or die(mysql_error());
    
    echo("<form action='?side=fightlist&go=fightlist&act=trening' method='post'>
    <input type='radio' name='trening' value='2'>Styrketrening - 3 minutter ventetid - 2%<br>
    <input type='radio' name='trening' value='4'>Slåss med dukke - 6 minutter ventetid - 4%<br>
    <input type='radio' name='trening' value='7'>Slåss med trener - 9 minutter ventetid - 7%<br>
    <br><input type='submit' value='Utfør trening'></form>");
    
    echo("<form action='?side=fightlist&go=fightlist&act=nykamp' method='post'><input type='submit' value='Gå til kamp!' /></form>");
    echo("Brukere som er klare for kamp (alle eldre enn 5 minutter blir slettet):<br><br>");
    
    $brukersporring = "SELECT f.id, f.timestamp, u.id, u.username
    FROM fight_list e
    INNER JOIN fight_list f USING (id)
    INNER JOIN users u USING (id)";
    $result = mysql_query($brukersporring) or die("Error: " . mysql_error());
    while ($line = mysql_fetch_row($result)) 
    {
    echo "<b>" . $line[3] . "</b><br>";
    }
    mysql_free_result($result);
    
    }
    
    switch($_GET[act])
    {
    case 'nykamp':
    mysql_query("DELETE FROM fight_list WHERE `timestamp` < " . (time() - 300)) or die(mysql_error());
    
    $query = "SELECT id FROM fight_list WHERE id = '". $bruker_id ."'";
    $result = mysql_query($query) or die("Error: " . mysql_error());
    while ($line = mysql_fetch_row($result)) 
    {
    $check = $line[0];
    }
    mysql_free_result($result);
    if (!empty($check))
    {
    echo "<br><b>Du er allerede klar for kamp.</b>";
    }
    else
    {
    mysql_query("INSERT INTO fight_list (id ,`timestamp`) VALUES($bruker_id, " . time() . ")") or die(mysql_error());
    $brukersporring = "SELECT f.id, f.timestamp, u.id, u.username
    FROM fight_list e
    INNER JOIN fight_list f USING (id)                                                                                   
    INNER JOIN users u USING (id)";
    $result = mysql_query($brukersporring) or die("Error: " . mysql_error());
    while ($line = mysql_fetch_row($result)) 
    {
    echo "<b>" . $line[3] . "</b><br>";
    }
    mysql_free_result($result);
    echo("<br><b>Du er nå klar for kamp!</b>");
    }
    break;
    
    
    case 'trening':
    $trening = $_POST["trening"];
    
    $sql = mysql_query("SELECT * FROM fight_info");
    $row = mysql_fetch_object($sql);
    
    if ( ($row->percent + $trening) >= 100) {
    $fields = 'percent = ' . ($row->percent + $trening - 100) . ', level = ' . $row->level++;
    }
    else {
    $fields = 'percent = ' . ($row->percent + $trening);
    }
    
    mysql_query('UPDATE fight_info SET ' . $fields . 'WHERE id = ' . $bruker_id);
    
    break;
    
    case 'kjopTilgang':
    
    $result = mysql_query('SELECT lommebok FROM users WHERE username = '.quote_smart($logged['username'])); 
    $resultObj = mysql_fetch_object($result);
    $lommebok = $resultObj->lommebok;
    
    if($lommebok < $pris) {
    echo("<b>Du har ikke nok penger i lommeboken.</b>");
    }
    else {
    mysql_query("UPDATE users SET lommebok = (lommebok - $pris) WHERE username = '$logged[username]'");
    mysql_query("INSERT INTO fight_info (id) VALUES ($bruker_id)") or die(mysql_error());
    echo("<b>Du har betalt 5000 mynter og har fått tilgang til den kongelige kamparenaen.</b>");
    }
    
    break;
    
    }
    }
    ?>

     

    Kodedelen med følgende kode tror jeg det er som svikter. Den skal hente informasjon fra øverste form i scriptet her og sette inn verdier i en tabell..

     

    case 'trening':
    $trening = $_POST["trening"];
    
    $sql = mysql_query("SELECT * FROM fight_info");
    $row = mysql_fetch_object($sql);
    
    if ( ($row->percent + $trening) >= 100) {
    $fields = 'percent = ' . ($row->percent + $trening - 100) . ', level = ' . $row->level++;
    }
    else {
    $fields = 'percent = ' . ($row->percent + $trening);
    }
    
    mysql_query('UPDATE fight_info SET ' . $fields . 'WHERE id = ' . $bruker_id);
    
    break;

    Koden over er oppdatert. Det var visst feil..

     

    Problemet er at verdiene ikke blir lagt inn i tabellen!! Jeg skjønner rett og slett ikke hva som er feilen her.. :hmm:

    Noen som kan svaret her? Takker så mye for svar :)

  3. Jeg ville brukt htmlentities() hvis det ikke er snakk om noen database... Hvis du har en database som innleggene skrives inn i gjør du det lurt å bruke mysql_real_escape_string().

    Begge disse funksjonene kan du lese om på php.net og du kan finne forskjeller mellom den og deres egenskaper her: http://www.designhjelp.com/forum/viewtopic.php?t=139

     

    Der var det noen som spurte om dette :)

  4. Ja, hei alle sammen! Endelig fikk jeg scriptet mitt til å kjøre. Det kan dere se her:

     

    <?php
    ob_start();
    include('config.php');
    
    if(!$logged[username])
    {
    echo("Du er ikke innlogget!");
    }
    # If User Isnt Logged In
    
    else{
    mysql_query("DELETE FROM fight_list WHERE `timestamp` < " . (time() - 60)) or die(mysql_error());
    
    echo("Brukere som er klare for kamp:<br><br>");
    
    echo("<form action='?side=fightlist&go=fightlist&act=nykamp' method='post'><input type='submit' value='Gå til kamp!' /></form>");
    
    switch($_GET[act])
    {
    case 'nykamp':
    mysql_query("DELETE FROM fight_list WHERE `timestamp` < " . (time() - 60)) or die(mysql_error());
    
    $result = mysql_query('SELECT id FROM users WHERE username = '.quote_smart($logged['username'])); 
    $resultObj = mysql_fetch_object($result);
    $bruker_id = $resultObj->id;
    
    mysql_query("INSERT INTO fight_list (id ,`timestamp`) VALUES('$bruker_id', " . time() . ")") or die(mysql_error());
    echo("Du er nå klar for kamp!");
    
    break;
    
    }
    }
    ?>

     

    Det jeg ønsker å gjøre nå er å liste opp alle brukere som befinner seg i tabellen fight_list. Denne tabellen består kun av de to kolonnene brukerid og timestamp. Tabellen hvor du finner både brukernavn og id heter users. Hvordan kan jeg nå ikke liste opp id-ene, men heller brukernavnene på de som er i tabellen?

     

    Tusen takk for svar :)

  5. Jeg har et lite problem i syntaksen min i denne koden:

    <?php
    ob_start();
    include('config.php');
    
    if(!$logged[username])
    {
    echo("Du er ikke innlogget!");
    }
    # If User Isnt Logged In
    
    else{
    mysql_query("DELETE FROM fight_list WHERE `timestamp` < " . (time() - 60)) or die(mysql_error());
    
    echo("Brukere som er klare for kamp:<br><br>");
    
    echo("<form action='?side=fightlist&go=fightlist&act=nykamp' method='post'><input type='submit' value='Gå til kamp!' /></form>");
    
    switch($_GET[act])
    {
    case 'nykamp':
    
    $bruker_id = mysql_query("SELECT id FROM users WHERE brukernavn = ". $logged[username]);
    mysql_query("INSERT INTO fight_list (id ,`timestamp`) VALUES(" . $bruker_id . ", " . time() . " )") or die(mysql_error());
    echo("Du er for svak til å gå til kamp. Du må trene mer.");
    
    break;
    
    }
    }
    ?>

     

    Siden jeg har brukt mysql_error får jeg denne feilmeldingen:

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 1175983382 )' at line 1

     

    På grunn av denne erroren blir ingenting lagt til i tabellen... Vet noen hva som kan være feilen her?

     

    Jeg tror jeg fant ut hvorfor infoen ikke vil legges inn i tabellen... Jeg kjørte denne spøørringen:

     

    $bruker_id = mysql_query("SELECT id FROM users WHERE username = ". $logged[username]) or die(mysql_error());

     

    Da fikk jeg denne feilmeldingen:

     

    Unknown column 'Rinox' in 'where clause'

     

    På grunn av denne feilen kunne ikke feltet for id fylles inn og dermed stoppet spørringen... Men er det noen som vet hva den feilmeldingen skyldes og hvordan det kan fikses? For hvis jeg fikser den fikses alt...

     

    Takker for svar :)

  6. <?php
    ob_start();
    include('config.php');
    
    if(!$logged[username])
    {
    echo("Du er ikke innlogget!");
    }
    # If User Isnt Logged In
    
    else{
    mysql_query("DELETE FROM fight_list WHERE `timestamp` < " . (time() - 60)) or die(mysql_error());
    
    echo("<form action='?side=fightlist&act=nykamp' method='get'><input type='submit' value='Gå til kamp!' /></form>");
    
    switch($_GET[act])
    {
    case 'nykamp':
    
    mysql_query("INSERT INTO fight_list (`timestamp`) VALUES(" . time() . ")");
    echo("Du er for svak til å gå til kamp. Du må trene mer.");
    
    break;
    
    }
    }
    ?>

     

    Dette er scriptet mitt... Meningen er at når man klikker på knappen "Gå til kamp" så skal en SQL spørring kjøres og en Melding skal skrives til skjermen. Problemet er bare at når jeg kjører denne fra http://localhost/script så leder knappen til http://localhost/script/? og det skal det jo ikke gjøre... Noen som vet hva som er feil?

     

    Takker så mye for svar :)

  7. Hei! Jeg har nettopp laget et script som dere kan se i koden under:

     

    <?php 
    mysql_query("INSERT INTO fight_list (`timestamp`) VALUES(" . time() . ")"); 
    mysql_query("DELETE FROM fight_list WHERE `timestamp` < " . time() - 60); 
    ?> 

     

    Scriptet skal først sette inn en rad med verdier i tabellen fight_list; id og timestamp er de to kolonnene her... id har auto increment, men timestampen må jeg sette inn selv og det er akkurat det som gjøres i den andre linjen av scriptet. Det funker perfekt.

    Så til neste linje, nr 3. Den skal sjekke alle timestamper i alle rader i tabellen og alle de som har eksistert i mer enn 60 sekunder blir fjernet. Problemet oppstår her; ingen innlagte rader slettes selv om de har eksistert i mer enn 60 sekunder :hmm:

     

    Noen som vet hva som kan være feil her og hvordan det kan fikses?

  8. Enig med magne. Å lage et spill som NordicMafia behøver heller ikke å ta så lang tid. Jeg begynte med PHP i november, jobbet noen uker med det, men følte jeg burde gjøre meg ferdig med HTML og CSS. Da glemte jeg en del ting, men nå i Januar begynte jeg igjen med PHP og alt jeg hadde lært i november kunne jeg perfekt :)

  9. Mafiaspill er bare populært å lage fordi alle tror de kan nå til topps med det, men sannheten er at NordicMafia EIER alle potensielle brukere. Markedet er fullt! Dessuten... Du ER ikke i stand til å lage et spill hvis du tror det er så enkelt og hvis du kaller det scripting.

    Les en bok om emnet, studer den og diskuter problemstillinger med andre. Jeg har selv bae holdt på med PHP i noen måneder, men har lært meg litt av hvert. Selvfølgelig er det en lang vei å gå til man blir guru innenfor emnet.

    Har kommet såpass langt at jeg lager mitt eget onlinespill nå, som virkelig begynner å bli bra. Dette er kun for å lære PHP og IKKE for å bli berømt og tjene penger.

  10. Hei! Jeg søker nå en erfaren PHP-programmerer som også er kompetent innen MySQL. Kan jo litt PHP selv, men denne jobben klarte jeg ikke...

    Jobben er ikke så stor, den består kun av å legge til en modul i CMSet Drupal og få den til å virke + å kjøre litt ekstra spørringer som allerede er skrevet mot min MySQL-database (tror det er syv stykker).

    Dette er hva jobben består av. Det dere skal ha gjort for å få betalt er enkelt å greit det som står i guiden på denne siden: http://drupal.org/node/44977

     

    Betaling blir vi enige om så ta kontakt på PM :)

×
×
  • Opprett ny...