Avatar billede wqazr Nybegynder
11. august 2004 - 19:59 Der er 18 kommentarer og
1 løsning

købe system til community

Hey er der nogle der ligger inde / kan lave så et system tjekker om brugeren har nok credits (i en database) hvis brugeren har nok så kan den købe en skrifttype? og hvis brugeren har under det en skrifttype koster så står der at brugeren ik har råd?
Avatar billede Slettet bruger
11. august 2004 - 20:05 #1
Det skulle vel ikke være så svært.

$query = mysql_query("SELECT credits FROM tabel WHERE user = '$username'") or die(mysql_error());
$row = mysql_fetch_array($query);

if($row['credits'] <= $pris) {
    echo "Du kan købe skrifttypen!";
} else {
    echo "Desværre, du har ikke råd.";
}
Avatar billede Slettet bruger
11. august 2004 - 20:05 #2
Hov - det skal selvfølgelig være:

if($row['credits'] >= $pris) {
Avatar billede Slettet bruger
11. august 2004 - 20:06 #3
if($row['credits'] <= $pris) {

skal vist være

if($row['credits'] >= $pris) {



:)
Avatar billede Slettet bruger
11. august 2004 - 20:08 #4
heh jeps. En lille tastefejl, som kunne have givet store problemer.
Avatar billede Slettet bruger
11. august 2004 - 20:10 #5
MEGET store problemer! Men kunne faktisk være sjovt :)
Avatar billede wqazr Nybegynder
11. august 2004 - 20:24 #6
Får den her fejl:
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /usr/home/whitehat_dk/users/kdp/bruger/butik.php on line 13


Min kode:

<?
session_start();
if(!$_SESSION[userid]) {
include("login.php");
exit;
} else {
include("menu.php");
include("sql.php");

$query = mysql_query("SELECT kroner FROM users WHERE id=".$_SESSION[userid].") or die(mysql_error());
$row = mysql_fetch_array($query);

if($row['kroner'] <= 10) {
$query = mysql_query("UPDATE users SET farve=#ff0000 WHERE id=".$_SESSION[userid]."") or die(mysql_error());
    echo "Du har nu købt farven!";
} else {
    echo "Desværre, du har ikke råd.";
}
}
?>
Avatar billede Slettet bruger
11. august 2004 - 20:26 #7
Prøv med.

$query = mysql_query("UPDATE users SET farve='#ff0000' WHERE id='$_SESSION[userid]'") or die(mysql_error());
Avatar billede wqazr Nybegynder
11. august 2004 - 20:28 #8
Får denne fejl:

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /usr/home/whitehat_dk/users/kdp/bruger/butik.php on line 13
Avatar billede wqazr Nybegynder
11. august 2004 - 20:35 #9
Kan du ik lave det??
Avatar billede Slettet bruger
11. august 2004 - 20:38 #10
Prøv: if($row[kroner] <= "10") {
Avatar billede wqazr Nybegynder
11. august 2004 - 20:45 #11
virker heller ikke
Avatar billede wqazr Nybegynder
11. august 2004 - 20:47 #12
Nu har jeg filen sådan her:

<?
session_start();
if(!$_SESSION[userid]) {
include("login.php");
exit;
} else {
include("menu.php");
include("sql.php");

$query = mysql_query("SELECT kroner FROM users WHERE id=".$_SESSION[userid].") or die(mysql_error());
$row = mysql_fetch_array($query);

$kroner = $row[kroner];

if($kroner <= 10) {
$query = mysql_query("UPDATE users SET farve='#ff0000',kroner='kroner-10' WHERE id='$_SESSION[userid]'") or die(mysql_error());
    echo "Du har nu købt farven!";
} else {
    echo "Desværre, du har ikke råd.";
}
}
?>

får denne fejl:

Parse error: parse error in /usr/home/whitehat_dk/users/kdp/bruger/butik.php on line 16
Avatar billede Slettet bruger
11. august 2004 - 20:48 #13
hmm, jeg skal vist snart have noget kaffe :)

Fejlen må ligge her:
$query = mysql_query("SELECT kroner FROM users WHERE id=".$_SESSION[userid].") or die(mysql_error());

ret den til:
$query = mysql_query("SELECT kroner FROM users WHERE id='$_SESSION[userid]'") or die(mysql_error());

underligt, du ikke fik en sql error, i første omgang.
Avatar billede Slettet bruger
11. august 2004 - 20:49 #14
Hvis dette ikke virker, så må du have en fejl et andet sted i din menu.php eller sql.php
Avatar billede wqazr Nybegynder
11. august 2004 - 20:53 #15
fejlen i select er at der mangler en " til sidst :S
Avatar billede wqazr Nybegynder
11. august 2004 - 20:56 #16
nu prøvede jeg det her:

<?
session_start();
if(!$_SESSION[userid]) {
include("login.php");
exit;
} else {
include("menu.php");
include("sql.php");

$query = mysql_query("SELECT kroner FROM users WHERE id=".$_SESSION[userid]."") or die(mysql_error());
$row = mysql_fetch_array($query);

$kroner = $row[kroner];

if($kroner <= 10) {
    echo "Du har nu købt farven!";
} else {
$query = mysql_query("UPDATE users SET farve='#ff0000',kroner='kroner-10' WHERE id='$_SESSION[userid]'") or die(mysql_error());
    echo "Desværre, du har ikke råd.";
}
}
?>

men den fjlernede alle kroner
Avatar billede Slettet bruger
11. august 2004 - 21:24 #17
Det skal vel også være.

if($kroner >= 10) {
    echo "Du har nu købt farven!";
    $kredit = $kroner - 10;
    $query = mysql_query("UPDATE users SET farve='#ff0000',kroner='$kroner' WHERE id='$_SESSION[userid]'") or die(mysql_error());
} else {
    echo "Desværre, du har ikke råd.";
}
Avatar billede jakoba Nybegynder
11. august 2004 - 22:45 #18
datatyper er vigtige.
    kroner='kroner-10'
ved at skrive anførselstegn rundtom gør du det indimellem til en STRENG. dvs en sekvens af bogstaver.
så der prøver du at sætte feltet kroner til en streng der indeholder de der 9 bogstaver, det går galt hvis feltet kroner er af typen INT (et tal)

med cypermann's sidste forslag vil det måske gå godt, men kun fordi mysql prøver at omdanne strengen '123' (eller hvad tallet nu er indimellem) til et tal. det kan mySQL hitte ud af hvis de bogstaver der står ikker er andet end cifre. Men det er misbrug af sproget.

Du bør vide hvad dine datatyper er, og bruge dem ordentligt.

mvh JakobA
Avatar billede wqazr Nybegynder
12. august 2004 - 19:14 #19
fandt selv ud af det!

KOden:

<?
session_start();
if(!$_SESSION[userid]) {
include("login.php");
exit;
} else {
include("menu.php");
include("sql.php");

$query = mysql_query("SELECT * FROM users WHERE id=".$_SESSION[userid]."") or die(mysql_error());
$row = mysql_fetch_array($query);

$kroner = $row[kroner];


if(100 <= $kroner) {
$pris = $kroner - 100;
$query = mysql_query("UPDATE users SET farve='#ff0000',kroner='$pris' WHERE id='$_SESSION[userid]'") or die(mysql_error());
    echo "Du har nu købt farven!";
} else {

    echo "Desværre, du har ikke råd.";
}
}
?>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester