vad är fel

Avdelningen för webbrelaterad programmering och grafisk design.
Post Reply
User avatar
narius
Posts: 1475
Joined: 2002-03-08 14:47:53
Location: Katrineholm
Contact:

vad är fel

Post by narius »

jag håller på med ett script där man ska kaunn mata in sin lön ich hur mycket man vill tjäna. sen räknar det ut hur många dagar man måste jobba.
men det funkar inte
här är koden.
detta är jobbat form.php

Code: Select all

<html>

<head>
  <title></title>
</head>

<body>
<form action="jobbat.php" method="post">
<input type="text" value="100" name="vill_ha">
<input type="text" value="10" name="lon">
<input type="submit" value="Send">
</form>

</body>

</html>
detta är jobbat.php

Code: Select all


<html>

<head>
  <title></title>
</head>

<body>

<?php

$vill_ha=$_post=vill_ha;
$lon_per_dag=$_post=lon;
$har=0;
$dagar_jobbat=0;

do
	$dagar_jobbat++;
    $har=$lon_per_dag+$har;
while($vill_ha<$har)

echo "$dagar_jobbat"


?>

</body>

</html>
En normal person har ett liv.
En nörd har ett i varje dator.
User avatar
thr
Posts: 1242
Joined: 2002-06-26 22:55:24
Location: Skene
Contact:

Re: vad är fel

Post by thr »

Code: Select all

<?php

$vill_ha=$_POST['vill_ha'];
$lon_per_dag=$_POST['lon'];
$har=0;
$dagar_jobbat=0;

do{
	$dagar_jobbat++;
    $har=$lon_per_dag+$har;
}
while($vill_ha<$har)

echo "$dagar_jobbat"

?>
$_post="namn" ska vara:
$_POST['namn'], alltid med stira bokstäver.
Do-while behöver klammrar runt sig, fast jag skulle kört en vanliga while istället.


Gjorde ett litet exempel, inte exakt samma sak som du ville men det kanske hjälper:
http://thr.ath.cx/din_lon.php
(räknar ut hur många timmar du måste jobba beroende på lön && timlön)
User avatar
Niklas Berggren
Hedersbit
Posts: 3524
Joined: 2002-03-08 17:53:04
Location: Göteborg (Skövde)
Contact:

Post by Niklas Berggren »

Som jag sa i en annan post, läs thrs PHP-tutorial, även om han tar upp saker i lite skum ordning (min åsikt) så är den ändå lärorik för en nybörjare.

Till ditt problem;
$vill_ha=$_post=vill_ha; ska vara $vill_ha=$_POST["vill_ha"];
$lon_per_dag=$_post=lon; ska vara $lon_per_dag=$_POST["lon"];

Sen skulle jag nog föredra en vanlig while() istället för do...while.

Som sagt, läs thr's artikel. Alt. manualen, en guldgruva.
Nästa gång du behöver hjälp kan det vara bra att veta vad felet är; felmeddelanden etc.
Last edited by Niklas Berggren on 2003-04-29 9:59:18, edited 1 time in total.
"How about the government sticks to courts, police, defense and corruption and leave compassion to the people who have it?" - Penn Jillette.
User avatar
narius
Posts: 1475
Joined: 2002-03-08 14:47:53
Location: Katrineholm
Contact:

Post by narius »

Nicke. wrote:Som sagt, läs thr's artikel.
det står inte hur man matar in värden i variabler där.

/Narius
En normal person har ett liv.
En nörd har ett i varje dator.
User avatar
narius
Posts: 1475
Joined: 2002-03-08 14:47:53
Location: Katrineholm
Contact:

Post by narius »

fel fortfarande.

Code: Select all

<html>

<head>
  <title></title>
</head>

<body>

<?php

$vill_ha=$_POST['vill_ha'];
$lon_per_dag=$_POST['lon'];
$har=0;
$dagar_jobbat=0;

do
	$dagar_jobbat++;
    $har=$lon_per_dag+$har;
while($vill_ha<$har)
?><br><br><?php
echo $dagar_jobbat;


?>

</body>

</html>
felmedelande:
Parse error: parse error, expecting `T_WHILE' in jobbat.php on line 18

jag ska väl också försvara mitt användade av do while

anledning är att man måste jobba minst en dag.

om jag tex skulle mata in 100 som lön och 100 som vill_ha så skulle ju jag behöva jobba 0 dagar. villket inte är sant jag måste jag jobba minst en dag.

/Narius
En normal person har ett liv.
En nörd har ett i varje dator.
User avatar
Niklas Berggren
Hedersbit
Posts: 3524
Joined: 2002-03-08 17:53:04
Location: Göteborg (Skövde)
Contact:

Re: vad är fel

Post by Niklas Berggren »

thr wrote:Do-while behöver klammrar runt sig
"How about the government sticks to courts, police, defense and corruption and leave compassion to the people who have it?" - Penn Jillette.
User avatar
narius
Posts: 1475
Joined: 2002-03-08 14:47:53
Location: Katrineholm
Contact:

Re: vad är fel

Post by narius »

Nicke. wrote:
thr wrote:Do-while behöver klammrar runt sig
nu fick jag detta fel medelande.

Notice: Undefined index: vill_ha in E:\Documents and Settings\administratör\Skrivbord\marcus\phpsaker\jobbat.php on line 11

Notice: Undefined index: lon in E:\Documents and Settings\administratör\Skrivbord\marcus\phpsaker\jobbat.php on line 12
En normal person har ett liv.
En nörd har ett i varje dator.
User avatar
IcePic
Hedersbit
Posts: 6061
Joined: 2002-03-08 16:09:38

Post by IcePic »

narius wrote: jag ska väl också försvara mitt användade av do while
anledning är att man måste jobba minst en dag.
om jag tex skulle mata in 100 som lön och 100 som vill_ha så skulle ju jag behöva jobba 0 dagar. villket inte är sant jag måste jag jobba minst en dag.
/Narius
$har kommer vara 0 första varvet om du har "while", så den måste gå ett
varv ändå.
Oh give me a clone, my very own clone,
with the Y chromosome changed to X!
And since she's my own, of my own flesh and bone,
she'll be thinking of nothing but sex!
User avatar
narius
Posts: 1475
Joined: 2002-03-08 14:47:53
Location: Katrineholm
Contact:

Post by narius »

IcePic wrote:
narius wrote: jag ska väl också försvara mitt användade av do while
anledning är att man måste jobba minst en dag.
om jag tex skulle mata in 100 som lön och 100 som vill_ha så skulle ju jag behöva jobba 0 dagar. villket inte är sant jag måste jag jobba minst en dag.
/Narius
$har kommer vara 0 första varvet om du har "while", så den måste gå ett
varv ändå.
om du kollar på denna kod snutt

Code: Select all

$har=$lon_per_dag+$har;
villket gör att $har plusas på med $lon_per_dag.
Det gör ju att $har får ett värde direkt.

/Narius
En normal person har ett liv.
En nörd har ett i varje dator.
User avatar
MadModder
Posts: 3297
Joined: 2002-03-20 19:43:10
Location: Madland
Contact:

Post by MadModder »

Nu kommer jag och förstör alltihop :P
Men någon while å grejer skulle iaf inte jag använda. :)
Dessutom räcker det med en enda fil, och skicka siffrorna till sig själv, så att säga.

Code: Select all

<html>

<head>
<title>Räknare</title>
</head>

<body>
<form method="post"> 
Vill ha: 
<input type="text" value="100" name="vill_ha" size="20">
Lön per dag: 
<input type="text" value="10" name="lon" size="20"> 
<input type="submit" value="Send"> 
</form>

<?php

// plocka in de postade variablerna

$lon=$HTTP_POST_VARS['lon'];
$vill_ha=$HTTP_POST_VARS['vill_ha'];

// om man skrivit nånting större än noll i båda textrutorna. && = AND. Annars hoppa över alltihop.

if ($lon>0 && $vill_ha>0) {

// räkna ut antal hela dagar genom att dela beloppet du vill ha med daglönen och avrunda uppåt oavsett decimalstorlek, med ceil.

	$dagar=ceil($vill_ha/$lon);

// räkna ut hur myckt du igentligen tjänat under de hela antalet dagar

	$tjanat=$dagar*$lon;

// Visa resultatet

	echo "\n<br>Med $lon kronor per dag måste du jobba $dagar dagar för att få ihop till $vill_ha kronor.\n<br>";

// om det igentliga beloppet är större än det du vill ha

	if ($tjanat>$vill_ha) {
		echo "Efter dag $dagar har du tjänat ihop ".($tjanat-$vill_ha)." kronor mer än vad du vill ha.";
	}
}
?>

</body>

</html>
[edit] Ok, det där var off topic.... ::)
[edit igen] Heh... missade den där timlöngrejen där i thr's inlägg :-/ Får skylla på att jag är kass i magen och inte kan koncentrera mig ;D
[edit 3] Sådär, med kommentarer.
Last edited by MadModder on 2003-04-29 19:34:11, edited 3 times in total.
User avatar
narius
Posts: 1475
Joined: 2002-03-08 14:47:53
Location: Katrineholm
Contact:

Post by narius »

MadModder wrote:Nu kommer jag och förstör alltihop :P
Men någon while å grejer skulle iaf inte jag använda. :)
Dessutom räcker det med en enda fil, och skicka siffrorna till sig själv, så att säga.

Code: Select all

<html>

<head>
<title>Räknare</title>
</head>

<body>
<form method="post"> 
Vill ha: 
<input type="text" value="100" name="vill_ha" size="20">
Lön per dag: 
<input type="text" value="10" name="lon" size="20"> 
<input type="submit" value="Send"> 
</form>

<?php

$lon=$HTTP_POST_VARS['lon'];
$vill_ha=$HTTP_POST_VARS['vill_ha'];
if ($lon>0 && $vill_ha>0) {
	$dagar=ceil($vill_ha/$lon);
	$tjanat=$dagar*$lon;
	echo "\n<br>Med $lon kronor per dag måste du jobba $dagar dagar för att få ihop till $vill_ha kronor.\n<br>";
	if ($tjanat>$vill_ha) {
		echo "Efter dag $dagar har du tjänat ihop ".($tjanat-$vill_ha)." kronor mer än vad du vill ha.";
	}
}
?>

</body>

</html>
[edit] Ok, det där var off topic.... ::)
det vore snällt med lite komentarer i koden.

/Narius
En normal person har ett liv.
En nörd har ett i varje dator.
User avatar
thr
Posts: 1242
Joined: 2002-06-26 22:55:24
Location: Skene
Contact:

Post by thr »

Narius, absolut inte för att vara elak, men:
Om du inte kan förstå koden som madmodder paste:ade så kanske du bör börja med simplare script? :/
User avatar
MadModder
Posts: 3297
Joined: 2002-03-20 19:43:10
Location: Madland
Contact:

Post by MadModder »

thr wrote:Narius, absolut inte för att vara elak, men:
Om du inte kan förstå koden som madmodder paste:ade så kanske du bör börja med simplare script? :/
Jag tänkte säga precis detsamma, men tänkte att det kanske var taskigt, så jag drog in lite kommentarer, hehe.

Men iaf, det skadar inte att använda vanlig enkel mattematik för att räkna ut saker. Det är ju det det är till för.

Narius, om du t.ex vet att du tar exakt 150 steg för att gå från ditt hus till din polares hus, och undrar hur många gånger du kan gå fram och tillbaks med 2000 steg. Går du då 2000 steg och ser hur många gånger det blev? ;)
User avatar
narius
Posts: 1475
Joined: 2002-03-08 14:47:53
Location: Katrineholm
Contact:

Post by narius »

madmodder:
nu när jag tog mig tid och kollade igenom koden ordentligt så fårstod jag nästan hela koden udan det där

ceil på rad 21. Skulle du kunan förklara det för mig är du jätte snäll.

/Narius

Tackar alla snälla personer på detta forum.

/Narius
En normal person har ett liv.
En nörd har ett i varje dator.
User avatar
thr
Posts: 1242
Joined: 2002-06-26 22:55:24
Location: Skene
Contact:

Post by thr »

$var = 23.82

echo ceil($var);
// skulle skriva ut 24

echo floor($var);
// skulle skriva ut 23


ceil(); = avrundar uppåt
floor(); = avrundar neråt
User avatar
Niklas Berggren
Hedersbit
Posts: 3524
Joined: 2002-03-08 17:53:04
Location: Göteborg (Skövde)
Contact:

Post by Niklas Berggren »

narius wrote:madmodder:
nu när jag tog mig tid och kollade igenom koden ordentligt så fårstod jag nästan hela koden udan det där

ceil på rad 21. Skulle du kunan förklara det för mig är du jätte snäll.

/Narius

Tackar alla snälla personer på detta forum.

/Narius
http://www.php.net/manual/en/function.(whatever).php
Såfort du ser en funktion du inte har en aning om vad du gör kollar du här, ersätt (whatever) med funktionsnamnet bara.
http://www.php.net/manual/en/function.ceil.php t.ex.
"How about the government sticks to courts, police, defense and corruption and leave compassion to the people who have it?" - Penn Jillette.
User avatar
thr
Posts: 1242
Joined: 2002-06-26 22:55:24
Location: Skene
Contact:

Post by thr »

Nicke. wrote:
narius wrote:madmodder:
nu när jag tog mig tid och kollade igenom koden ordentligt så fårstod jag nästan hela koden udan det där

ceil på rad 21. Skulle du kunan förklara det för mig är du jätte snäll.

/Narius

Tackar alla snälla personer på detta forum.

/Narius
http://www.php.net/manual/en/function.(whatever).php
Såfort du ser en funktion du inte har en aning om vad du gör kollar du här, ersätt (whatever) med funktionsnamnet bara.
http://www.php.net/manual/en/function.ceil.php t.ex.
http://www.php.net/manual/en/function.(whatever).php
observera att om funktionen innehåller _ typ: mysql_query så ska det skrivas såhär:
mysql-query istället, alltså byt ut _ mot - när du gör som Nicke sa.
User avatar
linc
Administratör
Posts: 7602
Joined: 2002-02-13 22:22:11
Location: Skåneland
Contact:

Post by linc »

Äh, är enklare att bara gå till http://www.php.net/funktionsnamn, så söker den själv upp det.

T ex: http://www.php.net/mysql_connect
hej.
User avatar
thr
Posts: 1242
Joined: 2002-06-26 22:55:24
Location: Skene
Contact:

Post by thr »

linc iof.. alltid det jag gör - varför sa jag inte det ? :P
User avatar
narius
Posts: 1475
Joined: 2002-03-08 14:47:53
Location: Katrineholm
Contact:

Post by narius »

Nicke. wrote:
narius wrote:madmodder:
nu när jag tog mig tid och kollade igenom koden ordentligt så fårstod jag nästan hela koden udan det där

ceil på rad 21. Skulle du kunan förklara det för mig är du jätte snäll.

/Narius

Tackar alla snälla personer på detta forum.

/Narius
http://www.php.net/manual/en/function.(whatever).php
Såfort du ser en funktion du inte har en aning om vad du gör kollar du här, ersätt (whatever) med funktionsnamnet bara.
http://www.php.net/manual/en/function.ceil.php t.ex.
Det visste jag inte.

Ska komma ihåg det.

/Narius
En normal person har ett liv.
En nörd har ett i varje dator.
Post Reply