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;
    }
?>
pomocou ?strana=dokoncit sa chcem presunúť na objednávkový formulár, kde užívateľ zadá kontaktné informácie potrebné pre dokončenie nákupu.
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>
......
Ja potrebujem zistiť, ako mám upraviť jednotlivé kódy, aby som do formulára dokoncit.php dostal celkovú sumu zo súboru cart.php ( nákupný košík ). Formulár z dokoncit.php budem následné posielať do kosik_spracuj.php, kde užívateľovi vypíšem celkovú rekapituláciu nákupu s tým, že na konci bude tlačidlo na odoslanie objednávky do môjho e-mailu.
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
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;
pre vypísanie obsahu košíka, tak to nič nevypíše. Keď to dám za $_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
warun:
Bude potřeba pracovat s polem.
warun
Profil
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');
a následne zobrazovať cez
echo $pole[0];
echo $pole[1];
Takto nejako alebo to robím úplne zle?
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;
?>
a pak se k hodnotám dostaneš
<?
 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.';
}
?>
Konkrétne neviem ako do riadku
$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>
.....
 ";
doplniť údaje o objednaných produktoch ( nazov + počet kusov ). Ďakujem za rady, veľmi mi to pomáha.
Taps
Profil
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
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
warun:
$tovar musíš opět projít přes foreach, přesně tak jak [#8] Taps
warun
Profil
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>
no pri vykonávaní príkazu sa to zastaví a ani stránku nenačíta ( načíta len časti, ktoré sú statické a dynamickú stredovú časť kde je formulár a všetko ostatné nenačíta )
Taps
Profil
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
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
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
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
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
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
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
warun:
můžeš sem vložit celý kód ?
warun
Profil
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
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>";
}
$polozky potom len vložiť do tela e-mailu ( $mail -> Body =" .... ).

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0