Autor Zpráva
janka
Profil *
Ahojte.
Mám formulář, který odesílá data na mail. Odeslání funguje jen v případě, že
platí podmínka if ($_POST["typ"]=="obycejna")
Pokud platí podmínka if ($_POST["typ"]=="plast"), mail se odešle taky a taky dojde,
ale je prázdný.
Když si dám před odesláním vypsat obsah proměnné $zprava, kteru odesílám, tak
prázdná není, vyplivne se to někde cestou.

Nevíte někdo, čím by to mohlo být? Prosím, prosím.

Tady je celý kód:

<?php
if ($_POST["typ"]=="obycejna") {$zprava = "OBJEDNAVKA:klasická okna,";}
if ($_POST["typ"]=="plast") {$zprava = "OBJEDNAVKA:plastová okna,";}
$zprava .="POZADUJE: ";
if (isset($_POST["zaluzie"])) {$zprava .= "zaluzie,";}
if (isset($_POST["tesneni"])) {$zprava .= "tesneni,";}
if (isset($_POST["sit"])) {$zprava .= "site, ";}
$zprava .="$zakaznik KONTAKT: $kontakt INFO: $dlouhytext";
if ( Mail("markar@seznam.cz","Objednavka zaluzii z webu", $zprava))
echo "<br><b>Objednávka byla odeslána, pokud jste uvedli svůj telefon či e-mail, ozveme se Vám.";
else
echo "<br><b>Objednávku nebylo možné odeslat, zkuste to prosím znovu</b>";
?>
janka
Profil *
prosííím
llook
Profil
Žádnou chybu nevidím. Je možné, že je nějak špatně nastavený sendmail - tedy chyba někde mezi PHP a e-mailem.
Zkus úplně nejtriviálnější příklad funkce mail: mail('markar@seznam.cz', 'Predmet', 'Zprava');
Pokud nedojde, zkontaktuj svého webhostera.

Ještě by mohl být problém v kódování, není uvedeno, ale co já vím, tak maily bez kódování většinou dochází, akorát mívají divnou čeøtinu;)
Zkus ještě tohle:
mail("markar@seznam.cz","Objednavka zaluzii z webu", $zprava, 'Content-Type: text/plain; charset=windows-1250')
janka
Profil *
Tak jsem to zkusila a výsledek je stejný, tedy:
když neopoužiju proměnné, ale jen text, tak mail dojde čitelný
když má proměnná "typ" hodnotu "obycejna", dojde taky a taky vse OK
ale když má proměnná "typ" jinou hodnotu, mail dojde prázdný

kdyby ty maily nechodily vůbec, tak bych hledala chybu na serveru, ale
když to nejde jen s určitým obsahem proměnné? Je ještě nějaká možná
příčina kromě toho, že mám v PC zlomyslnýho permoníka? Vůbec nevím
kudy ven... :-(
janka
Profil *
Tak to budu muset vyřešit jinak, teď už mi chodí prázdný všechny zprávy...
xxx
Profil *
Nemeli by být u promenych ve stringu slozene zavorky?
$zprava .="{$zakaznik} KONTAKT: {$kontakt} INFO: {$dlouhytext}";
centi
Profil
xxx
A preco by tam mali byt?
krteczek
Profil
janko dej tu celý kod
krteczek
janka
Profil *
Formulář mám takhle:
<form action="objednavka.php" method="post" target="_blank">
<div class="form">
<input type="radio" name="typ" value="obycejna">obyčejná okna (dvojitá)<br>
<input type="radio" name="typ" value="plast">plastová okna<br>
<br>
<input type="checkbox" name="zaluzie">žaluzie<br>
<input type="checkbox" name="tesneni">těsnění<br>
<input type="checkbox" name="sit">síťě<br>
<br>
<b>Vaše jméno:</b><br>
<input type="text" size="25" name="zakaznik">
<input type="text" size="50" name="kontakt">
<textarea size="60" rows="4" cols="55" name="dlouhytext"> </textarea>
<br><br><input type="submit" value="odeslat">
</div>
</form>

soubor objednavka.php vypadá takhle:

<?php

$zprava = "OBJEDNAVKA:";
if ($_POST["typ"]=="obycejna") {$zprava .= "klasická okna,";}
if ($_POST["typ"]=="plast") {$zprava .= "plastová okna,";}
$zprava .="POZADUJE: ";
if (isset($_POST["zaluzie"])) {$zprava .= "zaluzie,";}
if (isset($_POST["tesneni"])) {$zprava .= "tesneni,";}
if (isset($_POST["sit"])) {$zprava .= "site, ";}
$zprava .="$zakaznik KONTAKT: $kontakt INFO: $dlouhytext";
if ( mail("mujmail@seznam.cz","Objednavka zaluzii z webu", "$zprava"))
echo "<br><b>Objednávka byla odeslána, ozveme se Vám";
else
echo "<br><b>Objednávku nebylo možné odeslat, zkuste to prosím znovu</b>";
?>


Zkoušela jsem zápis $_POST["promenna"] i obyčejně $promenna, výsledek
je stejný. Zpráva odejde, v proměnné $zprava je požadovaný text, ale na e-mail
dojde jen zpráva s předmětem, ale je prázdná. Zkouším to přes webzdarma...
ale jiné formuláře mi jdou, problém je jen tady, musela jsem něco přehlídnout.
janka
Profil *
Tak jediný na co jsem přišla je, že pokud použiju ve formuláři "radio", na email všechno dojde. Jakmile tam dám "checkbox", tak to zlobí. Takže v proměnné ani závorkách zřejmě chyba není :-)
Toto téma je uzamčeno. Odpověď nelze zaslat.