Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem PHP notice

Dobrý den,
Nejde mi jeden příklad z knízky, mám tento PHP kod(cast):

<?php
$jmeno=trim(htmlspecialchars(strip_tags($_POST['jmeno'])));
$telefon=trim(htmlspecialchars(strip_tags($_POST['telefon'])));
$email=trim(htmlspecialchars(strip_tags($_POST['email'])));
$predmet=trim(htmlspecialchars(strip_tags($_POST['predmet'])));
$zprava=trim(htmlspecialchars(strip_tags($_POST['zprava'])));

A prohlízec píse toto:

Notice: Undefined index: jmeno in C:\xampp\htdocs\kniha\03\kontakt.php on line 2

Notice: Undefined index: telefon in C:\xampp\htdocs\kniha\03\kontakt.php on line 3

Notice: Undefined index: email in C:\xampp\htdocs\kniha\03\kontakt.php on line 4

Notice: Undefined index: predmet in C:\xampp\htdocs\kniha\03\kontakt.php on line 5

Notice: Undefined index: zprava in C:\xampp\htdocs\kniha\03\kontakt.php on line 6

Jak se toho zbavím?
(Pouzivam XAMPP 1.8.2, defaut nastaveni)
Děkuji

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Nejdriv si ujasni, co chces, aby ten program delal a jak toho dosahnout, z toho ti vyjde vse ostatni… poslední
gilhad 27.12.2013 13:58
gilhad

Nejdriv si ujasni, co chces, aby ten program delal a jak toho dosahnout, z toho ti vyjde vse ostatni. Nauc se, jak funguje PHOP, jak HTML, co je server, co klient, jak to spolu souvisi ...

Kdyz to hodne zjednodusim: PHP se zpracovava na serveru, vysledkem je HTML kod, ktery se zobrazi klientovi v prohlizeci. Klient typicky neco nejak vyplni nebo naklika a odesle to serveru, kde ceka nejaky PHP kod, aby s tim neco udelal a vyplodil HMTL, ktere se zobrazi klientovi atd. atd. ...

PHP kod se zpracovava shora dolu (az na skoky, cykly, volani funkci a jine zajimavosti), pokud je v nem vlozen HTML, tak se proste vypise v tom danem miste.

Takze pokud chces porad dokola volat tu samou stranku, dokud ji uzivatel nevyplni spravne, tak postup bude asi takovyto:

1) podivam se, zda jsem vubec dostal v POST nejaka data, pokud ne (uzivateli zada o stranku poprve, jeste ji nevidel, ja ji generuju), tak jen vypisu vsechny <form> a <input> a tak s defaultnima hodnotama a SKONCIM
2) pokud mam v POST nejaka data, tak prekontroluju, zda jsou vsechna (jmeno, telefon ...), teprve pak muzu pouzivat $_POST["jmeno"] a podobne - pokud vsechna nemam, asi aplikuju bod 1) protoze kdovi jak na tuto stranku prisel
3) zkontroluju, zda $_POST["jmeno"] ma nejakou rozumnou hodnotu (treba aspon neprazdnou), obdobne dalsi polozky - pokud ne, vygeneruju chybovou hlasku a co nejlepe predvyplnim vstupni pole, jdu na 1)
4) pokud je vse v poradku, provedu pozadovanou akci (napriklad poslu email) a zaridim prechod na dalsi/jinou stranku

Zpět do poradny Odpovědět na původní otázku Nahoru