| Autor | Zpráva | ||
|---|---|---|---|
| warun Profil |
Zdravím Vás,
mám menší problém a nemôžem sa dopátrať úspešnému riešeniu. Má nákupný košík s týmto kódom ( nie je môj vlastný, nemám až také skúsenosti/informácie ): cart.php <?php
$product_id = $_GET[id]; //the product id from the URL
$action = $_GET[action]; //the action from the URL
//if there is an product_id and that product_id doesn't exist display an error message
if($product_id && !productExists($product_id)) {
die("Error. Product Doesn't Exist");
}
switch($action) { //decide what to do
case "add":
$_SESSION['cart'][$product_id]++; //add one to the quantity of the product with id $product_id
break;
case "remove":
$_SESSION['cart'][$product_id]--; //remove one from the quantity of the product with id $product_id
if($_SESSION['cart'][$product_id] == 0) unset($_SESSION['cart'][$product_id]); //if the quantity is zero, remove it completely (using the 'unset' function) - otherwise is will show zero, then -1, -2 etc when the user keeps removing items.
break;
case "empty":
unset($_SESSION['cart']); //unset the whole cart, i.e. empty the cart.
break;
}
if($_SESSION['cart']) { //if the cart isn't empty
//show the cart
echo "<table border=\"0\" padding=\"3\" width=\"100%\">"; //format the cart using a HTML table
//iterate through the cart, the $product_id is the key and $quantity is the value
foreach($_SESSION['cart'] as $product_id => $quantity) {
//get the name, description and price from the database - this will depend on your database implementation.
//use sprintf to make sure that $product_id is inserted into the query as a number - to prevent SQL injection
$spojenie=mysql_connect("host","user","pw");
mysql_select_db("DB", $spojenie);
$sql = sprintf("SELECT nazov, popis_kratky, cena FROM produkty WHERE id = %d;",
$product_id, $spojenie);
$result = mysql_query($sql);
//Only display the row if there is a product (though there should always be as we have already checked)
if(mysql_num_rows($result) > 0) {
list($nazov, $popis_kratky, $cena) = mysql_fetch_row($result);
$line_cost = $cena * $quantity; //work out the line cost
$total = $total + $line_cost; //add to the total cost
echo "<tr>";
//show this information in table cells
echo "<td align=\"left\">$nazov</td>";
//along with a 'remove' link next to the quantity - which links to this page, but with an action of remove, and the id of the current product
echo "<td align=\"center\">$quantity <a href=\"?page=cart&action=remove&id=$product_id\">X</a></td>";
echo "<td align=\"right\">$line_cost €</td>";
echo "</tr>";
}
}
//show the total
echo "<tr>";
echo "<td colspan=\"2\" align=\"right\">Spolu k úhrade: </td>";
echo "<td align=\"right\">$total €</td>";
echo "</tr>";
//show the empty cart link - which links to this page, but with an action of empty. A simple bit of javascript in the onlick event of the link asks the user for confirmation
echo "<tr>";
echo "<td colspan=\"3\" align=\"right\"><a href=\"?strana=cart&action=empty\" onclick=\"return confirm('Ste si istý?');\">Vyprázdniť košík</a></br><a href=\"javascript:history.back()\">Pokračovať v nákupe</a></br><a href=\"?strana=dokoncit\"><strong>Dokončiť objednávku</strong></a></td>";
echo "</tr>";
echo "</table>";
}else{
//otherwise tell the user they have no items in their cart
echo "Vo Vašom nákupnom košíku sa nenachádza žiaden tovar.</br>";
}
//function to check if a product exists
function productExists($product_id) {
//use sprintf to make sure that $product_id is inserted into the query as a number - to prevent SQL injection
$spojenie=mysql_connect("host","user","pw");
mysql_select_db("DB", $spojenie);
$sql = sprintf("SELECT nazov, popis_kratky, cena FROM produkty WHERE id = %d;",
$product_id, $spojenie);
return mysql_num_rows(mysql_query($sql)) > 0;
}
?>Kód pre formulár mám takýto: dokoncit.php <form action="?strana=kosik_spracuj" method="post" class="field"> <table> <tr> <td>Celková cena k úhrade:</td> <td>TU MA BYT CELKOVA SUMA</td> </tr> ...... Prosím Vás o radu, nakoľko si neviem s tým pomôcť. |
||
| Taps Profil |
warun:
proměnné, které chceš zobrazit na další stránce si dej do <? $_SESSION ?> |
||
| warun Profil |
Taps vieš mi, prosím, uviesť konkrétne ako? Nie som veľmi zbehnutý v php. Ako dostanem údaj z cart.php z podmienky $total ( konkrétne z $total = $total + $line_cost ) do session??
|
||
| Taps Profil |
#4 · Zasláno: 28. 7. 2014, 22:51:33
warun:
tak na 80. řádek dej níže uvedené a pak v souboru cart.php dej echo $_SESSION['celkem']; <? $_SESSION['celkem']=$total; ?> |
||
| warun Profil |
Vďaka, funguje to. Ešte sa opýtam, ak aplikujem ten istý postup
$_SESSION['nazov']=$nazov; $_SESSION['quantity']=$quantity; $_SESSION['total']=$total; a následne to chcem vypísať cez echo tak to nevypíše vôbec nič, len tú celkovú sumu. Mám to vložiť niekam inam alebo to ináč zapísať?
// EDIT Tak som si všimol, že zle vypisujem údaje (mal som v echo aj =$nazov a $quantity ) no teraz mi vypíše len poslednú pridanú položku a nie celý košík. |
||
| Taps Profil |
#6 · Zasláno: 28. 7. 2014, 23:11:14
warun:
Bude potřeba pracovat s polem. |
||
| warun Profil |
#7 · Zasláno: 28. 7. 2014, 23:27:18
Fúha, číže ak mám podmienky $nazov a $quantity tak to mám vložiť do poľa nejak takto :
$pole = Array ('$nazov', '$quantity');echo $pole[0]; echo $pole[1]; Prosím o radu, nakoľko je to pre mňa veľmi dôležité a v php nemám veľké ( skôr minimálne ) znalosti. Vďaka |
||
| Taps Profil |
warun:
na 53. řádek přidej <? $_SESSION['zbozi'][$nazov] = $quantity; ?> <?
foreach($_SESSION['zbozi'] as $index => $value){
echo $index. '-'.$value.'<br>';
}
?>[/pre] |
||
| warun Profil |
Ďakujem, funguje to.
Ešte sa opýtam. Dajú sa tieto údaje, ktoré sa preniesli z cart.php do dokoncit.php ( tam sú cez to foreach prenesené ) preniesť ďalej do tretieho súboru, ktorý cez phpMailer ( musím takto, hosting nemá zapnutú funkciu mail() ) odošle všetky údaje na môj e-mail? prikladám script phpMailera <script language="javascript" type="text/javascript">
function clearText(field)
{
if (field.defaultValue == field.value) field.value = '';
else if (field.value == '') field.value = field.defaultValue;
}
</script>
<?php
Session_start;
$odosielatel = $_POST['meno'].' '.$_POST['priezvisko'];
$meno = $_POST['meno'];
$priezvisko =$_POST['priezvisko'];
$cislo = $_POST['cislo'];
$adresa = $_POST['adresa'];
$mesto= $_POST['mesto'];
$psc= $_POST['psc'];
$sprava = $_POST['sprava'];
$cena = $_SESSION['total'];
require 'phpmailerautoload.php';
$mail = new PHPMailer;
$mail->Charset = "utf-8";
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp.gmail.com'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'username'; // SMTP username
$mail->Password = 'password'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable encryption, 'ssl' also accepted
$mail->From = '$odosielatel';
$mail->FromName = $odosielatel;
$mail->addAddress('e-mail', 'name'); // Add a recipient
$mail->WordWrap = 50; // Set word wrap to 50 characters
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'Objednávka';
$mail->Body = "
<table width='100%'>
<tr>
<td width='60%'>Objednávka od</td>
<td>$odosielatel</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td colspan='2' style='border: 1px solid #cacaca;'>Korešpondenčná adresa</td>
</tr>
<tr>
<td width='60%'>Meno</td>
<td width='40%'>$meno</td>
</tr>
<tr>
<td width='60%'>Priezvisko</td>
<td width='40%'>$priezvisko</td>
</tr>
<tr>
<td width='60%'>Ulica, číslo</td>
<td width='40%'>$adresa</td>
</tr>
<tr>
<td width='60%'>Mesto:</td>
<td width='40%'>$mesto</td>
</tr>
<tr>
<td width='60%'>PSČ</td>
<td width='40%'>$psc</td>
</tr>
<tr>
<td width='60%'>Telefónne číslo</td>
<td width='40%'>$cislo</td>
</tr>
<tr>
<td width='60%'>Správa</td>
<td width='40%'>$sprava</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td colspan='2' style='border: 1px solid #cacaca;'>Objednávka</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td width='60%'>Tovar</td>
<td width='40%'>Počet ks</td>
</tr>
<tr>
<td width='60%'>podmienka</td>
<td width='40%'>podmienka</td>
</tr>
<tr>
<td width='60%'>Celková cena objednávky</td>
<td width='40%'>$cena</td>
</tr>
</table>
";
if (!$odosielatel || !$cislo || !$adresa) {
echo 'Formulár nebol odoslaný. Skontrolujte si, prosím, vypísanie všetkých políčok a skúste to znova.';
echo '<a href="?strana=dokoncit">Späť na formulár</a>';
}
elseif(!$mail->send()) {
echo 'Formulár nebol odoslaný. Skontrolujte si, prosím, vypísanie všetkých políčok a skúste to znova.';
echo '<a href="?strana=dokoncit">Späť na formulár</a>';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Vaša objednávka bola odoslaná. V krátkej dobe Vás bude kontaktovať administrátor.';
}
?>$mail->Body = "...... <tr> <td width='60%'>Tovar</td> <td width='40%'>Počet ks</td> </tr> <tr> <td width='60%'>VYPISAT TOVAR</td> <td width='40%'>VYPISAT POCET KS</td> </tr> ..... "; |
||
| Taps Profil |
#10 · Zasláno: 29. 7. 2014, 20:52:45
warun:
„Dajú sa tieto údaje, ktoré sa preniesli z cart.php do dokoncit.php ( tam sú cez to foreach prenesené ) preniesť ďalej do tretieho súboru, ktorý cez phpMailer ( musím takto, hosting nemá zapnutú funkciu mail() ) odošle všetky údaje na môj e-mail?“ Ano, údaje je možjavascript://%20K%C3%B3dné přenést i do třetího souboru, k údajům se opět dostanete prostřednictvím session <? $_SESSION['zbozi'] ?> |
||
| warun Profil |
#11 · Zasláno: 29. 7. 2014, 22:18:36
To, že sa to dá cez SESSION som už pochopil, ono mi teraz ide o to, aby mi do tabuľky v phpMailery vypísalo všetky produkty a ich počet, ktoré sa momentálne zobrazujú v súbore dokoncit.php pomocou foreach, pretože ak do tabuľky zadám $tovar ( a $tovar = $_SESSION['zbozi']; ) tak v e-maily, ktorý mi príde po odoslaní je na mieste kde má byť vypísaný tovar napísané "Array" :(
|
||
| Taps Profil |
#12 · Zasláno: 29. 7. 2014, 22:23:21
warun:
$tovar musíš opět projít přes foreach, přesně tak jak [#8] Taps |
||
| warun Profil |
#13 · Zasláno: 1. 8. 2014, 01:17:29
Ja už naozaj neviem ako to mám spraviť. Dával som to takto:
<td width='60%'>
"
foreach($_SESSION["zbozi"] as $index => $value){
echo $index.'<br>';
}
"
</td>
<td width='40%'>
"foreach($_SESSION["zbozi"] as $index => $value){
echo $value.'<br>';
}
"
</td> |
||
| Taps Profil |
#14 · Zasláno: 1. 8. 2014, 06:56:06
warun:
echo '<td width="60%"> ';
foreach($_SESSION["zbozi"] as $index => $value){
echo $index.'<br>';
}
</td>
echo '<td width="40%">';
foreach($_SESSION["zbozi"] as $index => $value){
echo $value.'<br>';
}
echo'</td>'; |
||
| warun Profil |
#15 · Zasláno: 1. 8. 2014, 17:42:19
Rád by som to vyskúšal, no nechápem tomu, prečo mi prestali fungovať SESSION ( celkovo ). Dnes ráno okolo 7:00 všetko fungovalo a poobede, keď som sa šiel prihlásiť a otestovať to čo si mi poradil ma už ani neprihlási ani nič - neukladá session. Kôli čomu to môže byť?
p.s.: Žiadne chybové hlásenie mi nevypisuje. |
||
| Taps Profil |
#16 · Zasláno: 1. 8. 2014, 18:11:51
warun:
nechybí ti v souborech na začátku session_start(); ? |
||
| warun Profil |
Nechýba, práveže to ma zarazilo. Ono to dnes ráno fungovalo a poobede už zázračne nie.
Práve som skúsil nahodiť wordpress a pri pokuse o prihlásenie sa do administrácie mi to vypisuje : CHYBA:Súbory „cookie“ sú blokované pre neočakávaný výstup. Pritom cookies mám v prehliadači povolené. Zrejme budem nútený volať na technickú podporu webhostingu, či sa u nich nevyskytol nejaký problém. //EDIT Po 40 minútach sme sa dorpacovali k výsledku. V PSPade mi uložilo súbor index.php vo formáte UTF-8 + niečo |
||
| Kubo2 Profil |
#18 · Zasláno: 1. 8. 2014, 23:48:30
warun:
PSPad ti asi na začiatok súboru ešte pred značku <?php vložil neviditeľný znak, tzv. BOM (= byte-order mark), indikujúci, že celý nasledujúci obsah súboru je uložený v kódovaní UTF-8. Tento znak na začiatku súboru spôsobil predčasné odoslanie hlavičiek HTTP odpovede, takže už následne nebolo možné nastaviť akúkoľvek cookie, ktoré sú reprezentované v HTTP odpovedi hlavičkami Set-Cookie (HTTP odpoveď už nebolo možné rozširovať).
Vkladaniu znaku BOM zamedzíš zvolením možnosti Kódovanie > UTF-8 bez BOM alebo obdobnej. |
||
| warun Profil |
#19 · Zasláno: 2. 8. 2014, 02:49:20
Taps:
Vložil som to presne takto ako si mi to tu napísal a hádže mi to error: Parse error: syntax error, unexpected T_ECHO in /home/webspace/herb-vyziva.eu/www/html/kosik_spracuj.php on line 177 $mail->Body = "
<html><body>
<table width='100%'>
.......
riadok 177
<tr>
echo '<td width="60%"> ';
foreach($_SESSION["zbozi"] as $index => $value){
echo $index.'<br>';
}
</td>
echo '<td width="40%">';
foreach($_SESSION["zbozi"] as $index => $value){
echo $value.'<br>';
}
echo'</td>';
</tr>
<tr>
<td width='60%'>Celková cena objednávky</td>
<td width='40%'>$cena</td>
</tr>
</table>
</body>
</html>
"; |
||
| Taps Profil |
#20 · Zasláno: 2. 8. 2014, 14:42:28
warun:
byla tam ještě drobná chybička <?
echo '<td width="60%"> ';
foreach($_SESSION["zbozi"] as $index => $value){
echo $index.'<br>';
}
echo'</td>';
echo '<td width="40%">';
foreach($_SESSION["zbozi"] as $index => $value){
echo $value.'<br>';
}
echo'</td>';
?> |
||
| warun Profil |
#21 · Zasláno: 2. 8. 2014, 20:20:19
Nepomáha :(
Parse error: syntax error, unexpected T_LNUMBER in /home/webspace/herb-vyziva.eu/www/html/kosik_spracuj.php on line 178 Nechápem ako sa to má do tej podmienky $mail->body zapísať. Keď to presne odtiaľto skopírujem a vložím tak vypíše ten syntax error. |
||
| Taps Profil |
#22 · Zasláno: 2. 8. 2014, 21:02:12
warun:
můžeš sem vložit celý kód ? |
||
| warun Profil |
#23 · Zasláno: 2. 8. 2014, 21:06:18
Samozrejme
<script language="javascript" type="text/javascript">
function clearText(field)
{
if (field.defaultValue == field.value) field.value = '';
else if (field.value == '') field.value = field.defaultValue;
}
</script>
<?php
Session_start;
$datum = date("d/m/Y H:i:s");
$vs = Time();
$meno = $_POST['meno'];
$priezvisko =$_POST['priezvisko'];
$cislo = $_POST['cislo'];
$email = $_POST['email'];
$ico = $_POST['ico'];
$dic = $_POST['dic'];
$adresa = $_POST['adresa'];
$mesto= $_POST['mesto'];
$psc= $_POST['psc'];
$sprava = $_POST['sprava'];
$cena = $_SESSION['total'];
$meno_faktura = $_POST['meno_faktura'];
$priezvisko_faktura =$_POST['priezvisko_faktura'];
$cislo_faktura = $_POST['cislo_faktura'];
$email_faktura = $_POST['email_faktura'];
$ico_faktura = $_POST['ico_faktura'];
$dic_faktura = $_POST['dic_faktura'];
$adresa_faktura = $_POST['adresa_faktura'];
$mesto_faktura = $_POST['mesto_faktura'];
$psc_faktura = $_POST['psc_faktura'];
$sprava_faktura = $_POST['sprava_faktura'];
$cena = $_SESSION['total'];
$_SESSION['zbozi'][$nazov_normal] = $quantity;
require 'phpmailerautoload.php';
$mail = new PHPMailer;
$mail->Charset = "utf-8";
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp.gmail.com'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'email'; // SMTP username
$mail->Password = 'heslo'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable encryption, 'ssl' also accepted
$mail->From = 'email';
$mail->FromName = 'meno';
$mail->addAddress('email', 'meno'); // Add a recipient
$mail->AddCC($email);
$mail->WordWrap = 50; // Set word wrap to 50 characters
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'Vaša objednávka číslo:' .$vs. ' z Herb-Vyziva.eu';
$mail->Body = "
<html><body>
<table width='100%'>
<tr>
<td width='60%'>Variabilný symbol</td>
<td>$vs</td>
</tr>
<tr>
<td width='60%'>Dátum a čas</td>
<td width='40%'>$datum</td>
</tr>
<tr>
<td colspan='2'>Na tento e-mail <strong>neodpovedajte</strong>.</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td colspan='2' style='border: 1px solid #cacaca;'>Kontaktné informácie</td>
</tr>
<tr>
<td width='60%'>Meno</td>
<td width='40%'>$meno</td>
</tr>
<tr>
<td width='60%'>Priezvisko</td>
<td width='40%'>$priezvisko</td>
</tr>
<tr>
<td width='60%'>Telefónne číslo</td>
<td width='40%'>$cislo</td>
</tr>
<tr>
<td width='60%'>E-mail</td>
<td width='40%'>$email</td>
</tr>
<tr>
<td width='60%'>IČO</td>
<td width='40%'>$ico</td>
</tr>
<tr>
<td width='60%'>DIČ</td>
<td width='40%'>$dic</td>
</tr>
<tr>
<td colspan='2' style='border: 1px solid #cacaca;'>Adresa na doručenie</td>
</tr>
<tr>
<td width='60%'>Ulica, číslo</td>
<td width='40%'>$adresa</td>
</tr>
<tr>
<td width='60%'>Mesto:</td>
<td width='40%'>$mesto</td>
</tr>
<tr>
<td width='60%'>PSČ</td>
<td width='40%'>$psc</td>
</tr>
<tr>
<td colspan='2' style='border: 1px solid #cacaca;'>Fakturačná adresa</td>
</tr>
<tr>
<td width='60%'>Meno</td>
<td width='40%'>$meno_faktura</td>
</tr>
<tr>
<td width='60%'>Priezvisko</td>
<td width='40%'>$priezvisko_faktura</td>
</tr>
<tr>
<td width='60%'>Telefónne číslo</td>
<td width='40%'>$cislo_faktura</td>
</tr>
<tr>
<td width='60%'>E-mail</td>
<td width='40%'>$email_faktura</td>
</tr>
<tr>
<td width='60%'>IČO</td>
<td width='40%'>$ico_faktura</td>
</tr>
<tr>
<td width='60%'>DIČ</td>
<td width='40%'>$dic_faktura</td>
</tr>
<tr>
<td width='60%'>Ulica, číslo</td>
<td width='40%'>$adresa_faktura</td>
</tr>
<tr>
<td width='60%'>Mesto:</td>
<td width='40%'>$mesto_faktura</td>
</tr>
<tr>
<td width='60%'>PSČ</td>
<td width='40%'>$psc_faktura</td>
</tr>
<tr>
<td width='60%'>Správa</td>
<td width='40%'>$sprava_faktura</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td colspan='2' style='border: 1px solid #cacaca;'>Objednávka</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td width='60%'>Tovar</td>
<td width='40%'>Počet ks</td>
</tr>
<tr>
<td width='60%'>
'foreach($_SESSION['zbozi'] as $index => $value){
echo $index.<br>;
}'
</td>
<td width='40%'>
'foreach($_SESSION['zbozi'] as $index => $value){
echo $value.<br>;
} '
</td>
</tr>
<tr>
<td width='60%'>Celková cena objednávky</td>
<td width='40%'>$cena</td>
</tr>
</table>
</body>
</html>
";
if (!$meno || !$priezvisko || !$cislo || !$email || !$adresa || !$mesto || !$psc) {
echo 'Formulár nebol odoslaný. Skontrolujte si, prosím, vypísanie všetkých políčok a skúste to znova.';
echo '<a href="?strana=dokoncit">Späť na formulár</a>';
}
elseif(!$mail->send()) {
echo 'Formulár nebol odoslaný. Skontrolujte si, prosím, vypísanie všetkých políčok a skúste to znova.';
echo '<a href="?strana=dokoncit">Späť na formulár</a>';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Vaša objednávka bola odoslaná. V krátkej dobe Vás bude kontaktovať administrátor.';
}
?> |
||
| Taps Profil |
warun:
178-198 <?
";
foreach($_SESSION['zbozi'] as $index => $value){
echo $index."<br>";
}
echo"</td>
<td width='40%'>";
foreach($_SESSION['zbozi'] as $index => $value){
echo $value."<br>";
}
echo"</td>
</tr>
<tr>
<td width='60%'>Celková cena objednávky</td>
<td width='40%'>$cena</td>
</tr>
</table>
</body>
</html>";
";
?> |
||
| warun Profil |
Parse error: syntax error, unexpected '=' in /home/webspace/herb-vyziva.eu/www/html/kosik_spracuj.php on line 205
teraz to mám takto: <script language="javascript" type="text/javascript">
function clearText(field)
{
if (field.defaultValue == field.value) field.value = '';
else if (field.value == '') field.value = field.defaultValue;
}
</script>
<?php
session_start();
$datum = date("d/m/Y H:i:s");
$vs = Time();
$meno = $_POST['meno'];
$priezvisko =$_POST['priezvisko'];
$cislo = $_POST['cislo'];
$email = $_POST['email'];
$ico = $_POST['ico'];
$dic = $_POST['dic'];
$adresa = $_POST['adresa'];
$mesto= $_POST['mesto'];
$psc= $_POST['psc'];
$sprava = $_POST['sprava'];
$cena = $_SESSION['total'];
$meno_faktura = $_POST['meno_faktura'];
$priezvisko_faktura =$_POST['priezvisko_faktura'];
$cislo_faktura = $_POST['cislo_faktura'];
$email_faktura = $_POST['email_faktura'];
$ico_faktura = $_POST['ico_faktura'];
$dic_faktura = $_POST['dic_faktura'];
$adresa_faktura = $_POST['adresa_faktura'];
$mesto_faktura = $_POST['mesto_faktura'];
$psc_faktura = $_POST['psc_faktura'];
$sprava_faktura = $_POST['sprava_faktura'];
$cena = $_SESSION['total'];
$_SESSION['zbozi'][$nazov_normal] = $quantity;
require 'phpmailerautoload.php';
$mail = new PHPMailer;
$mail->Charset = "utf-8";
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp.gmail.com'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'email'; // SMTP username
$mail->Password = 'heslo'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable encryption, 'ssl' also accepted
$mail->From = 'email';
$mail->FromName = 'meno';
$mail->addAddress('email', 'meno'); // Add a recipient
$mail->AddCC($email);
$mail->WordWrap = 50; // Set word wrap to 50 characters
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'Vaša objednávka číslo:' .$vs. ' z Herb-Vyziva.eu';
$mail->Body = "
<html><body>
<table width='100%'>
<tr>
<td width='60%'>Variabilný symbol</td>
<td>$vs</td>
</tr>
<tr>
<td width='60%'>Dátum a čas</td>
<td width='40%'>$datum</td>
</tr>
<tr>
<td colspan='2'>Na tento e-mail <strong>neodpovedajte</strong>.</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td colspan='2' style='border: 1px solid #cacaca;'>Kontaktné informácie</td>
</tr>
<tr>
<td width='60%'>Meno</td>
<td width='40%'>$meno</td>
</tr>
<tr>
<td width='60%'>Priezvisko</td>
<td width='40%'>$priezvisko</td>
</tr>
<tr>
<td width='60%'>Telefónne číslo</td>
<td width='40%'>$cislo</td>
</tr>
<tr>
<td width='60%'>E-mail</td>
<td width='40%'>$email</td>
</tr>
<tr>
<td width='60%'>IČO</td>
<td width='40%'>$ico</td>
</tr>
<tr>
<td width='60%'>DIČ</td>
<td width='40%'>$dic</td>
</tr>
<tr>
<td colspan='2' style='border: 1px solid #cacaca;'>Adresa na doručenie</td>
</tr>
<tr>
<td width='60%'>Ulica, číslo</td>
<td width='40%'>$adresa</td>
</tr>
<tr>
<td width='60%'>Mesto:</td>
<td width='40%'>$mesto</td>
</tr>
<tr>
<td width='60%'>PSČ</td>
<td width='40%'>$psc</td>
</tr>
<tr>
<td colspan='2' style='border: 1px solid #cacaca;'>Fakturačná adresa</td>
</tr>
<tr>
<td width='60%'>Meno</td>
<td width='40%'>$meno_faktura</td>
</tr>
<tr>
<td width='60%'>Priezvisko</td>
<td width='40%'>$priezvisko_faktura</td>
</tr>
<tr>
<td width='60%'>Telefónne číslo</td>
<td width='40%'>$cislo_faktura</td>
</tr>
<tr>
<td width='60%'>E-mail</td>
<td width='40%'>$email_faktura</td>
</tr>
<tr>
<td width='60%'>IČO</td>
<td width='40%'>$ico_faktura</td>
</tr>
<tr>
<td width='60%'>DIČ</td>
<td width='40%'>$dic_faktura</td>
</tr>
<tr>
<td width='60%'>Ulica, číslo</td>
<td width='40%'>$adresa_faktura</td>
</tr>
<tr>
<td width='60%'>Mesto:</td>
<td width='40%'>$mesto_faktura</td>
</tr>
<tr>
<td width='60%'>PSČ</td>
<td width='40%'>$psc_faktura</td>
</tr>
<tr>
<td width='60%'>Správa</td>
<td width='40%'>$sprava_faktura</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td colspan='2' style='border: 1px solid #cacaca;'>Objednávka</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td width='60%'>Tovar</td>
<td width='40%'>Počet ks</td>
</tr>
<tr>
<td width='60%'>
<?
";
foreach($_SESSION['zbozi'] as $index => $value){
echo $index."<br>";
}
echo"</td>
<td width='40%'>";
foreach($_SESSION['zbozi'] as $index => $value){
echo $value."<br>";
}
echo"</td>
</tr>
<tr>
<td width='60%'>Celková cena objednávky</td>
<td width='40%'>$cena</td>
</tr>
</table>
</body>
</html>";
";
?>
if (!$meno || !$priezvisko || !$cislo || !$email || !$adresa || !$mesto || !$psc) {
echo 'Formulár nebol odoslaný. Skontrolujte si, prosím, vypísanie všetkých políčok a skúste to znova.';
echo '<a href="?strana=dokoncit">Späť na formulár</a>';
}
elseif(!$mail->send()) {
echo 'Formulár nebol odoslaný. Skontrolujte si, prosím, vypísanie všetkých políčok a skúste to znova.';
echo '<a href="?strana=dokoncit">Späť na formulár</a>';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Vaša objednávka bola odoslaná. V krátkej dobe Vás bude kontaktovať administrátor.';
}
?> |
||
| Kubo2 Profil |
warun:
Minimálne ak ti mám naozaj niečo poradiť, tak si na riadku N oprav Session_start; na session_start(); (tie zátvorky tam naozaj musia byť, pretože inak sa to neberie ako volanie funkcie, ale ako nedefinovaná konštanta).
Po druhé, prosím skopíruj do svojho príspevku [#25] celý kód, ktorý máš aktuálne uložený, pretože inak nesedia čísla riadkov v chybových hláškach a nefunguje poriadne zvýrazňovanie syntaxe — o to horšie sa v kóde orientuje. |
||
| warun Profil |
#27 · Zasláno: 5. 8. 2014, 12:28:44
Mám riešenie. Snáď niekomu pomôže ak bude mať podobný problém.
$polozky = "";
foreach($_SESSION['produkt'] as $index => $value){
$polozky .= "<tr><td width='60%'>$index</td><td width='40%'>$value</td></tr>";
} |
||
|
Časová prodleva: 12 let
|
|||
0