Posted by torriv (torriv), 28 April 2007
Hello again! long time since last time!
I have a little problem, that I can't figure out..
I have a mysql database, where the information on what a customer has choose to buy is, and this information is shown on det cart side.
now i have just the last step of this webshop before it is complete..
I use a php code that sends the information to email on a contact page, and it work perfect, but when i use it on the cart side, it doesn't work.. the code on the contact side for sending the mail is as follow:
Code:<?php $to = "btplast@btplast.com" ; $from = $_REQUEST['Email'] ; $name = $_REQUEST['Name'] ; $telefon = $_REQUEST['telefon'] ; $headers = "From: $from"; $subject = "Mail fra kontaktskjema";
$fields = array(); $fields{"Name"} = "Name"; $fields{"Email"} = "Email"; $fields{"telefon"} = "telefon"; $fields{"Message"} = "Message";
$body = "Følgende mail ble sendt fra hjemmesiden:\n\n"; foreach($fields as $a => $b){ $body .= sprintf("%20s: %s\n",$b,$_REQUEST[$a]); }
if($send) if($from == '') {print "Du har ikke skrevet inn noen Email";} else { if($name == '') {print "Du har ikke skrevet noe navn";} else { $send = mail($to, $subject, $body, $headers); if($send) { print "Mailen har nå blitt sendt! Takk for at du tok deg tid! :) <A href='index.html'>Tilbake til start</a>";} else {print "Et problem oppstod ved sending av mail. Vennligst send en mail til: tor@trivera.net"; } } } ?> <form method="POST" action="kontakt.php"> <table width="69%" height="0%" border="0" align="center"> <tr> <td height="33%" valign="bottom"><dl> <dt class="style14"><strong>Sekretær<br /> </strong>Hilde Granholt...................<span class="style19">911 53 041</span></dt> </dl></td> </tr> <tr> <td height="33%" valign="bottom"><dl> <dt class="style14"><strong>Produksjonsansvarlig<br /> </strong>Stein Bråthen....................915 34 110</dt> </dl></td> </tr> <tr> <td height="34%" valign="bottom"><dl> <dt class="style14"><strong>Daglig Leder<br /> </strong>Lars Bråthen.....................995 93 154<em><span class="style14"><strong> </strong></span></em></dt> </dl> </td> </tr> </table> <br /> <table width="67%" height="0%" border="0" align="center"> <tr> <td height="10%" colspan="2"><div align="right"></div></td> </tr> <tr> <td width="42%" height="11%"><div align="left"><span class="style20">Navn:</span></div></td> <td width="58%"><input name="Name" type="text" id="Name" /></td> </tr> <tr> <td height="11%"><div align="left"><span class="style20">Telefon:</span></div></td> <td><input name="telefon" type="text" id="telefon" /></td> </tr> <tr> <td height="11%"><div align="left"><span class="style20">E-post:</span></div></td> <td><input name="Email" type="text" id="Email" /></td> </tr> <tr> <td height="44%" valign="top"><div align="left"><span class="style20">Din forespørsel:</span></div></td> <td><textarea name="Message" rows="5" id="Message"></textarea></td> </tr> <tr> <td height="13%" valign="top"><div align="right"></div></td> <td><input type="submit" name="send" value="Send" /> <input type="reset" name="Submit2" value="Angre" /></td> </tr> </table></form> |
|
And the code on the cart, where it doesn't work is:
Code:<?php $to = "tor@trivera.net" ; $from = $_POST['Email'] ; $name = $_POST['Name'] ; $telefon = $_POST['telefon'] ; $adresse = $_POST['adresse'] ; $postadr = $_POST['postadr'] ; $headers = "From: $from"; $subject = "Mail fra kontaktskjema";
$fields = array(); $fields{"Name"} = "Name"; $fields{"Email"} = "Email"; $fields{"telefon"} = "telefon"; $fields{"Message"} = "Message"; $fields{"adresse"} = "adresse"; $fields{"postadr"} = "postadr";
$body = "Følgende mail ble sendt fra hjemmesiden:\n\n" . $row->itemNem . "\n" . 'til ' . $row->itemPrice;
if(isset($_REQUEST['submit'])) if($from == '') {print "Du har ikke skrevet inn noen Email";} else { if($name == '') {print "Du har ikke skrevet noe navn";} else { $send = mail($to, $subject, $body, $headers); if($send) { print "Mailen har nå blitt sendt! Takk for at du tok deg tid! :) <A href='index.html'>Tilbake til start</a>";} else {print "Et problem oppstod ved sending av mail. Vennligst send en mail til: tor@trivera.net"; } } } ?> <form name="frmCart" method="get" action="cart.php" > <table width="100%" cellspacing="0" cellpadding="0" border="0"> <tr bgcolor="#FFFFFF"> <td width="18%" height="25"> <strong><font face="verdana" size="1" color="#000000"> Antall </font> </strong></td> <td width="35%" height="25"> <strong><font face="verdana" size="1" color="#000000"> Produkt </font> </strong></td> <td width="16%" height="25"> <strong><font face="verdana" size="1" color="#000000"> Pris for 1 </font> </strong></td> <td width="31%" height="25"> <strong><font face="verdana" size="1" color="#000000"> fjerne? </font> </strong></td> </tr> <?php while($row = mysql_fetch_array($result)) { // Increment the total cost of all items $totalCost += ($row["qty"] * $row["itemPrice"]); ?> <tr> <td width="18%" height="25"> <font face="verdana" size="1" color="black"> <select name="<?php echo $row["itemId"]; ?>" onChange="UpdateQty(this)"> <?php for($i = 1; $i <= 200; $i++) { echo "<option "; if($row["qty"] == $i) { echo " SELECTED "; } echo ">" . $i . "</option>"; } ?> </select> </font> </td> <td width="35%" height="25"> <font face="verdana" size="1" color="black"> <?php echo $row["itemName"]; ?> </font> </td> <td width="16%" height="25"> <font face="verdana" size="1" color="black"> <?php echo number_format($row["itemPrice"], 2, ".", ","); ?>,-NOK </font> </td> <td width="31%" height="25"> <font face="verdana" size="1" color="black"> <a href="cart.php?action=remove_item&id=<?php echo $row["itemId"]; ?>">Fjern fra handlekurv</a> </font> </td> </tr> <?php } // Display the total ?> <tr> <td colspan="4"> <hr size="1" color="red" NOSHADE> </td> </tr> <tr> <td colspan="2"> <font face="verdana" size="1" color="black"> <a href="bestilling.php"><< Fortsett å handle</a> </font> </td> <td colspan="2"> <font face="verdana" size="2" color="black"> <b>Total Beløp: <?php echo number_format($totalCost, 2, ".", ","); ?>,-NOK</b> </font> </td> </tr> <tr> <td colspan="4"><div align="left"><br /> <table width="75%" border="0" align="center" cellpadding="3"> <tr> <td><div align="right">Navn/Bedrift: </div></td> <td><input name="Name" type="text" id="Name" /></td> </tr> <tr> <td><div align="right">Telefon nummer: </div></td> <td><input name="telefon" type="text" id="telefon" /></td> </tr> <tr> <td><div align="right">Adresse: </div></td> <td><input name="adresse" type="text" id="adresse" /></td> </tr> <tr> <td><div align="right">Post adresse:</div></td> <td><input name="postadr" type="text" id="postadr" /></td> </tr> <tr> <td><div align="right">E-post:</div></td> <td><input name="Email" type="text" id="Email" /></td> </tr> <tr> <td valign="middle"><div align="right">Kommentar:</div></td> <td><textarea name="Message" id="Message"></textarea></td> </tr> <tr> <td valign="top"> </td> <td><input name="send" type="submit" id="send" value="Send" /></td> </tr> </table> </div> <div align="left"> </div> </td> </tr> <tr> <td colspan="2"> </td> <td colspan="2"> </td> </tr> </table> </form> |
|
Can you see where the problem is?
Thanks for your time!
Posted by admin (Graham Ellis), 28 April 2007
It's very diificult so spot an error in a long piece of code, especially when the analysis is "does not work". That leaves me looking for a needle in a haystack (that may not translate well) without knowing what the needle even looks like

However ....
I GUESS that simply nothing happens, because of the
if(isset($_REQUEST['submit']))line. In this line, you're checking to see whether you have a form element that includes a
name=submit, but I don't see one. You've probably renamed your "submit" button to "send" ....
Posted by torriv (torriv), 28 April 2007
yes, it was as simple as that..
but know i get the error: "you havent insert any email"
The line on norwegian on the code is:
Code:if($from == '') {print "Du har ikke skrevet inn noen Email";} |
|
but i do insert a email...
Posted by admin (Graham Ellis), 28 April 2007
There are two ways of sending form data to the next script - GET and POST. You are specifying in the form tag that you wish to use the GET method, but then you have used $_POST which *only* collects data from the POST method.
Suggestion - replace
method=get by
method=post in the open form tag.
Posted by torriv (torriv), 28 April 2007
and again, it was that simple... it's hard to see that small things when u have that much of a code:p
when i got the email, it had everything in the FORM that i had input.. BUT not the thing i had order...
i have change a little on the code on the $body="" as follow:
Code:$body = "Følgende mail ble sendt fra hjemmesiden:\n\n"; foreach($fields as $a => $b){ $body .= sprintf("%20s: %s\n",$b,$_REQUEST[$a]); } $row->itemNem . "\n" . 'til ' . $row->itemPrice; |
|
and this is supposed to give me the things i have ordered..
if u wonna see the code for the whole code for this page it is here: http://norskwebforum.no/pastebin/8381
This page is a thread posted to the opentalk forum
at
www.opentalk.org.uk and
archived here for reference. To jump to the archive index please
follow
this link.