Avatar billede svs Nybegynder
03. september 2001 - 20:57 Der er 11 kommentarer og
1 løsning

Checkbox

Jeg har en side med 4 checkboxe. Efter tryk på send komme man til side to - hvor jeg bruger følgende kode til finde ud hvilke checkboxe der blev afkrydset på side 1 og derefter udskrive dem

$q = $QUERY_STRING;
// Denne henter det der stÂr i adresselinien
$qArr = explode(\"&\",$q);
// deler teksten fra adresselinien op i et array for hver checkboks
for ($j=0;$j<count($qArr);$j++) {
// En løkke der kigger p hver plads i array\'et der repræsentere checkboksene
  $tempArr = split(\"=\",$qArr[$j]);
// deler hver checkboks op i navn og værdi
  if ($tempArr[1] == \"on\") {
// finder ud af om checkboksen er valgt
    $valg = $valg . $tempArr[0] . \", \";
// hvis den er valgt, skriver den checkboksens til en liste.
  }
}


if (strlen($valg) > 0)
  $valg[strrpos($valg, \",\")] = \'\';

Mit problem er at mine checkboxe har værdier som f.eks. \"kursus i stangtennis\"  og når det bliver skrevet ud på side to kommer der til at stå \"kursus+i +stangtennis\" - det ser jo ikke så pænt ud. Ydremere ø til ¿ og så fremdelse

Hvem kan hjælpe med de par problemer?

M.v.h. Søren
Avatar billede barlach Nybegynder
03. september 2001 - 21:40 #1
hvorfor ikke tage variablerne fra checkboxen istedet for at tage querystring ?? på den måde vil du få teksten pæn...
Avatar billede svs Nybegynder
03. september 2001 - 21:44 #2
Den ovenstånde metode bruger jeg da, den kun viser de boxe der rent faktisk er checked, den metode du nævner kan jeg ikke få til at virke
Avatar billede barlach Nybegynder
03. september 2001 - 21:46 #3
hvis du har 4 checkboxe på en side :


<input type=\"checkbox\" name=\"en\" value=\"sdfgsdfg\">
<input type=\"checkbox\" name=\"to\" value=\"ertyertyer\">
<input type=\"checkbox\" name=\"tre\" value=\"cvbncnb\">
<input type=\"checkbox\" name=\"fire\" value=\"khklææøpoiuiæ\">

kan du på næste side gøre flg.

if(isset($en)){ bla bla bla}

if(isset($to)){ lidt mere bla bla}

osv
Avatar billede sune_posselt Nybegynder
03. september 2001 - 21:51 #4
Hvis du nu har disse checkboxe:

<INPUT NAME=\"checkbox[]\" TYPE=CHECKBOX VALUE=\"kursus i stangtennis for begyndere\">
<INPUT NAME=\"checkbox[]\" TYPE=CHECKBOX VALUE=\"kursus i stangtennis for fortsættere\">
<INPUT NAME=\"checkbox[]\" TYPE=CHECKBOX VALUE=\"kursus i bordtennis for begyndere\">
<INPUT NAME=\"checkbox[]\" TYPE=CHECKBOX VALUE=\"kursus i bordtennis for fortsættere\">

Kan du vel bare gøre dette i side to:

for($i = 0; $i < sizeof($checkbox); $i++)
{
    $bokse = $bokse . $checkbox[$i] . \"<br>\\n\";
}

echo $bokse;

Eller hvordan du nu har lyst til at vise dem...?
Avatar billede svs Nybegynder
03. september 2001 - 23:11 #5
det giver en parse error i linjen med

    $bokse = $bokse . $checkbox[$i] . \"<br>\\n\";
Avatar billede sune_posselt Nybegynder
04. september 2001 - 01:55 #6
Hmmm, meget mærkeligt, prøv med:

    $bokse = $bokse . $checkbox[$i] . \"<br>\\n\";

i stedet.
Spørg mig ikke hvad forskellen på de to linier er, men jeg fik også en parse error, indtil jeg slettede linien og skrev den igen (selvom der, så vidt jeg kan se, står akkurat det samme i de to linier). Prøv med ovenstående linie, og hvis du stadig får en parse error, prøv så at slette linien og skrive den igen, uden cut \'n paste

Mvh. Sune

Ps. kan nogen se forskel på de to linier?
Avatar billede svs Nybegynder
04. september 2001 - 08:21 #7
Det ænder int fos mig.

Sådan se koden på side 1 ud.
<Form Method=GET Action=bekraft.php>
// jeg har prøvet med både get og post med samme resultat
<INPUT NAME=\"checkbox[]\" TYPE=CHECKBOX Value=\"ghjjhhjg hjghjghjg hjghjgjgh\">jhjkhhjk jkhjkhjkh jkhkhjkhj<br>

og på side to

for($i = 0; $i < sizeof($checkbox); $i++)
{
  $bokse = $bokse . checkbox[$i] . \"<br>\\n\";
}
echo $bokse;

Det giver fejl i linjen  $bokse = $bokse . checkbox[$i] . \"<br>\\n\";

???
Avatar billede lasseriis Nybegynder
04. september 2001 - 08:47 #8
$bokse = $bokse . $checkbox[$i] . \"<br>\\n\";

du glemte $ foran checkbox....
Avatar billede svs Nybegynder
04. september 2001 - 08:51 #9
Du har ret ,desværre gjorde det ingen forskel hvad fejlen angår.

Du kan se det i (u)funktion her
www.aarhus-stiftscentral.dk/program/tilmelding.php
Avatar billede mortenfn Nybegynder
06. september 2001 - 22:17 #10
svs> jeg er lige kommet på igen, hvordan ser bekraft.php line 16 ud og lige et par linjer mere.
Avatar billede svs Nybegynder
07. september 2001 - 15:44 #11
Hej

koden i bekraft.php er som følger:

<?php

echo \"<b>Hej $navn\\n</b>\";
echo \"<p></p>Du har tilmeldt dig følgende arrangementer:<p></p>\";


for($i = 0; $i < sizeof($checkbox); $i++)
{
  $bokse = $bokse . $checkbox[$i] . \"<br>\\n\";
}
echo $bokse;

$emailTekst  = \"Tilmelding fra:\\n\";
$emailTekst .= \"$navn\\n\";
$emailTekst .= \"$adresse\\n\";
$emailTekst .= \"$postnr $By\\n\\n\";
$emailTekst .= \"$telefon $By\\n\\n\";
$emailTekst .= \"$email\\n\";
$emailTekst .= \"har tilmeldt sig $valg\";

mail(\"svs@danstud.dk\",
    \"Tilmelding\",
    $emailTekst,
    \"From: webform@flo.dk\\nReply-to: $email\");

echo \"<p>Tak for din tilmelding, du vil hurtigst muligt modtag en bekraelig;ftelse\";
?>
Avatar billede svs Nybegynder
09. september 2001 - 13:12 #12
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



IT-JOB

RISMA Systems A/S

Senior PHP-udvikler

Mobilplan ApS

Content Creator

Københavns Professionshøjskole

Nytænkende og agil IT-projektleder

Cognizant Technology Solutions Denmark ApS

Test Architect - Projects