Avatar billede jokerper Nybegynder
09. marts 2010 - 00:33 Der er 11 kommentarer og
1 løsning

Hjælp til checkbox husk status eller alternativ

Hejsa

Jeg har brug for en ide eller noget hjælp til:

Hjælp til checkbox  husk status eller alternativ

Jeg vil gerne have at en checkbox husker sin status ved reload af siden med session.

Altså så man ikke hver gang skal sætte fluebenet.

Jeg har samtidigt to sæt "forms" hvor den skal virke på begge, jeg tænker derfor evt. på en db med 1/0 update, men kan ikke få det til at spille.
Avatar billede showsource Seniormester
09. marts 2010 - 01:50 #1
Det er jo blot at tjekke om checkboxen er sat ved post ?

Evt. noget a'la':

function set_checked($var) {

    if(isset($_SESSION[$var])) {
    echo " checked";
    }

}

og:
<input type="checkbox" name="checkbox_et" value="noget"<?php set_checked("checkbox-et"); ?>>


Ved post kan du evt.

foreach($_POST as $key => $value) {
$_SESSION[$key] = htmlspecialchars($value);
}
Avatar billede jokerper Nybegynder
09. marts 2010 - 07:28 #2
Kan godt være det bare er mig, men jeg uddyber lige.

Jeg har et tekst-felt som skal vise et navn eller skjule navn.

Jeg har så 2 forskellige sæt knapper på siden, så når man vægler at gå fremad og siden genindlæses så skal man ikke igen sætte flueben eller versus for at skjule/vise navnet.

Da man kan bladre imellem mange billeder, skal man kun en gang vælge om det skal være med eller uden navn hele vejen igennem.
Avatar billede showsource Seniormester
09. marts 2010 - 13:39 #3
Når du går fremad, kan du jo tjekke om checkbox er sat, og er den det, så sæt en session.
Ved reload af siden, tjekker du så om session er sat, og hvis den er, tilføjer checked til checkboxen
Avatar billede majbom Novice
09. marts 2010 - 13:44 #4
du kan tage den med i din url:

dinside.dk/dinside.php?showname=checked

og så på din checkbox:

<checkbox name="showname" checked="<?php echo $_GET['showname']; ?>"> Vis navn
Avatar billede jokerper Nybegynder
09. marts 2010 - 20:18 #5
Jeg har forsøgt med sessions og get og post samt DB, jeg kan bare ikke få det til at virke korrekt.

----------------------------
Forsøg DB
----------------------------
        $vis = mysql_query("SELECT visnavn FROM dyrenavn WHERE id = '1'");
    $rvis = mysql_fetch_array($vis);
  $_SESSION['check'] = $rvis['visnavn'];

echo $_SESSION['check'];
    if (!empty($_POST['visnavn'])) {
    mysql_query("UPDATE dyrenavn SET visnavn = 'checked' WHERE id = '1'");
    $_SESSION['check'] =="checked";
    } else {        mysql_query("UPDATE dyrenavn SET visnavn = 'unchecked' WHERE id = '1'");
    $_SESSION['check'] =="unchecked";
    }


----------------------------
Stedet hvor det udskrives
----------------------------
  <div align="center">
  <?php
  if (isset($_POST['visnavn'])){
      echo $_SESSION['dyrnavn'];
    }
  ?>

  </div>
Avatar billede jokerper Nybegynder
09. marts 2010 - 20:23 #6
Checkboxen:  <input type="checkbox" name="visnavn" checked="<?php echo $_SESSION['check']; ?>"> Vis navn

Men det ene af mine problemer er at jeg har 2 <form action="">
hvor checkboxen skal virke hvad enten man vælger det ene sæt knapper eller det andet.

Dvs. at checkboxen skal jo aktiveres på en eller anden måde da den ikke er i begge <form>.
Avatar billede majbom Novice
09. marts 2010 - 21:50 #7
starter du session?

checked-attributen i checkboxen skal være 'checked' eller '' (ikke 'unchecked'

du skal kun bruge ét lighedstegn når du tildeler en variabel en værdi;

$_SESSION['check'] =="checked";

skal være:

$_SESSION['check'] = "checked";
Avatar billede jokerper Nybegynder
09. marts 2010 - 22:38 #8
Okay kan du lige hurtigt forklare mig forskellen, den har jeg tit tænkt over, ved brug af hhv. = og == tegn.

Men jeg kan forsat ikke få det til at spille, helst gerne med session eller DB.

Jeg kan ikke finde den rigtige løsning.
Avatar billede majbom Novice
10. marts 2010 - 07:50 #9
== bruger du i f.eks. en if-sætning, hvor du skal sammenligne 2 værdier:

if(2==1){
  //kommer ikke herind, de 2 ikke er lig med 1
}else{
  //kommer så herind...
}

= bruger du til at tildele en variabel en værdi:

$var = "test";
Avatar billede jokerper Nybegynder
08. april 2010 - 20:19 #10
splazz og showsource lægger i svar til point fordeling.
Avatar billede majbom Novice
09. april 2010 - 08:21 #11
kommer her...
Avatar billede majbom Novice
04. august 2010 - 08:40 #12
tfp :)
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