Autor | Zpráva | ||
---|---|---|---|
kozusnik.jan Profil * |
#1 · Zasláno: 19. 7. 2010, 19:45:33
Ahoj. Potřeboval bych kontrolu formuláře pomocí JavaScriptu, ať tolik nezaťežuji server PHPečkem.
Mám tento zdrojový kód, který kontroluje zda jsou vyplněna pole: <script language=\"JavaScript\"><!-- function validace(formular) { if(formular.nazev.value=='') { alert('Musíte vyplnit vaše jméno!'); return false; } else if (formular.adresa.value=''){ alert('Musíte vyplnit adresu!!'); formular.adresa.focus(); return false; } else if (formular.popis.value=''){ alert('Musíte vyplnit popis!!'); formular.popis.focus(); return false; } else if (formular.text.value=''){ alert('Musíte vyplnit text!!'); formular.text.focus(); return false; } } <form action="uprava_tvorba_souboru.php" method="post"> <input type="text" name="nazev" />Název souboru<br /> <input type="text" name="adresa" />Adresa . <select name="pripona"> <option value="html"> HTML <option value="php" > PHP<br /> </select> <br /> <input type="text" name="popis" />popis <textarea name="text" cols="100">Text stránky</textarea> <br /> <input type="submit" name="ok" value="Vytvorit" /> <?php $spojeni = mysql_connect("localhost", "root"); mysql_select_db("pokus"); if(isset($_POST['ok'])) { switch($_POST['pripona']) { case "html" : $adr = $_POST['adresa'].".html" ; break; case "php" : $adr = $_POST['adresa'] .".php" ; break; } $chyba = kontrola($_POST['nazev'], $_POST['adresa'], $_POST['popis'], $_POST['text'], $_POST['pripona']); if(!$chyba){ /* if($_POST['nazev'] && $_POST['adresa'] && $_POST['popis'] && $_POST['text'] && $_POST['pripona']){ */ if(!file_exists($_POST['nazev'])){ $fp = file_put_contents($adr, $_POST['text']); $nazev=mysql_real_escape_string($_POST['nazev']); $adr=mysql_real_escape_string($adr); $popis=mysql_real_escape_string($_POST['popis']); $sql = "insert into soubory (jmeno, odkaz, popis) values ('$nazev', '$adr', '$popis')"; $res = mysql_query($sql); } } else echo $chyba; ?> Moc dík za rady |
||
Keeehi Profil |
#2 · Zasláno: 19. 7. 2010, 20:48:58
|
||
kozusnik.jan Profil * |
#3 · Zasláno: 20. 7. 2010, 12:00:04
Dik. Nějak se s tím vypořádám :-)
|
||
kozusnik.jan Profil * |
#4 · Zasláno: 20. 7. 2010, 12:23:37
Mno, zkouším to dělat podle toho návodu, ale pořád to nejde. Zdrojový kód momentálně vypadá takhle:
<script language=\"JavaScript\"><!-- function validace(formular) { if(formular.nazev.value=='') { alert('Musíte vyplnit vaše jméno!'); return false; } else if (formular.adresa.value=''){ alert('Musíte vyplnit adresu!!'); formular.adresa.focus(); return false; } else if (formular.popis.value=''){ alert('Musíte vyplnit popis!!'); formular.popis.focus(); return false; } else if (formular.text.value=''){ alert('Musíte vyplnit text!!'); formular.text.focus(); return false; } } else return true; </script> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Tvorba a uprava stranek</title> </head> <body> <form action="uprava_tvorba_souboru.php" method="post" onsubmit="return validace(this)" > <input type="text" name="nazev" value="" />Název souboru<br /> <input type="text" name="adresa" value="" />Adresa . <select name="pripona"> <option value="html"> HTML <option value="php" > PHP<br /> </select> <br /> <input type="text" name="popis" value="" />popis <textarea name="text" cols="100" value="">Text stránky</textarea> <br /> <input type="submit" name="ok" value="Vytvorit" /> Nevím, kde by mohla být chyba. Prosím poraďte |
||
Nox Profil |
#5 · Zasláno: 20. 7. 2010, 12:27:59 · Upravil/a: Nox
kozusnik.jan:
„Potřeboval bych kontrolu formuláře pomocí JavaScriptu, ať tolik nezaťežuji server PHPečkem.“ Nesmysl... JS kontrola se dělá kvůli pohodlí uživatele, ty skripty co píšeš mají na server míň než zanedbatelný dopad else return true; toto snad má být uvnitř funkce, tzn. o řádek výš nainstaluj si FF addon Firebug, v jeho konzoli se pak vypisují chyby „Problém je v tom, že já JavaScriptu vůbec nerozumím“ Začni se ho učit „tak ať mi to odešle data přes PHP“ To se odesílá standardně, jako by tam ten skript nebyl, rozdíl se skriptem je, že můžeš odeslání zrušit. Takže ne že odešleš nebo neodešleš, ale že nezrušíš odeslání (return true) nebo zrušíš odeslání (return false) |
||
kozusnik.jan Profil * |
#6 · Zasláno: 20. 7. 2010, 12:57:56
Nox:
"To se odesílá standardně, jako by tam ten skript nebyl, rozdíl se skriptem je, že můžeš odeslání zrušit. Takže ne že odešleš nebo neodešleš, ale že nezrušíš odeslání (return true) nebo zrušíš odeslání (return false)" JavaScript se chci začít učit. Teďka jsem se učil PHP a nebyl na to čas. Ale chtěl bych s tím začít. "nainstaluj si FF addon Firebug, v jeho konzoli se pak vypisují chyby " nedá se sehnat něco jiného? Já totiž firefox nepoužívám Nevšimli jste si, kde by mohla být ta chyba? |
||
kozusnik.jan Profil * |
#7 · Zasláno: 20. 7. 2010, 13:02:33
Tak už to mám. Dík
|
||
Časová prodleva: 14 let
|
0