Kontrola formuláře, jak na to ? Vyřešeno

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Kontrola formuláře, jak na to ?

Příspěvekod CZechBoY » 16 lis 2009 13:23

Zdravim,
už si opravdu nevím rady.
Potřebuju zkontrolovat formulář před jeho odesláním, jestli je vše vyplněno a jestli se heslo shoduje, ale vůbec nevim jak na to.
Tohle je k ničemu:

Kód: Vybrat vše

<form name="frmHeslo" action="heslo_odeslat.php" method="POST">
Účet: <input type="text" name="ucet"><br><br>
Heslo:<input type="password" name="heslo"><br><br>
Znova heslo: <input type="password" name="password"><br><br>
Váš email/ICQ/Skype: <textarea rows="3" cols="20" name="kontakt"></textarea><br><br>
<a href="javascript:overeni();"><input type="button" value="Odeslat žádost"></a>
</form>
<script type="text/javascript">
function overeni()
{

if(document.frmHeslo.ucet.value =="") {
window.alert("Musíš zadat jméno účtu u kterého chceš změnit heslo!");
document.frmHeslo.ucet.focus();}

else if(document.frmHeslo.heslo.value =="") {
window.alert("To jako nechceš heslo nebo co ? Vyplň heslo !!");
document.frmHeslo.heslo.focus();}

else if (document.frmHeslo.password.value != document.frmHeslo.heslo.value){
window.alert("hesla se neshodují");
document.frmHeslo.password.focus(); } 

else if(document.frmHeslo.kontakt.value ==""){
window.alert("Ty nechceš být informován o tom jestli se to helo změní ?");
document.frmHeslo.kontakt.focus();}

else {
document.frmHeslo.submit(); }
}
</script>


pak jsem zkoušel ještě jeden, který to aspoň kontroluje, ale pak nevim jak to odeslat:

Kód: Vybrat vše

<form name="frmHeslo" action="javascript:overeni();" method="POST">
Účet: <input type="text" name="ucet"><br><br>
Heslo:<input type="password" name="heslo"><br><br>
Znova heslo: <input type="password" name="password"><br><br>
Váš email/ICQ/Skype: <textarea rows="3" cols="20" name="kontakt"></textarea><br><br>
<a href="javascript:overeni();"><input type="button" value="Odeslat žádost"></a>
</form>
<script type="text/javascript">
function overeni()
{

if(document.frmHeslo.ucet.value =="") {
window.alert("Musíš zadat jméno účtu u kterého chceš změnit heslo!");
document.frmHeslo.ucet.focus();}

else if(document.frmHeslo.heslo.value =="") {
window.alert("To jako nechceš heslo nebo co ? Vyplň heslo !!");
document.frmHeslo.heslo.focus();}

else if (document.frmHeslo.password.value != document.frmHeslo.heslo.value){
window.alert("hesla se neshodují");
document.frmHeslo.password.focus(); } 

else if(document.frmHeslo.kontakt.value ==""){
window.alert("Ty nechceš být informován o tom jestli se to helo změní ?");
document.frmHeslo.kontakt.focus();}

else {
document.frmHeslo.submit(action="heslo_odeslat.php"); }
}
</script>
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Reklama
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Kontrola formuláře, jak na to ?  Vyřešeno

Příspěvekod CZechBoY » 16 lis 2009 13:51

Tohle nechápu, vždy když to sem dám tak na to za chvíli přijdu :D
vyřešil jsem to přes změnu action :)

Kód: Vybrat vše

<form name="frmHeslo" action="javascript:overeni();" method="POST">
Účet: <input type="text" name="ucet"><br><br>
Heslo:<input type="password" name="heslo"><br><br>
Znova heslo: <input type="password" name="password"><br><br>
Váš email/ICQ/Skype: <textarea rows="3" cols="20" name="kontakt"></textarea><br><br>
<input type="submit" value="Odeslat žádost">
</form>
<script type="text/javascript">
function overeni()
{

if(document.frmHeslo.ucet.value =="") {
window.alert("Musíš zadat jméno účtu u kterého chceš změnit heslo!");
document.frmHeslo.ucet.focus();}

else if(document.frmHeslo.heslo.value =="") {
window.alert("To jako nechceš heslo nebo co ? Vyplň heslo !!");
document.frmHeslo.heslo.focus();}

else if (document.frmHeslo.password.value != document.frmHeslo.heslo.value){
window.alert("hesla se neshodují");
document.frmHeslo.password.focus(); } 

else if(document.frmHeslo.kontakt.value ==""){
window.alert("Ty nechceš být informován o tom jestli se to helo změní ?");
document.frmHeslo.kontakt.focus();}

else {
document.frmHeslo.action="heslo_odeslat.php";
document.frmHeslo.submit(); }
}
</script>
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uživatelský avatar
Stene
Level 6
Level 6
Příspěvky: 3124
Registrován: únor 09
Bydliště: Jihlava
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Kontrola formuláře, jak na to ?

Příspěvekod Stene » 16 lis 2009 14:05

kontroluju pomocí PHP, kdyžtak to využí.


HTML:

<form action="reg_zpracuj.php" method="post">
<input type="hidden" name="sent" value=""/>
<input type="text" name="jmeno" maxlength="32"/>*<br>
<input type="password" name="heslo1" maxlength="32"/>* <br>
<input type="password" name="heslo2" maxlength="32"/>* <br>
<input type="text" name="mail" value="" maxlength="64"/>*<br>
<input type="text" name="icq" value="" maxlength="64"/> <br> <br>

PHP:

<?php
ob_start(); // cachujeme vystup
if(isset($_POST['sent'])){ // pokud byl odeslan formular pokracuj timto
$jmeno=trim($_POST['jmeno']);
$heslo1=$_POST['heslo1'];
$heslo2=$_POST['heslo2'];
$mail=trim($_POST['mail']);
$web=trim($_POST['web']);
$icq=trim($_POST['icq']);


if($jmeno=="" or $heslo1=="" or $mail==""){ // pokud nebylo vyplněno něco z toho, co je povinné, dáme vědět a skript ukončíme
$backlink="spatne_udaje_reg.php";
}else{ // povinné udaje vyplněny vsechny

require "db.php"; // pripojime se k databazi
$PocetStejnych=mysql_result(mysql_query("SELECT COUNT(*) FROM `uzivatele` WHERE `jmeno`='$jmeno' OR `mail`='$mail'"), 0);
if($PocetStejnych!=0){ // pokud v db je jiz takove jmeno nebo heslo...
$backlink="spatne_udaje_reg.php";
}elseif($heslo1 != $heslo2){ // pokud se hesla nerovnají
$backlink="spatne_udaje_reg.php";
}else{ // hesla se shoduji, vlozime tedy data do databaze
$heslo=md5($heslo1); // zahashujeme heslo



if($web=="http://" or $web==""){
$web="";
}
$VlozData=mysql_query("INSERT INTO uzivatele (jmeno,heslo,mail,ip_adresa,prava,icq) VALUES ('$jmeno', '$heslo', '$mail', '$web', '0', '$icq')") or die (mysql_error());


$backlink="reg_prijata.php"; // presmerovani s hlaskou ze je vse OK
}

}
}else{
$backlink="index.php?page=registrace&Alert=5";
}

if(!ereg("^.+@.+\\..+$", $mail)) $backlink="spatne_udaje_reg.php"; // kontrola mailu ve správném formátu (neco@neco.neco)


header ("Location: $backlink");
ob_end_flush();


?>

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Kontrola formuláře, jak na to ?

Příspěvekod CZechBoY » 16 lis 2009 14:06

zajímavé, nechápu proč do toho motat databázi a různý blbůstky, ale to je jedno :)
Lepší je to asi přes tu změnu action.
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 6 hostů