Chybová hláška při odesílání formuláře

Ahoj všichni, jsem naprostý začátečník s php, poradíte mi prosím, co znamená tohle Warning: mail() expects at most 5 parameters, 11 given in /3w/wz.cz/j/jitule-f/obchod/potvrzeni.php on line 48
nebo spíš co s tím udělat .. chtěla jsem stvořit jednoduchý objednávkový formulář na téhle stránce http://www.jitule-f.wz.cz/obchod/objednavka.htm
a jsem samouk amatér, tak prosím berte
No, predpokladam ze umis anglicky tak ti asi dojde ze jsi funkci mail() dala 11 parametru a ona ma podle dokumentace maximalne 5. ;)

Pokud chces efektivne poradit, je vzdycky lepsi zkopirovat cast zdrojoveho kodu ... (tady nejlepe 48 radek).
cz.php.net/mail
- dokumentace online k php
Freeze, anglicky sice umím, jen jsem si nebyla jistá, co to očekává maximálně 5 parametů, protože to byl můj úplně první pokus o php.

Peto, díky za navedení

Stávila jsem nad tím spoustu hodin a stvořila tohle, možná se zhrozíte, ale pro mě je to úspěch

<?php

if (isset($_POST['odeslano'])) {

$zbozi = $_POST['zbozi'];
echo "Zboží:<br />".$zbozi;

$jmeno = $_POST['jmeno'];
echo "<br />Jméno:".$jmeno;

$prijmeni = $_POST['prijmeni'];
echo "<br />Příjmení:".$prijmeni;

$ulice = $_POST['ulice'];
echo "<br />Ulice:".$ulice;

$PSC = $_POST['PSC'];
echo "<br />PSČ:".$PSC;

$mesto = $_POST['mesto'];
echo "<br />Město:".$mesto;

$telefon = $_POST['telefon'];
echo "<br />Telefon:".$telefon;

$email = $_POST['email'];
echo "<br />email:".$email;

$platba = $_POST['platba'];
echo "<br />Platba:<br />".$platba;

$message .="$jmeno\n";
$message .="$prijmeni\n";
$message .="$ulice\n";
$message .="$cislo\n";
$message .="$PSC\n";
$message .="$mesto\n";
$message .="$telefon\n";
$message .="$email\n";
$message .="$platba\n";

$odeslani = mail("jitule-f@email.cz", "Objednavka z webu od: ".$email, $message, $zbozi);

if ($odeslani) {
echo "Objednávka byla odeslána.";

} else {
echo "Objednávku se nepodařilo odeslat";

}
}
?>

Ještě v pondělí mi to na mail posílalo, sice formát nic moc, ale posílalo.
Dnes se to odešle ale na mail nic nepřijde.

Mám tam chybu, nebo je ten problém někde jinde?

V podobném tématu psal Tom o zdvojování proměnných - mám to tam taky - takhle jsem to vycucala z webu polopatě

Díky moc Jitka
$odeslani = mail("jitule-f@email.cz", "Objednavka z webu od: ".$email, $message, $zbozi);

A co znamena posledni parametr $zbozi?
Usuzuji, ze to nebude to, co zrovna funkce mail ocekava. Ctvrty parametr ocekava hlavicky a ne nejake zbozi.
to určitě nebude. Co očekává funkce mail, jsem se zatím nikde nestačila dočíst. Ale i tak mi to ještě vpondělí posílalo.
zbozi jsem tedy přesunula do message k ostatním, ale to nebyl ten zádrhel, proč to nechodí
Jitule-f: co SPAM? Není to někde mezi ním?

Btw: k tomu zdvojování proměnných - vážně je tak složité místo
$platba = $_POST['platba'];
echo "<br />Platba:<br />".$platba;

použít:
echo '<br />Platba:<br />'.$_POST['platba'];

?

+ vzhledem k tomu, že email není zrovna dvakrát spolehlivý (hádej co všechno se může po cestě pokazit?), měl bych jeden tip na zlepšovák:
ukládej si objednávky někam do souborů nebo do databáze a ještě si k tomu připiš skript generující RSS kanál a odebírej to jako novinky.
Práce maximálně tak na hodinku ;)
Tome, mezi spamem to není

to echo... s tím bych si poradila, ale já jsem fakt začátečník, a moc tomu nerozumím, jsem si nebyla jistá, co u toho message a funkce mail, všude pak puužiju např místo $platba .$_POST['platba']

No, to že by to chtělo posílat jěště někam jinam, to mě taky napadlo, ale co si mi napsal ty, je pro mne fakt španělská vesnice. Tamto jsem tvořila 10 hodin, než jsem k tomu všechno našla a opravila všechny chyby, na něco dalšího už momentálně nemám sílu.
$odeslani = mail("jitule-f@email.cz", "Objednavka z webu od: ".$email, $message, $zbozi);

jak uz rikali...
$message . $zbozi
a je treba po napsani opravila napsat i cely radek

$odeslani = mail("jitule-f@email.cz", "Objednavka z webu od: ".$email, $message);

Pak je treba si kontrolovat obsah, co ti posilaji z formularu. Spam boti ti poslou nelegalni znaky a kdyz to nekontrolujes, tak ti to smaze celou webku, treba.
Pak je problem v omezeni funkce mail na wz.cz . Proste po nekolika mailech za hodinu dalsi neposle, dokud hodina nepostoupi.
Dalsi problem je antispam. Jestlize se neco posle nekolikrat z nejake webky se s tejnym mailem a stejnym predmetem, cekal bych, ze antispam tuhle zpravu zaradi mezi spam, pokud nema nastaven filtr primo na uvedeny mail, ze vzdy prijimat.

$platba .$_POST['platba']
se da vyresit...
$x = array("platba","zbozi","ulice","PCS")
foreach ($x as $key=>$value)
{${$value} = isset($_REQUEST[$value]) ? $_REQUEST[$value] : ""; }
totez $$value = ...

nebo
foreach ($_REQUEST as $key=>$value)
{$$key = $value;}
ale tady uz nemusis odeslat nejake policko a program zkape na undefined

$message .="$jmeno\n";
... no jo, ale nikde pred tim nevidim $message = ""; Cili pocatecni hodnota je undefined a pak k ni pridavas jmeno a pod
a muzes opet vyuzit cyklu jako s request
$message = "";
foreach ($x as $key=>$value)
{$message.= "\n". $value .": ". (isset($_REQUEST[$value]) ? $_REQUEST[$value] : ""); }
... misto BR teda \n do mailu, jestli nemas nastavenu hlavicku na HTML, ale na TEXT mail.

mozna by bylo fajn pri odeslani k hlasce odeslano/neodeslano zobrazit i obsah mailu:
echo "<pre>".$message."</pre>";
Peto, jo, jo, to opravení toho řádku $odeslání... to mi došlo,
že u $message v prvním řádku nemá být tečka to už taky vím,

díky za to zobrazení obsahu mailu,

a to ostatní se budu muset teprve podívat, co co znamená - opradu jsem úplný začátečník.

Ted jsem hledala jak poslat ta data z formuláře jak na mail, tak i do nějakého souboru, ale neúspěšně, asi špatně hledám

Ocenuji tvou snahu
To, že odešleš data z forumáře znamená, že je předáš dalšímu skriptu, který si nimi dále pracuje tak, jak je libo. Data se do souboru neodesílají, ale zapisují, tedy:
$fp = fopen('cesta/nazev_souboru','příznak'); // otevřu soubor (http://php.net/fopen)
frwite($fp, 'Text, který chci uložit'); // zapíšu data (http://php.net/fwrite)

fclose($fp); // uzavřu soubor


Toto je nejjednodušší způsob, jak nacpat data do souboru.
huráá, povedlo se.
Jen jsem blbec strávila spoustu času hledáním chyby ve scriptu, nakonec jsem ji našla - ve formuláři.

Díky moc!