vytvorenie oformularu na objednavku CD

Programovacie jazyky, rady, poradňa...
snake2
Medium Professional
Medium Professional
Príspevky: 1211
Registrovaný: 01 mar 2006, 20:27

Príspevok od používateľa snake2 »

no chalani ono to facha ... takze diky ... budete spomenuti ako spolutvorcovia tejto PAGE ... diky moc ... ale tie povinne udaje by ste uz mohli dotiahnut nech to uz vypada profesionalne...
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

snake2 napísal:no chalani ono to facha ... takze diky ... budete spomenuti ako spolutvorcovia tejto PAGE ... diky moc ... ale tie povinne udaje by ste uz mohli dotiahnut nech to uz vypada profesionalne...
takže tu to máš definitívne aj s kontrolou (nemáš začo)
formular.php

Kód: Vybrať všetko

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1250">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>objednávka CD nosičov</title>
<SCRIPT LANGUAGE="JavaScript">
<!--
function Kontrola ()
{
	if (document.formular.pocet1.value == "")
	{
		document.formular.pocet1.focus();
		alert ("Nezadali ste počet žiadaných CD");
		return false;
	}
	if (document.formular.meno.value == "")
	{
		document.formular.meno.focus();
		alert ("Nezadali ste vaše meno a priezvisko");
		return false;
	}
        if (document.formular.telefon.value == "")
	{
		document.formular.telefon.focus();
		alert ("Nezadali ste svoje telefonne číslo");
		return false;
	}
	if (document.formular.mail.value == "")
	{
		document.formular.mail.focus();
		alert ("Nezadali ste svoj e-mail");
		return false;
	}
	if (document.formular.mail.value.indexOf("@") == -1)
	{
		document.formular.mail.focus();
		alert ("Chybný formát e-mailu. Mail musí obsahovať '@' aj bodku");
		return false;
	}
        if (document.formular.mail.value.indexOf(".") == -1)
	{
		document.formular.mail.focus();
		alert ("Chybný formát e-mailu. Mail musí obsahovať '@' aj bodku");
		return false;
	}
}
// -->
</SCRIPT>
</head>
<body>
<h2><font color="red">Objednávka CD</font><h2>
<form name="formular" action="mail.php" method="post" onSubmit="return Kontrola();">
<table>
<tr><td align="right">
*Počet:</td>
<td><input type="text" name="pocet1" size="2">&nbsp;ks...</td></tr>
<tr><td></td><td><input type="text" name="pocet2" size="2">&nbsp;ks...</td></tr>
<tr><td></td><td><input type="text" name="pocet3" size="2">&nbsp;ks...</td></tr>
<tr><td></td><td><input type="text" name="pocet4" size="2">&nbsp;ks...</td></tr>
<tr><td></td><td><input type="text" name="pocet5" size="2">&nbsp;ks...</td></tr>
<tr><td>* Meno a priezvisko</td><td><input type="text" name="meno" size="40"></td></tr>
<tr><td align="right" valign="top">Adresa</td><td><textarea COLS="30" ROWS="6" 

name="adresa"></textarea></td></tr>
<tr><td align="right">* Telefon</td><td><input type="text" name="telefon" 

size="40"></td></tr>
<tr><td align="right">* E-mail</td><td><input type="text" name="mail" size="40"></td></tr>
<tr><td align="right" valign="top">Poznámka</td><td><textarea COLS="30" ROWS="6" 

name="poznamka"></textarea></td></tr>
<tr><td></td><td align="right"><input type="submit" value="Odoslať"></td></tr>
</form>
</table>

</form>
</body>
mail.php

Kód: Vybrať všetko

<HTML>
<Head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=windows-1250">
<title>Info</title>
</Head>

<? for ($i=1;$i<=5;$i++):
{
$pocet[$i]=$_POST["pocet$i"];
}
endfor;
$meno=$_POST["meno"];
if (!Isset($_POST["adresa"])): 
{
$adresa="neudané";
}
else: $adresa=$_POST["adresa"];
endif;
$telefon=$_POST["telefon"];
$mail=$_POST["mail"];
if (!Isset($_POST["poznamka"])):
{
$poznamka="neudané";
}
else: $poznamka=$_POST["poznamka"];
endif; 
$adresa=$_POST["adresa"];
$text="PRVA: ".$pocet1."\nDRUHA: ".$pocet2."\nTRETIA: ".$pocet3."\nSTVRTA: ".$pocet4."\nPIATA: ".$pocet5."\nmeno: ".$meno." \nadresa: ".$adresa." \ntelefon: ".$telefon." \nmail: ".$mail." \npoznámka: ".$poznamka;


		if(Mail("tvojaadresa@niečo.sk", "objdenávka_CD", $text))
		echo "Úspešne <b>odoslané</b>";
		else echo "Túto správu sa <b>nepodarilo</b> odoslať.";

?>

</font>
</BODY>
</HTML>
ešte sa to dá vylepšiť, ale keď mne sa tááák nechce keď to nerobím pre seba :lol: . V podstate ti to takto môže stačiť. Je tam potrebné zadať všetky povinné polia. Ak nezadá, upozorní ho a kurzor mu hodí do daného políčka. Pri mailovej adrese kontroluje aj či je obsiahnutý zavináč a bodka. Pri počte som odfiltroval iba prvú možnosť s CD, lebo neviem ako to cheš, či sa musí napísať všetky ( a ak nejaké nechce tak nulu) alebo stačí vyplniť prvý riadok ak ostatné nechem.. no to si urobíš už aj sám

a nezabudni poslať cez ss ten link, ohodnotím (vylepším) ti web :) ak smiem
ppt
Darca
Darca
Používateľov profilový obrázok
Príspevky: 1920
Registrovaný: 27 máj 2006, 11:24
Kontaktovať používateľa:

Príspevok od používateľa ppt »

audiotrack napísal:jasné ppt, díki za opravenie.. trochu menšia tlačová chyba a uponáhlaná podmienka :lol: ale podstatu som vystihol a písal som hneď na začiatku že som tu na hrubé práce a je tu plno ľudí čo to vyladí. :)
V pohode. Aj mne sa stava, ze ak si skopirujem nejaku podmienku, tak ju zabudnem potom prerobit. To je OK. :wink:
snake2
Medium Professional
Medium Professional
Príspevky: 1211
Registrovaný: 01 mar 2006, 20:27

Príspevok od používateľa snake2 »

audiotrack napísal:ešte sa to dá vylepšiť ...
vsecko v pohode akurat ten filter na pocet Cd som si predstavoval trocha inak... proste na miesto tejto podmienky

Kód: Vybrať všetko

if (document.formular.pocet1.value == "")
	{
		document.formular.pocet1.focus();
		alert ("Nezadali ste počet žiadaných CD");
		return false;
	}
ci by sa nedala dat nejaka takato

Kód: Vybrať všetko

if (document.formular.pocet(1 až 5).value == "")
	{
		document.formular.pocet(1 až 5 ).focus();
		alert ("Nezadali ste počet žiadných CD");
		return false;
	}


mam este 1 napad : nedala by sa spravit taka podmienka namiesto tej, aby sa tie pocty jednotlivych CD zratavali a alert by bol az vtedy ak by celkovy pocet=0 ( cize nemusia byt vyplnene vsetky pocty ale aspon 1 musi byt )

audiotrack napísal:a nezabudni poslať cez ss ten link, ohodnotím (vylepším) ti web :) ak smiem
no neviem ci by si sa nenasmial do :hehe:



PS : nevim ci ma pochopis s tou podmienkou
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

pochopil (myslím). Urobil som to vnorenými podmienkami. Tu máš teda formulár, mail.php ostané nezmenené tak to sem už nebudem dávať. A ten link chcem aj tak.

Kód: Vybrať všetko

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1250">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>objednávka CD nosičov</title>
<SCRIPT LANGUAGE="JavaScript">
<!--
function Kontrola ()
{
	if (document.formular.pocet1.value == "" || document.formular.pocet1.value == 0)
	{
		if (document.formular.pocet2.value == "" || document.formular.pocet2.value == 0)
                {
     			if (document.formular.pocet3.value == "" || document.formular.pocet3.value == 0)
   			{
      				if (document.formular.pocet4.value == "" || document.formular.pocet4.value == 0)
   				{
      					if (document.formular.pocet5.value == "" || document.formular.pocet5.value == 0)
   					{
      					document.formular.pocet1.focus();
      					alert ("Musíte si vybrať aspoň jedno CD");
      					return false;
   					}
				
   				}
   			}	
   		}
	}
	if (document.formular.meno.value == "")
	{
		document.formular.meno.focus();
		alert ("Nezadali ste vaše meno a priezvisko");
		return false;
	}
	if (document.formular.telefon.value == "")
	{
		document.formular.telefon.focus();
		alert ("Nezadali ste svoje telefonne číslo");
		return false;
	}
	if (document.formular.mail.value == "")
	{
		document.formular.mail.focus();
		alert ("Nezadali ste svoj e-mail");
		return false;
	}
	if (document.formular.mail.value.indexOf("@") == -1)
	{
		document.formular.mail.focus();
		alert ("Chybný formát e-mailu. Mail musí obsahovať '@' aj bodku");
		return false;
	}
        if (document.formular.mail.value.indexOf(".") == -1)
	{
		document.formular.mail.focus();
		alert ("Chybný formát e-mailu. Mail musí obsahovať '@' aj bodku");
		return false;
	}
}
// -->
</SCRIPT>
</head>
<body>
<h2><font color="red">Objednávka CD</font><h2>
<form name="formular" action="mail.php" method="post" onSubmit="return Kontrola();">
<table>
<tr><td align="right">
*Počet:</td>
<td><input type="text" name="pocet1" size="2">&nbsp;ks...</td></tr>
<tr><td></td><td><input type="text" name="pocet2" size="2">&nbsp;ks...</td></tr>
<tr><td></td><td><input type="text" name="pocet3" size="2">&nbsp;ks...</td></tr>
<tr><td></td><td><input type="text" name="pocet4" size="2">&nbsp;ks...</td></tr>
<tr><td></td><td><input type="text" name="pocet5" size="2">&nbsp;ks...</td></tr>
<tr><td>* Meno a priezvisko</td><td><input type="text" name="meno" size="40"></td></tr>
<tr><td align="right" valign="top">Adresa</td><td><textarea COLS="30" ROWS="6" 

name="adresa"></textarea></td></tr>
<tr><td align="right">* Telefon</td><td><input type="text" name="telefon" 

size="40"></td></tr>
<tr><td align="right">* E-mail</td><td><input type="text" name="mail" size="40"></td></tr>
<tr><td align="right" valign="top">Poznámka</td><td><textarea COLS="30" ROWS="6" 

name="poznamka"></textarea></td></tr>
<tr><td></td><td align="right"><input type="submit" value="Odoslať"></td></tr>
</form>
</table>

</form>
</body>
//edit: OPRAVA: Pridal som do podmienok aj to, aby neakceptovalo zadanú 0 v počte CD. Už to snáď bude dobre, je to z hlavy a neskúšal som to...
ppt
Darca
Darca
Používateľov profilový obrázok
Príspevky: 1920
Registrovaný: 27 máj 2006, 11:24
Kontaktovať používateľa:

Príspevok od používateľa ppt »

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
Co robi toto?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

nerobí to nič, pôjde to aj bez toho. je to iba určenie verzie html. Validátory ti to vyhodia ako chybu ak to tam nedáš, ale funkčné to bude (na väčšine prehliadačov) aj bez toho
snake2
Medium Professional
Medium Professional
Príspevky: 1211
Registrovaný: 01 mar 2006, 20:27

Príspevok od používateľa snake2 »

2 audiotrack : no musim povedat ze ludia ako si ty udrzuju toto forum tam kde je ( myslim najlepsie co poznam ) ... takze este raz diky moc


a ten link radsej nechci ....
Napísať odpoveď