08. februar 2006 - 17:28
Der er
33 kommentarer og 1 løsning
Checkbox Tjek.
Hey Eksperter. Har en formular med bla. 7 checkboxe (kørekorts typer) Hvordan tjekker jeg, hvilke checkboxe der er "checked" ?? - BlackScorpion.
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
08. februar 2006 - 18:03
#1
if (isset($_POST['checkbox1'])) { echo "Den er checked"; } else { echo "The Checkbox is NOT Checked!"; }
08. februar 2006 - 18:13
#2
Nu da vi snakker om kørekort typer. hvad så hvis f.eks: A, B og BE er valgt ?
08. februar 2006 - 18:30
#3
Du laver dine checkboxe med: <input type="checkbox" name="checkKortA" value="A"> <input type="checkbox" name="checkKortB" value="B"> osv.. Og dit action-script: <? $kortTyper = ""; if (isset($_POST['checkKortA'])) { $kortTyper .= "A, "; } if (isset($_POST['checkKortB'])) { $kortTyper .= "B, "; } if (isset($_POST['checkKortBE'])) { $kortTyper .= "BE, "; } if (isset($_POST['checkKortXX'])) { $kortTyper .= "XX, "; } if (isset($_POST['checkKortYY'])) { $kortTyper .= "YY, "; } if (isset($_POST['checkKortRR'])) { $kortTyper .= "RR, "; } if (isset($_POST['checkKortSS'])) { $kortTyper .= "SS, "; } // Så har vi smidt de kørekorttyper som brugeren har krydset af, i en variabel $cut = substr($kortTyper, 0, -2); // Vi cutter lige de sidste ", " af den streng echo "Du har valgte følgende kørekort typer: " . $cut; // Og udskriver de kørekort typer som brugeren havde valgt ?>
08. februar 2006 - 18:33
#4
hehe sejt.. er der behov for at jeg tester det ??
08. februar 2006 - 18:37
#5
Test er altid godt :)
08. februar 2006 - 18:38
#6
Ja okey, det prøver jeg lige så. ;)
08. februar 2006 - 18:47
#7
Du kan også bruge et array, ved at bruge [] i navnet på checkbox <input type="checkbox" name="koerekort[]" value="A"> <input type="checkbox" name="koerekort[]" value="B"> og derefter: if(isset($_POST["koerekort"])) { $valgte = implode(", ", $_POST["koerekort"]); }
08. februar 2006 - 18:49
#8
Det kunne man også.. lidt mindre kode :)
08. februar 2006 - 18:59
#9
jamen vil det også virke når man har valgt flere typer ?
08. februar 2006 - 18:59
#10
men lige pt, skal jeg lige have styr på alt det her, for et eller andet, et eller andet sted, virker ikke som det skal... :(
08. februar 2006 - 19:06
#11
af en eller anden årsag er der 1 af variablerne den ikke tager med...
08. februar 2006 - 19:08
#12
har dette i min formular: <input class="input" type="text" name="udfyldtCity" style="width: 126px;"> og den tager den ikke med... har prøvet med : <?php session_start(); echo $_SESSION['udfyldtCity']; ?> og den viser bare blank skærm...
08. februar 2006 - 19:09
#13
Så gør sådan her: kort.php: <html> <head> <title>Kort</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <p>Hvilke typer kørekort har du?</p> <form name="form1" method="post" action="go.php"> <p> <input type="checkbox" name="koerekort[]" value="A"> A<br> <input type="checkbox" name="koerekort[]" value="B"> B<br> <input type="checkbox" name="koerekort[]" value="C"> C<br> <input type="checkbox" name="koerekort[]" value="D"> D<br> <input type="checkbox" name="koerekort[]" value="E"> E<br> <input type="checkbox" name="koerekort[]" value="F"> F<br> <input type="checkbox" name="koerekort[]" value="G"> G</p> <p> <input type="submit" name="Submit" value="Submit"> </p> </form> <p> </p> </body> </html> Og go.php: <? if(isset($_POST["koerekort"])) { $valgte = implode(", ", $_POST["koerekort"]); echo "Du har valgt følgende kørekort: " . $valgte; } ?>
08. februar 2006 - 19:12
#14
jamen problemet er at det lægger midt i en formular. og den skriver det forresten ikke ind. Hvis i gider hjælpe mig med mit problem, nu her, kan jeg godt afsætte nogle flere point ?
08. februar 2006 - 19:17
#15
Vis os lige hele din formular.. kan ikke lige se hvad du prøver på
08. februar 2006 - 19:19
#16
det hele virker nu... på nær kørekorts typer.. ved ikke lige hvorfor den havde hikke. :( Men prøver lige showsource's måde.
08. februar 2006 - 19:34
#17
nu har jeg prøvet begge dele.. og intet virker... husk på det bliver smidt i en session... gør jeg sådan her: elseif($_POST['regID'] == md5("page2")) { if(isset($_POST["licence_type"])) { $valgte = implode(", ", $_POST["licence_type"]); } foreach ($_POST as $key => $value) { $_SESSION[$key] = $value; } header("Location: cv_part_3.php"); exit; }
08. februar 2006 - 19:35
#18
hov... havde overset den blev lagt i valgte...
08. februar 2006 - 19:41
#19
Niks virker stadig ikke.. har prøvet med: elseif($_POST['regID'] == md5("page2")) { if(isset($_POST["licence_type"])) { $valgte = implode(", ", $_POST["licence_type"]); } foreach ($_POST as $key => $value) { $_SESSION[$key] = $value; } $_SESSION['licence_type'] = $valgte; header("Location: cv_part_3.php"); exit; } Nogle ideer ?
08. februar 2006 - 19:47
#20
btw... min form til kørekort typerne ser sådan her ud: A <input name="licence_type[]" type="checkbox" value="A" class="checkbox"> B <input name="licence_type[]" type="checkbox" value="B" class="checkbox"> C <input name="licence_type[]" type="checkbox" value="C" class="checkbox"> D <input name="licence_type[]" type="checkbox" value="D" class="checkbox"> BE <input name="licence_type[]" type="checkbox" value="BE" class="checkbox"> CE <input name="licence_type[]" type="checkbox" value="CE" class="checkbox"> DE <input name="licence_type[]" type="checkbox" value="DE" class="checkbox">
08. februar 2006 - 19:51
#21
har prøvet med: foreach ($_POST as $key => $value) { if($key == "licence_type") { $_SESSION[$key] = implode(", ", $_POST["licence_type"]); } $_SESSION[$key] = $value; } heller intet held...
08. februar 2006 - 20:03
#22
if(isset($_POST["licence_type"])) { $valgte = implode(", ", $_POST["licence_type"]); unset($_POST["licence_type"]); $_POST['licence_type'] = $valgte; } foreach ($_POST as $key => $value) { $_SESSION[$key] = $value; } heller intet held... :( ingen ideer overhovedet ?
09. februar 2006 - 05:25
#23
licensen er jo et array, så prøv: if(isset($_POST["licence_type"])) { $_SESSION["licence_type"] = implode(", ", $_POST["licence_type"]); } foreach ($_POST as $key => $value) { if($key == "licence_type") { continue; } $_SESSION[$key] = $value; }
09. februar 2006 - 20:48
#24
okey tjekker den lige om 2 sec.
09. februar 2006 - 21:45
#25
niks... nada luck...
09. februar 2006 - 21:56
#26
det giver SLET ingen mening... hvis jeg tester licence_type.. altså med en: echo implode(", ", $_POST["licence_type"]); så viser den det rigtigt... men det virker som om at den slet ikke smider det op i sessionen... spørgsmålet er bare hvorfor, når alt andet virker...
09. februar 2006 - 22:00
#27
okey... det er mig der er en kæmpe klaphat... havde glemt at fjerne: $_SESSION['licence_type'] = $cut; fra tidligere... smid et svar, du fortjener det showsource.
09. februar 2006 - 22:20
#28
genialt.. nu virker min mysql_query ikke når man kører hele formen igennem... den viser blank side til sidst.. og trykker man F5.. så sætter den de normale SESSIONS ind, men ikke dem som jeg har lavet på samme side.. altså CPRNummer osv. :(
09. februar 2006 - 22:33
#29
når jeg kværner den igennem phpmyadmin, får jeg denne fejl: insert into sv_users1(cprnr,postnr_by,rådighed,fornavn,efternavn,adresse,telefon,mobil,email,kørekort,bil,job_situation,arbejdstid,job_ønske,løn_fast,akasse,ja_akasse,opsigelse,ryger,straffeattest,bureauer,ja_bureauer,bemærkninger,,,) values('**********','********','/ - ','******','Jensen','*******','','******','***************','no','no','avaible','parttime','no_matter','','no','','','no','yes','no','','','1','1','2006') og som jeg kan se det, så er der 3 kommaer for meget i sv_users1() feltet i slutningen ?
10. februar 2006 - 21:40
#30
hmmm...
13. februar 2006 - 13:11
#31
Når du bruger: foreach ($_POST as $key => $value) kommer alle formnavne jo med
13. februar 2006 - 13:11
#32
Men skal nok se hele din kode for at finde fejlen
13. februar 2006 - 22:09
#33
og den kommer her... <?php session_start(); //$CPRNummer = $_SESSION['talCpr_part1'].$_SESSION['talCpr_part2']; //$post_by = $_SESSION['talPostnr'] . " " . $_SESSION['udfyldtCity']; //$myNewDate = $_SESSION['myDate']. "/".$_SESSION['myMonth']." - ".$_SESSION['myYear']; //unset($_SESSION['talCpr_part1'], $_SESSION['talCpr_part2'], $_SESSION['talPostnr'], $_SESSION['udfyldtCity'], $_SESSION['myDate'], $_SESSION['myMonth'], $_SESSION['myYear'], $_SESSION['regID']); unset($_SESSION['regID']); //$_SESSION['CPRNummer'] = $CPRNummer; //$_SESSION['postnrby'] = $post_by; //$_SESSION['myNewDate'] = $myNewDate; $arr_keys=array('CPRNummer'=>'cprnr','udfyldtFornavn'=>'fornavn','udfyldtEfternavn'=>'efternavn','udfyldtAdresse'=>'adresse','postnrby'=>'postnr_by','Telefon'=>'telefon','Mobil'=>'mobil','mailEpost'=>'email','drivers_licence'=>'kørekort','licence_type'=>'kørekort_type','disp_car'=>'bil','current_situation'=>'job_situation','wanted_worktype'=>'arbejdstid','wanted_workhours'=>'job_ønske','payment'=>'løn_fast','myNewDate'=>'rådighed','in_union'=>'akasse','union_details'=>'ja_akasse','resignment'=>'opsigelse','smoker'=>'ryger','repsheet'=>'straffeattest','bureaue'=>'bureauer','bureaues_details'=>'ja_bureauer','comments'=>'bemærkninger'); $sql_key=""; $sql_val=""; foreach ($_SESSION as $key => $value) { $sql_key .= $arr_keys[$key].','; $sql_val .= "'$value',"; } $sql_val=substr($sql_val,0,strlen($sql_val) -1); $sql_key=substr($sql_key,0,strlen($sql_key) -1); require("includes/config.inc.php"); require("includes/functions.inc.php"); connect($mysql_host, $mysql_user, $mysql_pass, $mysql_user); $sql = "insert into sv_users1(". $sql_key . ") values(" . $sql_val . ")"; echo $sql; //mysql_query($sql); exit; $siteID = 4; include("includes/header.inc.php"); ?>
18. februar 2006 - 20:18
#34
lukker
Vi tilbyder markedets bedste kurser inden for webudvikling