Avatar billede big_ossi Nybegynder
21. september 2005 - 23:54 Der er 11 kommentarer og
1 løsning

Tilføj sent til mail funktion

Hey


VIl høre om der er en som kan hjælpe med at tilføje en send funktion på denne kode. Så når en bruger trykker send, den så sender listen med de ting som er tilføjer i kurven til minordre@domain.dk og opdater mysql så bestilt står til "1" ved alle vare...

max points for et svar der virker for kan virkelig godt bruge en løsning.

men ordre.php kode:

<?
session_start();
if($s_navn && $s_password)
{
if(isset($_POST['opdate']))
{
    foreach($_POST['vantal'] as $id => $antal)
    {
    $stkpris = $_POST[sp];
    $vareantal = $antal;
    $vtotal = $stkpris * $vareantal;
        include("acon.php"); //forbind til DB, hvis ikke det allerede er gjort.
        mysql_query("UPDATE jpc_varekurv set vantal = ".$antal.", varetotal = ".$vtotal." WHERE vid=".$id." AND bruger=".$s_navn." LIMIT 1");
        if(mysql_affected_rows()==0)
        {
        }
    }
    header("localtion: " . $_SERVER['PHP_SELF']);
}
?><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.style1 {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 9px;
}
-->
</style>
</head><form action="" method="post">
<table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr class="style1"><td align="left" class="style1"><strong>Din indkøbskurv</strong></td>
<td></td><td></td><td></td></tr>
  <?
include("acon.php");
    $query = mysql_query("SELECT * FROM `jpc_varekurv` WHERE (`bruger` =$s_navn ) AND (`bestilt` =0 ) ORDER BY `kurvid` ASC") or die (mysql_error ());
if(mysql_num_rows($query) == "0")
{
    echo "Ingen vare I kurven";
}
else
{
    $count = 0;
  while($row = mysql_fetch_array($query))
  {
        $count++;
        if($count%2)
        {
            echo "<tr bgcolor=\"#ADB09D\">";
            echo "<td width=\"\" align=\"left\"><input name=\"sp\" type=\"hidden\" id=\"vp4\" value=\"$row[vp]\" size=\"3\">";
            echo "<a href=\"?side=shop/visvid.php&id=$row[vid]\">$row[vn]</td>";
            echo "<td>Antal: <input name=\"vantal[".$row[vid]."]\" type=\"text\" id=\"vantal4\" value=\"$row[vantal]\" size=\"3\"></td>";
            echo "<td>Pris:<td/>";
            echo "<td align=\"right\"><b> $row[varetotal] kr.</b></td></tr>";
        }
        else
        {
            echo "<tr><td width=\"\" align=\"left\"><input name=\"sp\" type=\"hidden\" id=\"vp4\" value=\"$row[vp]\" size=\"3\">";
            echo "<a href=\"?side=shop/visvid.php&id=$row[vid]\">$row[vn]</td>";
            echo "<td>Antal: <input name=\"vantal[".$row[vid]."]\" type=\"text\" id=\"vantal4\" value=\"$row[vantal]\" size=\"3\"></td>";
            echo "<td>Pris:<td/><td align=\"right\"><b> $row[varetotal] kr.</b></td></tr>";
        }
    }
    $sql = "SELECT SUM(varetotal) AS vsum FROM jpc_varekurv WHERE (bruger='$s_navn') AND (bestilt=0)";
    $query = mysql_query($sql) or die (mysql_error());
    $row = mysql_fetch_assoc($query);
    echo "<tr><td></td><td></td><td>I alt<td/><td align=\"right\"><b>$row[vsum] kr.</b></td></tr>";

    ?>
    <tr class="style1"><td align="left"><input name="opdate" type="submit" id="opdate" value="Opdater"></td>
  <td>&nbsp;</td>
  <td></td><td></td></tr>
<?
}
?>
</table>
</form>
<?
}
else
{
    echo "Login er krævet";
}
?>
Avatar billede jakobdo Ekspert
22. september 2005 - 07:59 #1
Hvis du retter din top i koden til:

<?
session_start();
if($s_navn && $s_password)
{
    if(isset($_POST['opdate']))
    {
        foreach($_POST['vantal'] as $id => $antal)
        {
            $stkpris = $_POST[sp];
            $vareantal = $antal;
            $vtotal = $stkpris * $vareantal;
            include("acon.php"); //forbind til DB, hvis ikke det allerede er gjort.
            mysql_query("UPDATE jpc_varekurv set vantal = ".$antal.", varetotal = ".$vtotal." WHERE vid=".$id." AND bruger=".$s_navn." LIMIT 1");
            if(mysql_affected_rows()==0)
            {
            }
    }
    header("localtion: " . $_SERVER['PHP_SELF']);
   
    if(isset($_POST['send']))
        {
            $query = mysql_query("SELECT * FROM `jpc_varekurv` WHERE (`bruger` =$s_navn ) AND (`bestilt` =0 ) ORDER BY `kurvid` ASC") or die (mysql_error ());
            if(mysql_num_rows($query) != 0)
            {
                $message = "Vare bestilt:\n";
                $subject = "Dette er en test";
                $emailTo = "minordre@domain.dk";
                $emailFrom = "webmaster@{$_SERVER['SERVER_NAME']}";
               
                while($row = myqsl_fetch_assoc($query))
                {
                    $message .= $row[vn] . "\n";
                }
               
                mail($emailTo, $subject, $message,
                    "From: ".$emailFrom."\r\n" .
                    "Reply-To: ".$emailFrom.\r\n" .
                    "X-Mailer: PHP/" . phpversion());

                $query = mysql_query("UPDATE `jpc_varekurv` SET bestilt=1 WHERE (`bruger` =$s_navn ) AND (`bestilt` =0 )") or die (mysql_error ());
            }
        header("localtion: " . $_SERVER['PHP_SELF']);
        }
?>

og så tilføjer en submit knap med name="send" så skulle den trigge.
Avatar billede xyborx Nybegynder
22. september 2005 - 08:12 #2
jakobdo: Det hedder da location, ikke localtion ;) Iøvrigt plejer man vist at skrive headere med stort forbogstav.
Avatar billede jakobdo Ekspert
22. september 2005 - 08:16 #3
location var trykfejl.
header er med småt, ifølge: http://dk2.php.net/header (men de tager nok bare fejl) :o)
Avatar billede xyborx Nybegynder
22. september 2005 - 08:20 #4
Nu tænkte jeg mere på selve headeren man sender. Der ville jeg fx skrive Location i stedet for location. Det gør de iøvrigt også på http://dk2.php.net/header ;) Det ser nu ikke ud til at have den store betydning, men når det nu også står med stort i rfc'en, så må man hellere holde sig til det. Der skal nok være nogle browsere derude som ikke kan klare det.
Avatar billede big_ossi Nybegynder
22. september 2005 - 08:29 #5
Tak for dit bud.. har lagt det ind men den viser kune en tom side nu..

her er koden som den der ud nu:

<?
session_start();
if($s_navn && $s_password)
{
    if(isset($_POST['opdate']))
    {
        foreach($_POST['vantal'] as $id => $antal)
        {
            $stkpris = $_POST[sp];
            $vareantal = $antal;
            $vtotal = $stkpris * $vareantal;
            include("acon.php"); //forbind til DB, hvis ikke det allerede er gjort.
            mysql_query("UPDATE jpc_varekurv set vantal = ".$antal.", varetotal = ".$vtotal." WHERE vid=".$id." AND bruger=".$s_navn." LIMIT 1");
            if(mysql_affected_rows()==0)
            {
            }
    }
    header("localtion: " . $_SERVER['PHP_SELF']);
 
    if(isset($_POST['send']))
        {
            $query = mysql_query("SELECT * FROM `jpc_varekurv` WHERE (`bruger` =$s_navn ) AND (`bestilt` =0 ) ORDER BY `kurvid` ASC") or die (mysql_error ());
            if(mysql_num_rows($query) != 0)
            {
                $message = "Vare bestilt:\n";
                $subject = "Dette er en test";
                $emailTo = "minordre@xxxx.dk";
                $emailFrom = "webmaster@{$_SERVER['SERVER_NAME']}";
             
                while($row = myqsl_fetch_assoc($query))
                {
                    $message .= $row[vn] . "\n";
                }
             
                mail($emailTo, $subject, $message,
                    "From: ".$emailFrom."\r\n" .
                    "Reply-To: ".$emailFrom."\r\n" .
                    "X-Mailer: PHP/" . phpversion());

                $query = mysql_query("UPDATE `jpc_varekurv` SET bestilt=1 WHERE (`bruger` =$s_navn ) AND (`bestilt` =0 )") or die (mysql_error ());
            }
        header("localtion: " . $_SERVER['PHP_SELF']);
        }
?><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.style1 {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 9px;
}
-->
</style>
</head>
<form action="" method="post">
<table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr class="style1"><td align="left" class="style1"><strong>Din indkøbskurv</strong></td>
<td></td><td></td><td></td></tr>
  <?
include("acon.php");
    $query = mysql_query("SELECT * FROM `jpc_varekurv` WHERE (`bruger` =$s_navn ) AND (`bestilt` =0 ) ORDER BY `kurvid` ASC") or die (mysql_error ());
if(mysql_num_rows($query) == "0")
{
    echo "Ingen vare I kurven";
}
else
{
    $count = 0;
  while($row = mysql_fetch_array($query))
  {
        $count++;
        if($count%2)
        {
            echo "<tr bgcolor=\"#ADB09D\">";
            echo "<td width=\"\" align=\"left\"><input name=\"sp\" type=\"hidden\" id=\"vp4\" value=\"$row[vp]\" size=\"3\">";
            echo "<a href=\"?side=shop/visvid.php&id=$row[vid]\">$row[vn]</td>";
            echo "<td>Antal: <input name=\"vantal[".$row[vid]."]\" type=\"text\" id=\"vantal4\" value=\"$row[vantal]\" size=\"3\"></td>";
            echo "<td>Pris:<td/>";
            echo "<td align=\"right\"><b> $row[varetotal] kr.</b></td></tr>";
        }
        else
        {
            echo "<tr><td width=\"\" align=\"left\"><input name=\"sp\" type=\"hidden\" id=\"vp4\" value=\"$row[vp]\" size=\"3\">";
            echo "<a href=\"?side=shop/visvid.php&id=$row[vid]\">$row[vn]</td>";
            echo "<td>Antal: <input name=\"vantal[".$row[vid]."]\" type=\"text\" id=\"vantal4\" value=\"$row[vantal]\" size=\"3\"></td>";
            echo "<td>Pris:<td/><td align=\"right\"><b> $row[varetotal] kr.</b></td></tr>";
        }
    }
    $sql = "SELECT SUM(varetotal) AS vsum FROM jpc_varekurv WHERE (bruger='$s_navn') AND (bestilt=0)";
    $query = mysql_query($sql) or die (mysql_error());
    $row = mysql_fetch_assoc($query);
    echo "<tr><td></td><td></td><td>I alt<td/><td align=\"right\"><b>$row[vsum] kr.</b></td></tr>";

    ?>
    <tr class="style1"><td align="left"><input name="opdate" type="submit" id="opdate" value="Opdater">
    eller
        <input name="send" type="submit" id="send" value="Send bestilling"></td>
      <td>&nbsp;</td>
  <td></td><td></td></tr>
<?
}
?>
</table>
</form>
<?
}
}
else
{
    echo "Login er krævet";
}
?>
Avatar billede jakobdo Ekspert
22. september 2005 - 08:32 #6
Kan jeg prøve at se siden?
Avatar billede big_ossi Nybegynder
22. september 2005 - 22:24 #7
ja har du msn eller mail jeg kan sende url og kode til login ?
Avatar billede big_ossi Nybegynder
22. september 2005 - 23:04 #8
Jes har fået den til at aktiver send funktionen ved at sætte den } som manglede det rigitge sted.

men når man trykker send så kommer denne fejl:
Fatal error: Call to undefined function: myqsl_fetch_assoc() in /hsphere/local/home/ossipoff/ossipoff.net/demo/jpc/sider/shop/order.php on line 30

det er så i noget af denne del af koden det går galt.

             
                while($row = myqsl_fetch_assoc($query))
                {
                    $message .= $row[vn] . "\n";
                }
Avatar billede big_ossi Nybegynder
22. september 2005 - 23:13 #9
*S* Okay man overser det jo, men kunne se det da jeg havde postet det indlæg myqsl

så rettede det lige nu spiller det..
Avatar billede jakobdo Ekspert
23. september 2005 - 13:24 #10
Går ud fra et svar er på sin plads så! :o)
Avatar billede big_ossi Nybegynder
24. september 2005 - 16:31 #11
Det er det helt sikkert.. takker for hjælpen
Avatar billede jakobdo Ekspert
25. september 2005 - 09:40 #12
Takker for point!
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