En php Nybörjare (miniräknare)

Avdelningen för webbrelaterad programmering och grafisk design.
Skriv svar
KaptenBeaver
Inlägg: 38
Blev medlem: 2007-04-27 0:23:02

En php Nybörjare (miniräknare)

Inlägg av KaptenBeaver » 2009-09-25 3:26:44

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

Användarvisningsbild
Raspberry
Inlägg: 1808
Blev medlem: 2006-06-16 19:51:58

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

Inlägg av Raspberry » 2009-09-25 9:17:03

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
Inlägg: 38
Blev medlem: 2007-04-27 0:23:02

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

Inlägg av KaptenBeaver » 2009-09-25 14:54:30

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
Inlägg: 25
Blev medlem: 2002-06-05 12:06:31
Kontakt:

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

Inlägg av m3l0dy » 2009-09-27 17:49:19

Ä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
Inlägg: 38
Blev medlem: 2007-04-27 0:23:02

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

Inlägg av KaptenBeaver » 2009-10-08 20:51:25

m3l0dy skrev:Ä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? :)

Användarvisningsbild
linc
Administratör
Inlägg: 7602
Blev medlem: 2002-02-13 22:22:11
Ort: Skåneland
Kontakt:

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

Inlägg av linc » 2009-10-10 18:59:18

KaptenBeaver skrev: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
Inlägg: 38
Blev medlem: 2007-04-27 0:23:02

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

Inlägg av KaptenBeaver » 2009-10-19 22:57:57

Fredrik Ågren skrev:
KaptenBeaver skrev: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
Inlägg: 25
Blev medlem: 2002-06-05 12:06:31
Kontakt:

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

Inlägg av m3l0dy » 2009-10-19 23:20:38

KaptenBeaver skrev: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

Skriv svar