Autor Zpráva
tomas2245
Profil
zdravím, tovary sa mi oddeľujú každý na nový riadok (tak ako potrebujem).
ale ak objednám prvý tovar a potom až napr. 10 tovar tak medzi týmito tovarmi sa mi spraví 9 prázdnych riadkov, ako mám docieliť to aby ten tovar bol každý na novom riadku, ale nevznikali takéto medzery?

takto to mám riešené:
if ($_POST["tovar1"] != NULL) {
  $tovar1='1. tovar: '.$_POST["tovar1"];
}

if ($_POST["tovar2"] != NULL) {
  $tovar2='2. tovar: '.$_POST["tovar2"];
}


$msg .= $tovar1 . "\n<br>";
$msg .= $tovar2 . "\n<br>";

$msg = preg_replace('/(?:\s*\R\s*){1,}/u', PHP_EOL, $msg);

a nefunguje to..


aktuálny chybný výsledok vyzerá takto:

1. tovar



10. tovar


chcem aby to vyzeralo takto:

1. tovar
10. tovar
Keeehi
Profil
Vytváříš proměnné $rez* které nikde nepoužíváš a používáš $tovar* které nikde nevytváříš.

Použij pole. A pak
implode('<br>\n', $pole);
tomas2245
Profil
normálne používam rez miesto tovar, len ako som to sem nahadzoval tak som hodnoty prepisoval..
ešte otázka kde mám to implode dať v tom mojom kóde?
v php som úplne nováčik tak sa na mňa nehnevajte :D asi sa pýtam na úplnú hlúposť ale tak .. :/
Keeehi
Profil
tomas2245:
kde mám to implode dať v tom mojom kóde?
Až to budeš mít vše v poli.
$msg = implode("<br>\n", $pole);
tomas2245
Profil
Keeehi:

prepáč že ťa toľko otravujem ale to pole som spravil takto.. ale vypisuje mi to chybu..vieš mi ešte s týmto pomôcť?

$pole = array ("tovar1", "tovar2", "tovar3", "tovar4");


Chyba pri odoslaní:

Warning: implode(): Argument must be an array in
Keeehi
Profil
tomas2245:
Chybu děláš někde jinde než v tom co nám tu ukazuješ. Viz.
tomas2245
Profil
chcel by som sa ešte spýtať, nechcem zakladať novú tému keď už sme pri tých formulároch, tak mal by som jednu otázku..
mám niekedy pocit že jak to mám riešené cez funkciu mail() že niekedy od zákazníka objednávka nepríde, alebo príde ale prázdna... dá sa to nejako ošetriť? alebo navrhujete nejakú úplne inú funkciu než mail() ?
xaverista
Profil
tomas2245:
navrhujete nejakú úplne inú funkciu
Spíš bych asi použil phpmailer
tomas2245
Profil
xaverista:

ten akurát skúšam, je uňho dôležité dopísať SMTP, lebo dá sa odoslať aj bez neho, to ide na akom princípe?
xaverista
Profil
tomas2245:
To bohužel nevím, ale SMTP můžeš použít i od googlu pokud odesilas přes gmail -> stackoverflow.com
Keeehi
Profil
tomas2245:
že niekedy od zákazníka objednávka nepríde
To je klidně možné. Žádný email negarantuje, že bude opravdu doručen.
Pokud chceš mít jistotu, že o žádnou objednávku nepřijdeš, ukládej si třeba do databáze. Je to spolehlivější a pokud by se to náhodu nepovedlo, jsi schopen to detekovat a uživateli oznámit že se nepodařilo objednávku vytvořit.

alebo príde ale prázdna
Za to většinou můžou různí roboti co prolézají webové stránky. Pokud nemáš ošetřené odesílání prázdných formulářů, tak ti chodí prázdné emaily.
tomas2245
Profil
Keeehi:

„Za to většinou můžou různí roboti co prolézají webové stránky.“
dočítal som sa že by to mohlo byť týmto, roboti to byť nemôžu, mám ošetrené odosielanie prázdnych formulárov.

citujem (čo niekto napísal na jednom fóre):

dle popisu to vypadá jako by měl prohlížeč něco chbyně uloženého například v mezipaměti. Když napíšete zprávu a odešlete a ona přijde příjemci prázdná, tak to znamená, že prohlížeč neodeslal data uvedená v poli pro text zprávy. Ač jste tam text viděl, tak ho "neviděl" prohlížeč (dle detekce na fóru je to Firerox) a proto tato data neodeslal, resp. odeslal prázdný formulář.


no ale ako to ošetriť, to neviem, chcel som že databázou, ale tú v balíčku nemám tak to nechávam ako posledné riešenie, má niekto ešte nejaký návrh?
Keeehi
Profil
tomas2245:
no ale ako to ošetriť
Je jedno, jestli prázdný formulář odešle robot nebo prohlížeč, ošetření v PHP je stejné. Asi v něm budete mít něco špatně.

chcel som že databázou, ale tú v balíčku nemám tak to nechávam ako posledné riešenie,
Dala by se tedy použít nějaká souborový databáze. SQLite například. php.net/manual/en/book.sqlite3.php
tomas2245
Profil
Keeehi:

,,Dala by se tedy použít nějaká souborový databáze. SQLite například. php.net/manual/en/book.sqlite3.php"

neviem ako to spojazdniť sedel som nad tým a hľadal riešenia asi 3 hod ale na nič som neprišiel :D
tomas2245
Profil
Keeehi:

inak cez MYSQL databázu to ako funguje, bude mi tie údaje posielať mailom alebo ukladať do databáze? či ako to funguje

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: