Gå til innhold

Hjelp til å gjøre ferdig et matte script.


Anbefalte innlegg

Skrevet (endret)

Dette scriptet lager jeg for å øve meg, innenfor php.

 

Det er et mattescript - som regner ut arealet av sirkelen, ved hjelp av radiusen.

 

Men når jeg velger benevning (millimeter) ifra nedtrekslisten. Og når jeg trykker "regn ut" kommer "Array" opp i stedenfor "mm, (millimeter)".

 

 

Hva er galt ?

 

 

Koden:

<?php

if(isset($_POST["regn"])) {

$radius = $_POST["radius"];
$benevning = $_POST["benevning"];
$tallet_pi = 3.1415;
$sirkel_areal = $tallet_pi * $radius * $radius;

echo "<center><div class=\"resultat\">Sirkelen med radius <u>$radius $benevning</u> har arealet: <u>$sirkel_areal $benevning</u></div></center><br><br><br>";

}

?>

<?php
echo "
<center>
<div class=\"hoved\">
<form action=\"\" method=\"post\">
Antall mm/cmm osv.. i radius, skriv kun tallet. Eks \"122\"<br>
<input type=\"text\" name=\"radius\" />
mm <select multiple name=\"benevning[]\" size=\"3\">
<option value=\"mm\">Millimeter
</select>
<input type=\"submit\" value=\"Regn ut\" name=\"regn\" />
</form>
</div>
</center>
"
?>

 

 

Noe som ble uklart ? Fyr løs.. :thumbup:

Endret av php_user
Videoannonse
Annonse
Skrevet (endret)

Takker :)

 

 

Nå funker scriptet som det skal!

 

 

 

Her er koden, jeg bruker nå:

<?php

if(isset($_POST["regn"])) {

$radius = $_POST["radius"];
$benevning = $_POST["benevning"];
$tallet_pi = 3.1415;
$sirkel_areal = $tallet_pi * $radius * $radius;

if(empty($radius)) {
echo "<center><div class=\"resultat\"><b><font color=\"red\">* Du skrev ikke inn radiusen!</font></div></center><br><br><br>";
}
elseif(empty($benevning)) {
echo "<center><div class=\"resultat\"><b><font color=\"red\">* Du valgte ingen benevning!</font></div></center><br><br><br>";
}
else{
echo "<center><div class=\"resultat\">Sirkelen med radius <u>$radius $benevning</u> har arealet: <u>$sirkel_areal $benevning</u></div></center><br><br><br>";
}
}

?>

<?php
echo "
<center>
<div class=\"hoved\">
<form action=\"\" method=\"post\">
<strong><u>Antall mm/cmm osv.. i radius, skriv kun tallet. Eks \"122\"</u></strong><br>
<input type=\"text\" name=\"radius\" /><br>
<strong><u>Benevning:</u></strong><br><select name=\"benevning\" size=\"5\">
<option value=\"mm\">Millimeter
<option value=\"cm\">Centimeter
<option value=\"m\">Meter
<option value=\"km\">Kilometer
<option value=\"mil\">Mil
</select><br>
<input type=\"submit\" value=\"Regn Ut..\" name=\"regn\" />
</form>
</div>
</center>
"
?>

Endret av php_user
Gjest Slettet+1374861
Skrevet (endret)

Bedre forslag er vel å benytte $benevning[0] siden "multiple" er spesifisert i select-taggen. Går med grunnlag av det ut fra at flere vil bli lagt til ved ett senere tidspunkt...?

Hvis det ikke var multiple hadde å fjerne [] vert en naturlig løsning.

 

--og innen jeg posta hadde han seff løst det ved å fjerne multiple også :p

Endret av Slettet+1374861
Skrevet (endret)

Finnes det noen funksjon i php, der man bare kan skrive tall (i et tekstfelt) ?

 

EDIT: *

 

 

Fikk det til nå! Kom på at nm hadde et slikt javascript :p

Endret av php_user
Gjest Slettet+1374861
Skrevet
Finnes det noen funksjon i php, der man bare kan skrive tall (i et tekstfelt) ?

 

EDIT: *

 

 

Fikk det til nå! Kom på at nm hadde et slikt javascript :p

Tenker du å bruke javascript til å begrense input via felter i en form?

BIG mistake. Vertfall hvis du noensinne tror at du skal bruke det til noe fornuftig. Selvom jeg tipper dette er på ett såpass eksperimentelt nivå at det ikke har noe å si MÅ du ha en sjekk ETTER at det har blitt sendt på at det er 'snill' input. Fins ikke en garanti i verden for at javascript luker ut ting.

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...