Avatar billede NielsErikP Mester
16. april 2012 - 22:46 Der er 18 kommentarer og
1 løsning

Tjek om "CheckBoexes" er Chekked..!!

Hej...

Lidt hjælp til en famlen i blinde...
Kan ikke lige se, hvordan man via php tjekker om denne er "Chekked" eller ej...



<input type="checkbox" name="Ch1" value="1" >Navn >



Håber der er en der kan give lidt hjælp, evt. et godt sted der kan læses om det.

På forhånd tak!
Avatar billede Slettet bruger
16. april 2012 - 22:53 #1
PHP  : if ($_POST['Ch1'] == "1")
JS      : if (document.formNavn.Ch1.checked == true)
Avatar billede NielsErikP Mester
16. april 2012 - 23:36 #2
Hej....

Er lidt lige langt, med if($_POST['Ch1']== "1" .. får jeg meldingen undefined index i linje xxx
Avatar billede olebole Juniormester
16. april 2012 - 23:41 #3
<ole>

Det er en fejl, du får, når der ikke er posted til filen. Du undgår det ved:

if (!empty($_POST) && $_POST['Ch1']=='on') {

}

- og læg mærke til, at værdien er on ikke 1, når boksen er checked  *o)

/mvh
</bole>
Avatar billede NielsErikP Mester
17. april 2012 - 00:11 #4
Hej...
Ole trede egentligt at det man satte som value var der værdi der returneres når boxen var "Checkked"...
Jeg får stadig ikke det forventede resultat, så jeg må nok smide lidt mere kode, det jeg gerne vil er at sætte variablen $status til true , hvis boxen er "Chekked" ellers til false. 

Kode :

function PictReturn($pict, $status) {
    if($status == false){
        return "<img src='/billeder/default1.jpg'>";
    }
    elseif ($status == true){
        $email= md5( strtolower( trim("$pict") ) );
        return "<img src='http://www.gravatar.com/avatar/" .$email . ".jpg?size=50'>";
    }else {
        return false;
    }
}


så vil jeg spørge på denne måde :

if(!empty($_POST) && $_POST['Ch1']=='on') {
                $status = true;
            } else {
                $status = false;
            }



og kalde funktionen med :

$pict = $data["email"];

echo PictReturn($pict, $status);



Men problemet er at den kun indsætter billedet default1.jpg ligemeget om den er "Chekked" eller ej.
Avatar billede dmdisco Nybegynder
17. april 2012 - 00:13 #5
det er fordi at det er value der bliver returneret det er kun hvis value ikke er sat at on bliver returneret
Avatar billede dmdisco Nybegynder
17. april 2012 - 00:14 #6
if(!empty($_POST) && $_POST['Ch1']=='1') {
                $status = true;
            } else {
                $status = false;
            }

skulle gøre forskellen
Avatar billede olebole Juniormester
17. april 2012 - 00:16 #7
Sorry, jeg havde ikke set, du havde sat værdien på feltet  =)
Avatar billede dmdisco Nybegynder
17. april 2012 - 00:17 #8
jeg ville dog nok tjekke på om den rigtige værdi var sat, istedet for om $_POSt var sat, så der ikke sker en fejl hvis du har andre post vars der bliver sendt men ikke checkboksen.

if (isset($_POST['Ch1']) && $_POST['Ch1'] == 1) {
  $status = true;
} else {
  $status = false;
}
Avatar billede dmdisco Nybegynder
17. april 2012 - 00:18 #9
>ole nænnede næsten ikke at sige det :P
Avatar billede NielsErikP Mester
17. april 2012 - 00:27 #10
Hej...

#8: Dette havde jeg sådan set prøvet, kunne heller ikke forstå det ikke virkede, men det må jo så være som du siger fordi der er sat value på.
Avatar billede olebole Juniormester
17. april 2012 - 00:28 #11
#9: Det kan man også, selvom de to fremgangsmåder ikke nødvendigvis har helt samme resultat  =)
Avatar billede olebole Juniormester
17. april 2012 - 00:31 #12
Normalt ville jeg gøre sådan:

if (!empty($_POST)) {
    // Evt. kode, der har med en post at gøre

    if ($_POST['Ch1']=='1') {
        // Checkbox sat
    }

    // Evt. mere kode, der har med en post at gøre
}
Avatar billede olebole Juniormester
17. april 2012 - 00:32 #13
- og er det ikke nødvendigt, kan man i virkeligheden bare skrive:

if (isset($_POST['Ch1'])) {
  $status = true;
} else {
  $status = false;
}
Avatar billede NielsErikP Mester
17. april 2012 - 00:48 #14
Hej...

Af en eller anden grund Returnere funktionen PictReturn false efter at have prøvet jeres forskellige forslag er det stadig billedet default1.jpg  der bliver sat ind.
Avatar billede olebole Juniormester
17. april 2012 - 00:55 #15
Mon ikke, der skal stå:

$email= md5( strtolower( trim($pict) ) );
Avatar billede NielsErikP Mester
17. april 2012 - 01:36 #16
Hej...

Tak, ole... Du fik det til at virke som sædvanlig....
Smid et svar... også dig,dmdisco
Avatar billede olebole Juniormester
17. april 2012 - 01:57 #17
Selvtak  *o)
Avatar billede dmdisco Nybegynder
17. april 2012 - 10:30 #18
nej tak, jeg springer over, bare glad for at du fik det til at virke til sidst
Avatar billede NielsErikP Mester
17. april 2012 - 12:14 #19
Hej...

Jamen så lukker jeg tråden :-)
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