webForumDet fria alternativet

Need some help!

6 svar · 408 visningar · startad av streetrobban

streetrobbanMedlem sedan jan. 20011 184 inlägg
#1

Jag håller på och testar att göra en sida där man får ett poäng för varje undersida man går in på. Ju mer poäng man har desto fler saker kan man ladda hem för poängen (har några saker man kan välja på beroende på hur många poäng man samlat på sig).

Nu har jag en if sats som krånglar lite, och en så räknar den fel. När man har 10 poäng ska man kunna köpa en sak som kostar 5 poäng, och då ska det dras bort 5 poäng så man har 5 kvar. Men nu räknar den lite fel så man får -5 kvar.

Detta är koden som räknar fel;

<?php

$a = 5;
$b = "$pts";
berakna_summa($a,$b);

function berakna_summa($a,$b) {
global $a, $b, $pts;
$pts = $a - $b;
$a = 5;
echo("Du har $pts poäng, <a href=filer/ron.gif>klicka här för att tanka hem bilden</a>");
}

?>

Sedan har jag lagt till en kontroll som kollar att man har antalet poäng som krävs, koden ser ut så här;

<?php

if ($pts >= 5) {

$a = 5;
$b = "$pts";
berakna_summa($a,$b);

function berakna_summa($a,$b) {
global $a, $b, $pts;
$pts = $a - $b;
$a = 5;
echo("Du har $pts poäng, <a href=filer/ron.gif>klicka här för att tanka hem bilden</a>");
}

} else {
echo("Du måste skaffa lite fler poäng");
}

?>

Koden funkar om man inte har tillräckligt med poäng, men har man det, så får jag följande fel;

Fatal error: Call to undefined function: berakna_summa() in c:\program\apache group\apache\htdocs\shop\bilden.php on line 18

Rad 18;

berakna_summa($a,$b);

Usch, lite kod för er att bita i, men det är väl väldigt lätta saker. Så ni löser det nog fort :D

KimMedlem sedan jan. 20003 571 inlägg
#2

* Använd aldrig citationstecken kring heltal.
* Sen förstår jag inte riktigt, är $b den variabel som innehåller den poäng som man har? I såna fall får du nog vända lite på din uträkning i funktionen berakna_summa().
* Varför ska du göra variabeln $pts global när du ändå skriver över den direkt?

Jaja, testa det här: :)

<?php

$a = 5;
$b = $pts;
berakna_summa($a,$b);

function berakna_summa($a,$b) {
global $a, $b, $pts;
$pts = $b - $a;
$a = 5;
echo("Du har $pts poäng, <a href=filer/ron.gif>klicka här för att tanka hem bilden</a>");
}

?>
streetrobbanMedlem sedan jan. 20011 184 inlägg
#3

Ah, koden räknar rätt nu i alla fall. Men något med IF satsen gör att det blir ett felmeddelande. Så här säger den;

Fatal error: Call to undefined function: berakna_summa() in c:\program\apache group\apache\htdocs\shop\bilden.php on line 18

Och detta är rad 18;

berakna_summa($a,$b);

Hela koden ser ut så här;

<?php
session_start();
?>

<html>
<head>
<title>TEST</title>
</head>

<body>

<?php

if ($pts >= 5) {

$a = 5;
$b = $pts;
berakna_summa($a,$b);

function berakna_summa($a,$b) {
global $a, $b, $pts;
$pts = $b - $a;
$a = 5;
echo("Du har $pts poäng, <a href=filer/ron.gif>klicka här för att tanka hem bilden</a>");
}

} else {
echo("Tyvärr måste du har mer poäng för att titta på bilden.");
}

?>

</body>
</html>

$pts är poäng man samlar på sig när man surfar runt på sidan.

PicklezzMedlem sedan jan. 2002448 inlägg
#4

Hallå

Testa att flytta ur funktionen ur IF-satsen så fungerar det nog (enligt mina egna funderingar ) :birp

streetrobbanMedlem sedan jan. 20011 184 inlägg
#5

Vad menar du? Jag måste ha IF satsen för att kolla om personen har tillräckligt med poäng för att ladda hem bilden.

PicklezzMedlem sedan jan. 2002448 inlägg
#6

Testa så här...

<?php
session_start();
?>

<html>
<head>
<title>TEST</title>
</head>

<body>

<?php
function berakna_summa($a,$b) {
global $a, $b, $pts;
$pts = $b - $a;
$a = 5;
echo("Du har $pts poäng, <a href=filer/ron.gif>klicka här för att tanka hem bilden</a>");
}

if ($pts >= 5) {

$a = 5;
$b = $pts;
berakna_summa($a,$b);

} else {
echo("Tyvärr måste du har mer poäng för att titta på bilden.");
}

?>

</body>
</html>
streetrobbanMedlem sedan jan. 20011 184 inlägg
#7

Jag lyckades fixa det själv till slut, men tack för hjälpen! Nästa steg blir att slumpa fram antalet poäng man får på varje sida, och sedan göra så att man bara kan få poäng en gång per sida. Någon? :e

Genererad på 383 ms · cache AV · v20260730165559-full.f96bc7eb