Avatar billede xpress Nybegynder
05. maj 2004 - 16:31 Der er 17 kommentarer

bestillings-system i php eller html

Hej eksperter.

Jeg står og skal ha lavet et bestillingssystem i php eller html. Ved ikke hvad der er bedst at lave det i.

Det skal være et bestillingssystem som skal være på en hjemmeside a la formmail, hvor man kan indtaste navn adresse osv., og vælge et produkt samt pris. Når man så trykker godkend, skal der på hjemmesiden vises det tekst man har indtastet med adresse osv., og med pris, som selv udregner slutbeløbet med moms. Der skal desuden (det er vigtigt) sendes en kopi af det kunden har indtastet til den e-mail kunden ligeledes har indtastet, samt til mig selv.

Jeg er ikke helt hård i php, men håber der er nogle som lige vil bruge lidt tid på at hjælpe mig. Hjemmesiden er lavet i frontpage og ønsker dette uændret, så modtager gerne lidt hjælp på hvordan man indsætter disse php koder i frontpage, og indsætter selve systemet også.

Jeg håber på nyttige svar, som hjælper mig med mit problem meget præcist.

På forhånd tak!
Avatar billede jakobdo Ekspert
05. maj 2004 - 16:36 #1
Først skal du jo lave en form!
<form action="form.php" action="post">
Navn:<input type="text" name="navn">
<input type="submit" value="Send">
</form>

Og så på siden: form.php, laver du:

echo "Navn: ".$_POST[navn];
mail(....);
osv...
Avatar billede xpress Nybegynder
05. maj 2004 - 16:39 #2
hej jakob, kunne du uddybe det lidt mere. takker
Avatar billede detox Nybegynder
05. maj 2004 - 16:41 #3
action="post" skal lige være: method="post"
Avatar billede sostack Nybegynder
06. maj 2004 - 07:30 #4
Når du skriver "vælge et produkt", hvordan skal det så foregå? Er det fra en combobox, hvor man kun kan vælge et produkt ad gangen, eller er det med checkboxe, hvor man kan vælge flere produkter i samme bestilling?

//sostack
Avatar billede sostack Nybegynder
06. maj 2004 - 08:20 #5
Det hele i éen fil, meget enkelt:
<?php
/*     bestillingsformular med godkendelse.
    Der sendes en mail med bestillingen,
    til både den der bestiller og den der
    sælger sagerne.
*/
/*     disse linier er istedet for at lave en database,
    der alligevel ikke ligner din.
*/
$varer = Array("bil", "båd", "cykel", "knallert", "ski", "rulleskøjter");
$priser = Array(45500,275000,350,8475,1295,849);

// slut på datasimulering

// sæt din egen mailadresse ind her:
$din_mail = "din@mail.dk";

SWITCH($_POST["knap"])
{
    CASE "Bestil":
        echo "<form action='$_SERVER[PHP_SELF]' method='POST'>";
        echo "<PRE>";
        foreach($_POST as $key => $value)
        {
            if("" != $value)
            {
                echo $key . ":\t" . $value . "\n";
                echo "<input type='hidden' name='$key' value='$value'>";
            }
        }
        echo "</PRE>";
        echo "<input type='submit' name='knap' value='Godkend'>";
        echo "</form>";
        echo "<p>Hvis der er fejl, brug browserens \"tilbage knap\" for at rette</p>";
    BREAK;
    CASE "Godkend":
        foreach($_POST as $key => $value)
        {
            if("knap" != $key && "" != $value)
            {
                $body .= $key . ":\t" . $value . "\r\n";
            }
        }
        mail($din_mail,"Bestilling fra nettet" ,$body);
        mail($_POST["email"],"Bestilling fra nettet" ,$body);
        $_POST["knap"] = "";
        header("Location: " . $_SERVER[PHP_SELF]);
    BREAK;
    DEFAULT:
        ?>
        <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="POST">
        <center>
        <table cols="2" border="1">
        <tr>
            <td align="right">
                Navn:
            </td>
            <td>
                <input type="text" name="navn">
            </td>
        </tr>
        <tr>
            <td align="right">
                Adresse:
            </td>
            <td>
                <input type="text" name="adresse">
            </td>
        </tr>
        <tr>
            <td align="right">
                Postnummer:
            </td>
            <td>
                <input type="text" name="postnr">
            </td>
        </tr>
        <tr>
            <td align="right">
                By:
            </td>
            <td>
                <input type="text" name="bynavn">
            </td>
        </tr>
        <tr>
            <td align="right">
                E-mail:
            </td>
            <td>
                <input type="text" name="email">
            </td>
        </tr>
        <?php
        for($i = 0; $i < sizeof($varer); $i++)
        {
        ?>
        <tr>
            <td>
                <input type="text" size="5" name="<?php echo $i ?>"> <?php echo $varer[$i] ?>
            </td>
            <td align="right">
                á <?php echo $priser[$i] ?> DKK ex. moms
            </td>
        </tr>
        <?php
        }
        ?>
        <tr>
            <td align="center">
                <input type="submit" name="knap" value="Bestil">
            </td>
            <td align="center">
                <input type="reset" value="Fortryd">
            </td>
        </tr>
        </table>
        </form>
        <?php
    BREAK;
}
?>
Avatar billede sostack Nybegynder
06. maj 2004 - 08:28 #6
Hvis der skal prisberegninger med:
<?php
/*     bestillingsformular med godkendelse.
    Der sendes en mail med bestillingen,
    til både den der bestiller og den der
    sælger sagerne.
*/
/*     disse linier er istedet for at lave en database,
    der alligevel ikke ligner din.
*/
$varer = Array("bil", "båd", "cykel", "knallert", "ski", "rulleskøjter");
$priser = Array(45500,275000,350,8475,1295,849);

// slut på datasimulering

// sæt din egen mailadresse ind her:
$din_mail = "din@mail.dk";
// sæt moms satsen ind her:
$moms_sats = 25;
$moms = 1 + ($moms_sats / 100);
SWITCH($_POST["knap"])
{
    CASE "Bestil":
        echo "<form action='$_SERVER[PHP_SELF]' method='POST'>";
        echo "<PRE>";
        foreach($_POST as $key => $value)
        {
            if("" != $value)
            {
                if(is_numeric($key))
                {
                    $value = $value * $priser[$key] * $moms;
                    $key = $varer[$key];
                }
                echo $key . ":\t" . $value . "\n";
                echo "<input type='hidden' name='$key' value='$value'>";
            }
        }
        echo "</PRE>";
        echo "<input type='submit' name='knap' value='Godkend'>";
        echo "</form>";
        echo "<p>Hvis der er fejl, brug browserens \"tilbage knap\" for at rette</p>";
    BREAK;
    CASE "Godkend":
        foreach($_POST as $key => $value)
        {
            if("knap" != $key && "" != $value)
            {
                if(is_numeric($key))
                {
                    $value = $value * $priser[$key] * $moms;
                    $key = $varer[$key];
                }
                $body .= $key . ":\t" . $value . "\r\n";
            }
        }
        mail($din_mail,"Bestilling fra nettet" ,$body);
        mail($_POST["email"],"Bestilling fra nettet" ,$body);
        $_POST["knap"] = "";
        header("Location: " . $_SERVER[PHP_SELF]);
    BREAK;
    DEFAULT:
        ?>
        <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="POST">
        <center>
        <table cols="2" border="1">
        <tr>
            <td align="right">
                Navn:
            </td>
            <td>
                <input type="text" name="navn">
            </td>
        </tr>
        <tr>
            <td align="right">
                Adresse:
            </td>
            <td>
                <input type="text" name="adresse">
            </td>
        </tr>
        <tr>
            <td align="right">
                Postnummer:
            </td>
            <td>
                <input type="text" name="postnr">
            </td>
        </tr>
        <tr>
            <td align="right">
                By:
            </td>
            <td>
                <input type="text" name="bynavn">
            </td>
        </tr>
        <tr>
            <td align="right">
                E-mail:
            </td>
            <td>
                <input type="text" name="email">
            </td>
        </tr>
        <?php
        for($i = 0; $i < sizeof($varer); $i++)
        {
        ?>
        <tr>
            <td>
                <input type="text" size="5" name="<?php echo $i ?>"> <?php echo $varer[$i] ?>
            </td>
            <td align="right">
                á <?php echo $priser[$i] ?> DKK ex. moms
            </td>
        </tr>
        <?php
        }
        ?>
        <tr>
            <td align="center">
                <input type="submit" name="knap" value="Bestil">
            </td>
            <td align="center">
                <input type="reset" value="Fortryd">
            </td>
        </tr>
        </table>
        </form>
        <?php
    BREAK;
}
?>
Avatar billede xpress Nybegynder
06. maj 2004 - 14:13 #7
okay det ser virkelig godt ud sostack. jeg benytter frontpage, hvordan skal jeg indsætte denne kode på en side???

Og skal jeg bare gemme den med navnet f.eks.  bestil.php
Avatar billede jakobdo Ekspert
06. maj 2004 - 14:18 #8
Du skal jo også være på et webhotel, hvor der er PHP understøttet! :o)
Avatar billede xpress Nybegynder
06. maj 2004 - 14:21 #9
Det er det også, men jeg ved ikke en hat om hvordan man indsætter denne kode i microsofts normale frontpage???

Og hvordan man gemmer siden?? Skal der også gemmes en fil?? og skal siden hedde .php tilsidst.. :o)
Avatar billede sostack Nybegynder
06. maj 2004 - 14:23 #10
Siden skal ikke "sættes ind" nogen steder, det er et helt system for sig selv. Alt er i filen. Det du kan gøre er, at hente dine varer og priser fra en text-fil eller en database og sætte dem ind i $varer og $priser.

Ja, kald filen hvad du vil, men husk, som apress siger, din webserver skal kunne afvikle php.

//sostack
Avatar billede sostack Nybegynder
06. maj 2004 - 14:24 #11
apress skulle være jakobdo

//sostack
Avatar billede sostack Nybegynder
06. maj 2004 - 14:27 #12
kald filen bestil.php og upload den manuelt til webseveren. herefter laver du et link til siden på en af dine html-sider med en knap eller <code><a href="./bestil.php">til bestilling</a></code>

//sostack
Avatar billede jakobdo Ekspert
06. maj 2004 - 14:29 #13
xpress:
Nu siger jeg måske noget dumt! Men hvis du skal lave et bestillingssystem, var det så ikke en ide at lære en smule PHP?

Ikke sagt at man skal vide alt, men bare en lille ide om emnet, så vil du også være bedre stillet, hvis du skal kode om, kode nyt eller lign i fremtiden!
Avatar billede xpress Nybegynder
06. maj 2004 - 14:45 #14
okay foreløbig tak for koderne og svarene, jeg skal lige ha prøvet det af.

Er det egentlig muligt at få lavet en html formmail, som sender en besked tilbage til den e-mail adresse der er indtastet??

Er der nogle som kan lave sådan et formmail html script til mig. Tak!! Det sidste jeg mangler
Avatar billede jakobdo Ekspert
06. maj 2004 - 14:47 #15
Du kan garanteret lave noget lign i javascript! Men så snakker vi jo client-side, og så får du svært ved at samle bestillinger centralt på en server!
Avatar billede sostack Nybegynder
06. maj 2004 - 14:49 #16
Denne linie sender det der står i $body til den adresse der er indtastet og dig:
mail($_POST["email"],"Bestilling fra nettet" ,$body);
Hvis du vil have mere med til den der har bestilt, kan du tilføje en linie:
$body .= "Den besked du vile sende!\r\n"; lige før denne linie:
mail($_POST["email"],"Bestilling fra nettet" ,$body);

Så kommer beskeden ikke med til dig selv.
Avatar billede jakobdo Ekspert
19. september 2005 - 08:31 #17
Lukketid?
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