En php Nybörjare (miniräknare)

Avdelningen för webbrelaterad programmering och grafisk design.
Post Reply
KaptenBeaver
Posts: 38
Joined: 2007-04-27 0:23:02

En php Nybörjare (miniräknare)

Post by KaptenBeaver »

Hej allihop!
Tänkte lära mig php och tänkte börja göra en miniräknare. Har läst lite grunder och så men har svårt för att få begrepp om det hela. Finns det nån vänlig själ här som kan beskriva hur man gör en ytterst enkel sådan i php för att få lite kött på benen.

Vh:Kaptenbeaver
User avatar
Raspberry
Posts: 1808
Joined: 2006-06-16 19:51:58

Re: En php Nybörjare (miniräknare)

Post by Raspberry »

Win7 Ulti x64 | 22" Wide | E8400@3.0GHz | 4GB | HD4850 | Raptor 34GB; Spinpoint F3 1TB; My Book Essential 1TB; My Passport Essential 250 GB; Barracuda 750 GB
KaptenBeaver
Posts: 38
Joined: 2007-04-27 0:23:02

Re: En php Nybörjare (miniräknare)

Post by KaptenBeaver »

Tack för svar!

Det där funkar bra! Men hur skulle jag gå tillväga om jag vill få svaret displayat på samma sida,
echo'ar jag ut annorlunda då?

Klurigt detta :)
m3l0dy
Posts: 25
Joined: 2002-06-05 12:06:31
Contact:

Re: En php Nybörjare (miniräknare)

Post by m3l0dy »

Är lite klurigare än så att få resultatet visat på html sidan.
Då måste du skriva lite php-kod även där.
Kollade bara lite snabbt på miniräknaren, men en lösning är att göra så här:
Inkludera php-filen i htmldokumentet.
Ge något av text-fälten $result som förinställt värde.
Inte så utförlig förklaring, men målet var väl att du skulle lära dig själv? :)
KaptenBeaver
Posts: 38
Joined: 2007-04-27 0:23:02

Re: En php Nybörjare (miniräknare)

Post by KaptenBeaver »

m3l0dy wrote:Är lite klurigare än så att få resultatet visat på html sidan.
Då måste du skriva lite php-kod även där.
Kollade bara lite snabbt på miniräknaren, men en lösning är att göra så här:
Inkludera php-filen i htmldokumentet.
Ge något av text-fälten $result som förinställt värde.
Inte så utförlig förklaring, men målet var väl att du skulle lära dig själv? :)
Jovisst nu har jag klurat ut en egen här som funkar fint men får lite varnings tror jag :)

så här ser koden ut atm:

<form method="post" action="">

<p>Tal 1: <input type="text" name="val1" size="10"></p>
<p>Tal 2: <input type="text" name="val2" size="10"></p>

<br />

<input type="radio" name="kalk1" value="addera"> addera<br>
<input type="radio" name="kalk2" value="subtrahera"> subtrahera<br>
<input type="radio" name="kalk3" value="multiplicera"> multiplicera<br>
<input type="radio" name="kalk4" value="dividera"> dividera</p>
<p><input type="submit" name="submit" value="Svar"></p>

</form>

och php-koden:

<?php

if
($_POST[kalk1] == "addera")
{$result = $_POST[val1] + $_POST[val2];}

else if ($_POST[kalk2] == "subtrahera")
{$result = $_POST[val1] - $_POST[val2];}

else if ($_POST[kalk3] == "multiplicera")
{$result = $_POST[val1] * $_POST[val2]; }

else if ($_POST[kalk4] == "dividera")
{$result = $_POST[val1] / $_POST[val2];}

echo "<p>svaret är: $result </p>";

?>

Det är dessa jag får

Notice: Use of undefined constant kalk1, kalk2, kalk3, kalk4
Notice: Undefined index: kalk1,kalk2. kalk3, kalk4
Notice: Undefined variable: result in ..

Nån vänligt själ som vet varför jag får dessa? :)
User avatar
linc
Administratör
Posts: 7602
Joined: 2002-02-13 22:22:11
Location: Skåneland
Contact:

Re: En php Nybörjare (miniräknare)

Post by linc »

KaptenBeaver wrote:Det är dessa jag får

Notice: Use of undefined constant kalk1, kalk2, kalk3, kalk4
Notice: Undefined index: kalk1,kalk2. kalk3, kalk4
Notice: Undefined variable: result in ..

Nån vänligt själ som vet varför jag får dessa? :)

Det är för att du använder konstanter som nyckel till dina arrayer, t ex $_POST[kalk2]. När man skriver på det sättet så tolkar PHP det som att "kalk2" är en konstant och försöker leta upp den bland definierade konstanter. Eftersom de inte finns som definierade konstanter varnar PHP för det.

Den sista varningen du får är för att $result aldrig blivit definierad eftersom ingen kod i dina if-satser har blivit exekverad.

Sätt ' runt dina nycklar så ska du se att varningarna försvinner, t ex $_POST['kalk2'].
hej.
KaptenBeaver
Posts: 38
Joined: 2007-04-27 0:23:02

Re: En php Nybörjare (miniräknare)

Post by KaptenBeaver »

Fredrik Ågren wrote:
KaptenBeaver wrote:Det är dessa jag får

Notice: Use of undefined constant kalk1, kalk2, kalk3, kalk4
Notice: Undefined index: kalk1,kalk2. kalk3, kalk4
Notice: Undefined variable: result in ..

Nån vänligt själ som vet varför jag får dessa? :)

Det är för att du använder konstanter som nyckel till dina arrayer, t ex $_POST[kalk2]. När man skriver på det sättet så tolkar PHP det som att "kalk2" är en konstant och försöker leta upp den bland definierade konstanter. Eftersom de inte finns som definierade konstanter varnar PHP för det.

Den sista varningen du får är för att $result aldrig blivit definierad eftersom ingen kod i dina if-satser har blivit exekverad.

Sätt ' runt dina nycklar så ska du se att varningarna försvinner, t ex $_POST['kalk2'].

Grym! Tack :)

Jag har gett mig in på databaser nu och försöker hitta en bra tutorial. Det finns ju 1000 olika och många brister i kvalité tycker jag. Det känns som man kan lära sig på fel sätt, eller har jag fel? Herr Fredrik Ågren eller någon annan kanske har en bra länk till en idiot-säker tutorial som går igenom databaser och hämta data ifrån dom för att slänga upp på en sida, det hade varit toppen.

Vh: Kaptenbeaver
m3l0dy
Posts: 25
Joined: 2002-06-05 12:06:31
Contact:

Re: En php Nybörjare (miniräknare)

Post by m3l0dy »

KaptenBeaver wrote:Grym! Tack :)

Jag har gett mig in på databaser nu och försöker hitta en bra tutorial. Det finns ju 1000 olika och många brister i kvalité tycker jag. Det känns som man kan lära sig på fel sätt, eller har jag fel? Herr Fredrik Ågren eller någon annan kanske har en bra länk till en idiot-säker tutorial som går igenom databaser och hämta data ifrån dom för att slänga upp på en sida, det hade varit toppen.

Vh: Kaptenbeaver
http://www.w3schools.com/php/php_mysql_intro.asp
Post Reply