Stránka 1 z 1

Kontrola formuláře, jak na to ?

Napsal: 16 lis 2009 13:23
od CZechBoY
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>

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

Napsal: 16 lis 2009 13:51
od CZechBoY
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>

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

Napsal: 16 lis 2009 14:05
od Stene
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();


?>

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

Napsal: 16 lis 2009 14:06
od CZechBoY
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.