Avatar billede dytti Novice
28. oktober 2009 - 11:07 Der er 2 kommentarer og
1 løsning

advarsel ved nulværdi

Jeg har 2 checkboxe:
<input type="checkbox" name="værdi[]" value="ja">
<input type="checkbox" name="værdi[]" value="nej">

Når jeg køre dette:
<?php
$værdi=$_SESSION['værdi'];
foreach ($værdi as $værdier)
{
echo "$værdier";
}
?>

Får jeg denne advarsel:         
"Warning: Invalid argument supplied for foreach()"

Men kun hvis jeg ikke udfylder nogen af checkboxene.

1. Hvordan slipper jeg af med den advarsel?
2. Hvordan adskiller jeg de 2 værdier med en bindestreg, så de ikke står op ad hinanden ved "echo"
Avatar billede intenz Novice
28. oktober 2009 - 11:13 #1
Først og fremmeste skal du ikke bruge æ i dine variable (eller andre danske tegn), brug ae f.eks. i stedet.
Jeg bruger stadig dine æ variabler her i eksemplet, for læsbarhed.

1.
Det giver fejlen fordi du prøver at lave en foreach på et tomt array. Tjek om det er tomt inden du kører løkken.
if (!empty($værdi)) {
foreach ($værdi as $værdier)
{
  echo "$værdier";
}
}

2.
Hvis du bare skal have udskrevet alle variabler i et array og adskildt dem med f.eks. en bindestreg er implode en bedre løsning:
http://dk.php.net/manual/en/function.implode.php

Så du får denne kode:
if (!empty($værdi)) {
echo implode(" - ", $værdier);
}
Avatar billede intenz Novice
28. oktober 2009 - 11:13 #2
Hov, det var et svar
Avatar billede dytti Novice
28. oktober 2009 - 11:52 #3
Let og hurtigt.
Jeg takker på egne vejne ;-)
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