Avatar billede blackscorpion Nybegynder
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.
Avatar billede jackass- Nybegynder
08. februar 2006 - 18:03 #1
if (isset($_POST['checkbox1'])) {
  echo "Den er checked";
}
else {
  echo "The Checkbox is NOT Checked!";
}
Avatar billede blackscorpion Nybegynder
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 ?
Avatar billede jackass- Nybegynder
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

?>
Avatar billede blackscorpion Nybegynder
08. februar 2006 - 18:33 #4
hehe sejt.. er der behov for at jeg tester det ??
Avatar billede jackass- Nybegynder
08. februar 2006 - 18:37 #5
Test er altid godt :)
Avatar billede blackscorpion Nybegynder
08. februar 2006 - 18:38 #6
Ja okey, det prøver jeg lige så. ;)
Avatar billede showsource Seniormester
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"]);
}
Avatar billede jackass- Nybegynder
08. februar 2006 - 18:49 #8
Det kunne man også.. lidt mindre kode :)
Avatar billede blackscorpion Nybegynder
08. februar 2006 - 18:59 #9
jamen vil det også virke når man har valgt flere typer ?
Avatar billede blackscorpion Nybegynder
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... :(
Avatar billede blackscorpion Nybegynder
08. februar 2006 - 19:06 #11
af en eller anden årsag er der 1 af variablerne den ikke tager med...
Avatar billede blackscorpion Nybegynder
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...
Avatar billede jackass- Nybegynder
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&oslash;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>&nbsp;</p>
</body>
</html>


Og go.php:

<?

if(isset($_POST["koerekort"])) {
  $valgte = implode(", ", $_POST["koerekort"]);
  echo "Du har valgt følgende kørekort: " . $valgte;
}

?>
Avatar billede blackscorpion Nybegynder
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 ?
Avatar billede jackass- Nybegynder
08. februar 2006 - 19:17 #15
Vis os lige hele din formular.. kan ikke lige se hvad du prøver på
Avatar billede blackscorpion Nybegynder
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.
Avatar billede blackscorpion Nybegynder
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;
}
Avatar billede blackscorpion Nybegynder
08. februar 2006 - 19:35 #18
hov... havde overset den blev lagt i valgte...
Avatar billede blackscorpion Nybegynder
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 ?
Avatar billede blackscorpion Nybegynder
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">
Avatar billede blackscorpion Nybegynder
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...
Avatar billede blackscorpion Nybegynder
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 ?
Avatar billede showsource Seniormester
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;
}
Avatar billede blackscorpion Nybegynder
09. februar 2006 - 20:48 #24
okey tjekker den lige om 2 sec.
Avatar billede blackscorpion Nybegynder
09. februar 2006 - 21:45 #25
niks... nada luck...
Avatar billede blackscorpion Nybegynder
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...
Avatar billede blackscorpion Nybegynder
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.
Avatar billede blackscorpion Nybegynder
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. :(
Avatar billede blackscorpion Nybegynder
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 ?
Avatar billede blackscorpion Nybegynder
10. februar 2006 - 21:40 #30
hmmm...
Avatar billede showsource Seniormester
13. februar 2006 - 13:11 #31
Når du bruger:
foreach ($_POST as $key => $value)

kommer alle formnavne jo med
Avatar billede showsource Seniormester
13. februar 2006 - 13:11 #32
Men skal nok se hele din kode for at finde fejlen
Avatar billede blackscorpion Nybegynder
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");

?>
Avatar billede blackscorpion Nybegynder
18. februar 2006 - 20:18 #34
lukker
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