Avatar billede lesp Nybegynder
06. marts 2007 - 10:54 Der er 7 kommentarer og
1 løsning

Putte noget fra session ind i database

Her er min kode:

<? session_start(); ?>

<html>

<head>

<title>nix</title>

</head>

<body oncontextmenu="return false"ondragstart="return false"onselectstart="return false">

<div align="left">

<form action="mailto2.php?action=ok" method="POST">
<input type="text" value="Navn" name="name" Style="border:1px solid #000000; background: white"><br>
<input type="text" value="Email" name="email" Style="border:1px solid #000000; background: white"><br>
<input type="text" value="Adresse" name="adress" Style="border:1px solid #000000; background: white"><br>
<input type="text" value="Phone" name="phone" Style="border:1px solid #000000; background: white"><br>
<select name="country">
<option value="01">Option one</option>
<option value="02">Option</option>
<option value="03">Option</option>
<option value="04">Option</option>
<option value="05">Option</option>
<option value="06">Option</option>
<option value="07">Option</option>
<option value="08">Option</option>
<option value="09">Option</option>
<option value="10">Option</option>
<option value="11">Option</option>
<option value="12">Option</option>
</select>
<input type="text" value="Tlf" name="telefon" Style="border:1px solid #000000; background: white"><br>

<p>
<input type="submit" value="Bestellung senden" name="send" Style="border:1px solid #000000; background: white">
<br>
</div>
</form>

<?
include("connect.php");

if($_GET[action] == "ok") {
    $message  = '';

    for($i = 0; $i < sizeof($_SESSION['products']); $i++)
    {
      $message .= "<html><body><br><br><b>Ordre <br><br></b>";
      $message .= "<br><b>Artikelnr: </b>";
      $message .= $_SESSION['products'][$i]['prod_id'];
      $message .= "<br>";
      $message .= "<b>Titel: </b>";
      $message .= $_SESSION['products'][$i]['prod_size'];
      $message .= "<br>";
      $message .= "<b>Pris: </b>";
      $message .= $_SESSION['products'][$i]['prod_antal'];
      $message .= "<br>";


{
$to = "bratsch@ofir.dk";
                            //$to
                            //Mailens modtager
                            //Email adressen skrives imellem <>
                            //Kort navn før <>
    $navn = $_POST[navn];
    $email = $_POST[email];
    $adress = $_POST[adresse];
    $phone = $_POST[telefon];

    $oplysninger = "$navn      $email
                    $adress
                    $phone
                    ";


    $from = "From: Order";
                            //$to     
                            //Afsender af mailen
                            //Email adressen skrives imellem <>
                            //Kort navn før <>

    $subject = "Order!"; //Mailens titel
    $headers  = "MIME-Version: 1.0\r\n";
                            //$headers
                            //Standard for mails - optional
                            //Nødvendigt for, at angive afsenderen.
                             
    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; //Angiver at mailens indhold er i HTML-format
                             
    $headers .= "$from\r\n"; //Sætter afsender i mailens header
    mysql_query("INSERT INTO orders (id, item_nr, name, adress, phone, country, email, dato) VALUES('','".$_SESSION['products']['prod_id']."','$_POST[name]','$_POST[adress]','$_POST[phone]','$_POST[country]','$_POST[email]', now())") or die(mysql_error( ));

}
}
}
?>



</body>

</html>

Hvordan får jeg sat den session ind i databasen?
Avatar billede mcgoat Nybegynder
06. marts 2007 - 11:03 #1
INSERT INTO orders (id, item_nr, name, adress, phone, country, email, dato) VALUES('','".$_SESSION['products']['prod_id']

der sætter du da noget fra session ind i DB, hvad er det du vil så?
Avatar billede lesp Nybegynder
06. marts 2007 - 11:19 #2
Ja men det virker ikke? Alt undtagen det fra sessionen bliver sat ind... Jeg ved ikke, men har det noget at gøre med, at man kan have flere ting i sessionen. For hvis man havde 5 ting ville det jo ikke kunne sættes ind i et felt i tabellen?
Avatar billede mcgoat Nybegynder
06. marts 2007 - 11:21 #3
mysql_query("INSERT INTO orders (id, item_nr, name, adress, phone, country, email, dato) VALUES('',".$_SESSION['products']['prod_id'].",'$_POST[name]','$_POST[adress]','$_POST[phone]','$_POST[country]','$_POST[email]', now())") or die(mysql_error( ));

Prøv det engang.

For hvis ID er en INT i DB, så skal der ikke være ' ' omkring
Avatar billede algizoft Nybegynder
06. marts 2007 - 11:29 #4
I din for løkke putter du data ind i $_SESSION['products'][$i]['prod_id']

I din query sætter du $_SESSION['products']['prod_id'] ind. Denne her er tom (du mangler $i)
Avatar billede lesp Nybegynder
06. marts 2007 - 11:36 #5
Jeg prøver...
Avatar billede algizoft Nybegynder
06. marts 2007 - 11:38 #6
Er det din mening al smide hele din session ind i databasen på en gang???? Så skal du bruge noget i stil med serialize($_SESSION['products'])
Avatar billede lesp Nybegynder
06. marts 2007 - 11:55 #7
Det er sådan set lige meget... Algizoft, dit råd med at jeg bare skulle skrive [$i] gav pote. Smid lige et svar
Avatar billede algizoft Nybegynder
06. marts 2007 - 12:15 #8
Ok
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