Avatar billede sito Nybegynder
04. marts 2003 - 14:14 Der er 7 kommentarer og
1 løsning

function og switch

Hej

Jeg forsøger at lave et program der kan vise brugeren hvad ugedag det er, hvis han indtaster et tal mellem 1 og 7 i en formular, men kan ikke få det til at virke :-(

Mit php script:


<?
       
function ugedag ($dg)
{
switch ($dg){   
case 1 : echo "Mandag";
break;
case 2 : echo "Tirsdag";
break;
case 3 : echo "Onsdag";
break;
case 4 : echo "Torsdag";
break;
case 5 : echo "Fredag";
break;
case 6 : echo "Lørdag";
break;
case 7 : echo "Søndag";
break;                        default : echo "Ukendt dag. Du har indtastet et tal der er mindre end 1 eller større end 7.";
}       
}
?>
   

og min formular:

<form method="post" action="ugedag.php">
<input type="text" name="dg">
<input type="submit" value="check">
</form>

Jeg har ikke lavet nogen funktion ved siden af, der hedder "ugedag", men har fået at vide at det ikke er nødvendigt...

Håber i kan hjælpe :-)
Avatar billede sito Nybegynder
04. marts 2003 - 14:27 #1
Jeg har prøvet at fjerne funktionen, og tildele casene værdier, fx
case $dg = 1 : echo "onsdag";
break;

og så virker det... men jeg skal altså have funktionen med...
Avatar billede stalle Nybegynder
04. marts 2003 - 14:50 #2
Prøv det her:


<?
     
function ugedag ($dg)
{
$dg = $_POST['dg'];

switch ($dg){
 
case "1" : echo "Mandag";
break;

case "2" : echo "Tirsdag";
break;

case "3" : echo "Onsdag";
break;

case "4" : echo "Torsdag";
break;

case "5" : echo "Fredag";
break;

case "6" : echo "Lørdag";
break;

case "7" : echo "Søndag";
break;

default : echo "Ukendt dag. Du har indtastet et tal der er mindre end 1 eller større end 7.";
}     
}
?>
Avatar billede sito Nybegynder
04. marts 2003 - 14:54 #3
Det virker heller ikke. Får ingen output.
Avatar billede hsg Nybegynder
04. marts 2003 - 15:03 #4
Din checkkode ligger i en function.
Så din php kode skal kalde den funktion.
Fx
<?
if (isset($_POST['cmd'])) {
$cmd = $_POST['cmd'];
if (strcasecmp($cmd,'check') == 0)
  ugedag($_POST['dg']);
}

function ugedage($dg) {
}

?>
<form method="post" action="ugedag.php">
<input type="text" name="dg">
<input type="submit" name="cmd" value="check">
</form>
Avatar billede sito Nybegynder
04. marts 2003 - 15:13 #5
okay, det virkede. Men har ingen anelse om hvad det betyder :-)
Hvis jeg nu har reg-globals til at være "on", hvad skal der så stå?
Avatar billede hsg Nybegynder
04. marts 2003 - 15:20 #6
En funktion bliver ikke bare automatisk eksekveret. Den skal kaldes.
reg-globals har - så vidt jeg lige ser det - ingen betydning for koden.
Avatar billede sito Nybegynder
04. marts 2003 - 16:16 #7
kan det passe at den kun virker en gang?det er jo ikke meningen...har prøvet at køre den, og den virkede, og da jeg kørte den igen virkede den ikke mere...?
Avatar billede hsg Nybegynder
04. marts 2003 - 22:13 #8
Har selv testet og det virker ganske fint. Også flere gange
Hvordan ser din kode ud ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester