Autor | Zpráva | ||
---|---|---|---|
marosh Profil * |
#1 · Zasláno: 3. 5. 2007, 16:01:53
Nazdar.
Urobil som si jednoduchý formulár na stránku: <form action="form-1.php" method="post"> Jméno: <input type="text" name="jmeno"> věk: <input type="text" name="vek"> <input type="submit" value="odeslat"> </form> <? $jmeno = $_POST['jmeno']; $vek = $_POST['vek']; ?> <p><? echo "$jmeno"; ?> je pěkné jméno i když je ti <? echo "$vek"; ?> let...</p> Po načítaní sa mi objaví táto hláška: Notice: Undefined index: jmeno in c:program fileseasyphp1-7wwwform-2.php on line 16 Notice: Undefined index: vek in c:program fileseasyphp1-7wwwform-2.php on line 17 Čo som urobil zle? |
||
Peca Profil |
#2 · Zasláno: 3. 5. 2007, 16:37:59
Neověřil jsi, jestli existuje proměnná $_POST['jmeno'] a $_POST['vek'].
|
||
marosh Profil * |
#3 · Zasláno: 4. 5. 2007, 08:37:34
A ako a kam mám zadať tú premennú?
Sorry za blbé otázky, ale som len začiatočník... :( |
||
krteczek Profil |
#4 · Zasláno: 4. 5. 2007, 09:13:49 · Upravil/a: krteczek
1. na začátku skriptu si nastav proměnné které ve skriptu používáš:
$jmeno = ''; $vek = ''; $chyba = false; 2. <input type="submit" value="odeslat"> doplň o name="jaký_chceš_nazev_inputu" 3. kontrola: - nejprve testuješ zda byl odeslán formulář: if(!empty($_POST['obsah_name_u_inputu_submit'])) - potom testuješ ostatní proměnné z formuláře třeba následujícím způsobem:
4. Místo vypsání chybové hlášky ji můžeš uložit do proměnné a vypsat ji až ve chvíli kdy to budeš opravdu potřebovat vypsat (například ji tak budeš moct vypsat u inputu kterého se to týká) 5. $chyba nám slouží pro jednodužší kontrolu toho jestli došlo během zpracovávání formuláře k chybě ($chyba = true) nebo ne (je false). je to jednodužší než kontrolovat všechny proměnné znovu před výpisem/uložením. [pre] if($chyba === false) { //ted máš vše v pořádku, můžeš vypisovat, ukládat, ..., proměnné } |
||
krteczek Profil |
#5 · Zasláno: 4. 5. 2007, 09:16:14 · Upravil/a: krteczek
smazáno, nedopatřením odesláno 2x
|
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0