Avatar billede kren1000 Nybegynder
26. februar 2006 - 11:30 Der er 15 kommentarer og
1 løsning

Indsætte data fra tjekbokse til db med php

Hej eksperter.

Jeg har en form med brugeroplysninger som jeg skal have over i min db. Dette virker fint. Jeg skal også have oplysninger fra tjekbokse med over. Det er forskellige interesser man kan vinke af, som så skal over i db. Jeg har rodet længe med det, dog uden held, så nu sætter jeg 200 point på højkant, i håb om hjælp.

Hvordan for jeg disse oplysninger over i databasen, de skal helst stå i samme tabel, men andre forslag er også velkomne.

Her er kode eksempel på min form i indsaet.php:
<form id="tilmelding" action="tilmelding_indsaet.php" method="post" name="FormName">

<tr><td width="30%"><input type="checkbox" name="interesser" value="Biler og motorcykler">Biler og motorcykler</td>
               
<td width="30%"><input type="checkbox" name="interesser" value="Dyr">Dyr</td>
         
<td><input type="checkbox" name="interesser" value="Kreativitet">
Kreativitet</td></tr>

<tr><td><input type="checkbox" name="interesser" value="Bøger">
        Bøger </td>

<td width="30%"><input type="checkbox" name="interesser" value="Filosofi">Filosofi</td>
----------------------------------------------------------------
Avatar billede michael_stim Ekspert
26. februar 2006 - 11:41 #1
Hvordan ser tilmelding_indsaet.php ud?
Avatar billede michael_stim Ekspert
26. februar 2006 - 11:42 #2
Det burde fungere med $_POST['interesser'] osv
Avatar billede michael_stim Ekspert
26. februar 2006 - 11:46 #3
Du har jo samme navn på alle sammen. Det må man ikke.
Avatar billede kren1000 Nybegynder
26. februar 2006 - 11:51 #4
Nej ok, men er det noget med at skrive name som et array? Jeg er nemlig lidt på bar bund med hensyn til at få det over i db...

tilmelding_indsaet.php ser noget ud i stil med:

$sql = "insert into users(brugernavn,password, fornavn, efternavn,vejnavn, postnummer) values
    ('$interesser','$pazz','$fornavn','$efternavn','$vejnavn','$postnummer')";
Avatar billede kren1000 Nybegynder
26. februar 2006 - 11:52 #5
eller nærmere (eksempel:

$sql = "insert into users(interesser,password, fornavn, efternavn,vejnavn, postnummer) values
    ('$interesser','$pazz','$fornavn','$efternavn','$vejnavn','$postnummer')";
Avatar billede michael_stim Ekspert
26. februar 2006 - 11:54 #6
<?php
if (isset($_POST['check'])) {
    foreach($_POST['check'] as $k) {
        echo $k . "<br>";
    }
}
?>


<form method='post' action=''>
<input type='checkbox' name='check[]' value='1'>
<input type='checkbox' name='check[]' value='2'>
<input type='checkbox' name='check[]' value='3'>
<input type='checkbox' name='check[]' value='4'>
<input type='checkbox' name='check[]' value='5'>
<input type='submit'>
</form>
Avatar billede michael_stim Ekspert
26. februar 2006 - 11:57 #7
Vil du have en kommaseperet liste bruger du bare explode()
Arr1=explode(',',$dinArr);
Avatar billede michael_stim Ekspert
26. februar 2006 - 11:58 #8
$Arr1=explode(',',$dinArr);
Skal det väre ;o)
Avatar billede kren1000 Nybegynder
26. februar 2006 - 11:58 #9
aha, ok, jeg prøver det lige af
Avatar billede michael_stim Ekspert
26. februar 2006 - 12:04 #10
Husk at checke om der er värdier i array'en når du skal have den ud på nettet, ellers får du fejlmeddelse når folk ikke har nogle interesser ;o)
is_array();
Avatar billede kren1000 Nybegynder
26. februar 2006 - 12:12 #11
Ja ok:), der går lige lidt tid da der pludselig er opstået et problem med noget andet i oprettelsen.
Avatar billede michael_stim Ekspert
26. februar 2006 - 12:17 #12
Og det er selvf. implode()du skal bruge når du hiver din array ud ;o)
Avatar billede kren1000 Nybegynder
26. februar 2006 - 12:39 #13
Nu har jeg lavet en lille testversion, da noget andet ikke virker, men jeg er ikke nogen haj til php, så det virker ikke helt endnu, men den skriver array i db nu.

test1.php:
-----------------------------------------
<?php
if (isset($_POST['check'])) {
    foreach($_POST['check'] as $k) {
        echo $k . "<br>";
    }
}
?>
<form method='post' action='test2.php'>
<input type="text" name="brugernavn" size="30">Brugernavn<br>
<input type='checkbox' name='check[]' value='1'>Bøger<br>
<input type='checkbox' name='check[]' value='2'>Biler<br>
<input type='checkbox' name='check[]' value='3'>Musik<br>
<input type='checkbox' name='check[]' value='4'>Film<br>
<input type='checkbox' name='check[]' value='5'>Dans<br>
<input type='submit'>
</form>
-------------------------------------------------------------
test2.php:
<?php
    $mydb osv....
       
    $sql = "insert into users(brugernavn, interesser) values
    ('$brugernavn','$check')";
       
    mysql_query($sql,$mydb);
    header("Location: test1.php");
    exit();

?>
Avatar billede michael_stim Ekspert
26. februar 2006 - 13:02 #14
<form method='post' action='test2.php'>
<input type="text" name="brugernavn" size="30">Brugernavn<br>
<input type='checkbox' name='check[]' value='1'>Bøger<br>
<input type='checkbox' name='check[]' value='2'>Biler<br>
<input type='checkbox' name='check[]' value='3'>Musik<br>
<input type='checkbox' name='check[]' value='4'>Film<br>
<input type='checkbox' name='check[]' value='5'>Dans<br>
<input type='submit'>
</form>

test2.php:
<?php
    $mydb osv....
    $checkArr=implode(",",$_POST['check']);
    $sql = "insert into users(brugernavn, interesser) values
    ('$brugernavn','$checkArr')";
     
    mysql_query($sql,$mydb);
    header("Location: test1.php");
    exit();

?>
Hvad siger denne?
Avatar billede kren1000 Nybegynder
26. februar 2006 - 13:10 #15
Den siger du er god til php:). Det virker præcis som det skal. Jeg takker mange gange for hjælpen og kvitterer med point, hvis du smider et svar.
Avatar billede michael_stim Ekspert
26. februar 2006 - 13:15 #16
10-4 ;o)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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