Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  1 448
Hei! Jeg har problemer med å få skrevet valgte checkbox til en fil. Slik ser koden ut:

Index.php:

Kode

 <form action="" method="post" >
            Navn: <input type="text" name="navn" />
            Adresse: <input type="text" name="adresse" />
          Kunst:  <input type="checkbox" name="hobby[]" value="kunst"/>
          Sport: <input type="checkbox" name="hobby[]" value="sport"/>
          Hest: <input type="checkbox" name="hobby[]" value="hest"/>
          <input type="submit" name="send" value="send" />  
        </form>
        
        <?php
        
       
        
        if (isset($_REQUEST["send"]))
        {
            echo "Godkjenn informasjonen: <br>";
            echo "Navnet er: ".$_REQUEST["navn"]."<br>";
            echo "Adressen er: ".$_REQUEST["adresse"]."<br>";
            echo "Du har følgende hobbyer: "." ";
            if (isset($_REQUEST["hobby"]))
            {
                foreach ($_REQUEST["hobby"] as $aktiviterer)
                {
                    echo "$aktiviterer".", ";
                }
            }
             $_SESSION['navn'] = $_REQUEST['navn'];
              $_SESSION["adresse"] = $_REQUEST["adresse"];
              $_SESSION["hobby"] = $_REQUEST["hobby"];
        }
             
              
?>
        
        <form action="index2.php" method="post">
          Bekreft informasjonen <input type="submit" name="bekreft" value="bekreft" />
          <form>
Index2:

Kode

<?php
session_start();

if (isset($_REQUEST["bekreft"]))
{
    $to = "oslo@gmail.com";
    $subject = "Informasjon";
    $message = "Navn: ".$_SESSION["navn"]."\r\n"."Adresse: ".$_SESSION["adresse"]."\r\n"."Hobby: ".$_SESSION["hobby"];
    $from = "kundeservice@exemple.com";
    $headers = "From: ". $from;
    mail ($to, $subject, $message, $headers);
    echo "Henvenselsen er sendt";
    
    $filref = fopen("henvendelse.text","a");
    fwrite ($filref, $_SESSION['navn'].", ");
    fwrite ($filref, $_SESSION['adresse'].", ");
    fwrite ($filref, $_SESSION['hobby'].",\r\n"); // Det er her jeg ikke får skrevet valgte checkbox inn i filen.
    fclose($filref);
            
}
            
?>
I filen ser det slik ut: Ole, Osloveien 12, Array,
Sist endret av Den modige; 7. januar 2012 kl. 15:10.
Det er jo fordi både $_SESSION["hobby"] og $_REQUEST["hobby"] er en array, derfor skriver denne logisk nok bare "Array".

I stedefor å skrive dette i index.php:

Kode

if (isset($_REQUEST["hobby"]))
            {
                foreach ($_REQUEST["hobby"] as $aktiviterer)
                {
                    echo "$aktiviterer".", ";
                }
            }
Skriv føgende:

Kode

$aktiviteter = "";
if (isset($_REQUEST["hobby"])){
     foreach ($_REQUEST["hobby"] as $item) $aktiviteter .= $item.", ";
}
echo $aktiviteter;
Da kan du også erstatte dette:

Kode

$_SESSION["hobby"] = $_REQUEST["hobby"];
Med:

Kode

$_SESSION["hobby"] = $aktiviteter;
Du får da alle aktiviteteene som en string og ikke en array både når du skriver dem til skjermen og til filen.