Autor Zpráva
Vavroch
Profil *
Zdravím
Mám skript na odesílání formuláře z www,vše funguje jak má,jenom ho chci do budoucna vylepšovat a tak bych se chtěl zeptat,jak například správně udělat oveření mailové adresy...

Zde je zdrojovy kod,kde jsem se o to pokusil,ale něco je špatně..

děuji za odpověď.

<?php

$to = "info@neco.cz";

$mail = $_POST['mail'];
if (ereg('@[^@]+[.][a-zA-Z]+$', $mail))
else 'E-mailová adresa není správně';
$name = $_POST['name'];
$telefon = $_POST['telefon'];
$select = $_POST['cochci'];
$zprava = $_POST['zprava'];


$extra = "From: $mail \r\n Reply-To: $mail \r\n ";

$subject = iconv("UTF-8", "ISO-8859-2","Vzkaz od $name");

$mess = iconv("UTF-8", "ISO-8859-2", " Jméno: $name\r\n Email: $mail\r\n Telefon: $telefon\r\n Stávající prezentace:http://$web\r\n O co mám zájem: $select\r\n Zpráva: $zprava\r\n");

if(!mail ($to, $subject, $mess, $extra))

die("Mail se nepodařilo odeslat, je nám líto"); //kontrola jestli se ten mail poslal



?>

<html><head>

<META HTTP-EQUIV="Refresh" CONTENT="0;URL=formular.php">
Bubák
Profil
http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=9&topic=63 725
Vavroch
Profil *
Já bych ale potřeboval aby se echo v případě špatné adresy nevypsalo na dalsi stranku,ale pouze do ramecku,jako to je u pouziti javascriptu,je to kvuli tomu,aby uzivatel nemusel znovu vyplnovat udaje do formulare,a byl jsen na chybu upozornen hlasenim v nejakem malem okenku.
Vavroch
Profil *
Tak jsem to nakonec vyresil pomoci javascriptu,to bylo rychlejsi...
Jenom by mne zajimalo,kdyz zadam mail dobre,tak mi to vypise,ze je dobre zadany a pak pokracuje beh skriptu.
Já bych potreboval aby pri spravanem zadani toto hlaseni nevypsal,ale pokracoval dale a pokud bude mail spatne aby hlaseni vypsal(což dělá) ale aby dál při potvrzení varování nepokračoval ve zpracovaní skriptu.

Víte někdo,jak toto v Js vyřešit?

Děukuji za jakoukolliv odpověď.
Vavroch
Profil *
jo a tady je ZK..malem bych zapoměl


<html>
<head>
<title>Příklad</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script language="JavaScript" type="text/javascript">
function over2(){
inp=document.form.mail.value;
mail=/^.+@.+\..{2,4}$/
if (mail.test(inp)==true)
window.alert("správný formát adresy");
else window.alert("špatně zadaná adresa")
}
</script>

</head>
<body>
<form action="odmailuj.php" name="form" method="post">
<p>Vaše jméno a příjmení (název firmy):</p>
<input class="cst" type="text" name="jmeno" size="42">
<p>Váš e-mail:</p>
<input class="cst" type="text" name="mail" size="42">
<p>Váš Telefon:</p>
<input class="cst" type="text" name="telefon" size="42">
<p>Váš současný web(pokud máte):</p>
<input class="cst" type="text" name="web" size="42">

<p></p>
V následujícím formuláři se prosím pokuste<br>

<p></p>
<textarea class="cst2" cols="40" rows="9" name="zprava"></textarea>
<p></p>
<input type="submit" value="Odešli zprávu" onClick="over2();" />
</form>
</body>
</html>
karbon
Profil *
Asi nejlepší bude nevypisovat hlášku 'správný formát adresy' a pak založit nějakou logickou proměnnou a tu při špatném zadání mailu znegovat a pak se bude pokračování skriptu řídit touto proměnnou
Vavroch
Profil *
Udělal jsem to prozatím takto:
Ale pořád to po odklepnutí projede zbytek skriptu,jeste osetrit tohle a bude to O.K

<script language="JavaScript" type="text/javascript">
function over2(){
inp=document.form.mail.value;
mail=/^.+@.+\..{2,4}$/
if (mail.test(inp)==false)
window.alert("špatně zadaná adresa");

}
</script>
karbon
Profil *
<script language="JavaScript" type="text/javascript"> 
bool = false;
function over2(){ 
inp=document.form.mail.value; 
mail=/^.+@.+\..{2,4}$/ 
if (mail.test(inp)==false) 
window.alert("špatně zadaná adresa"); 
bool = true;
} 

// zbytek skriptu
if(bool == false){
 // provedu zbytek skriptu
}
else{
 // neprovede se nic
}
</script>
Vavroch
Profil *
A to nevadí,že se to bude mísit s html tagy?
Vavroch
Profil *
Tak mi to stále projizdi ten skript po odkliknuti varovani...premyslel jsem jestli nejde v Js použít něco jako příkaz die v php ale nic jsme nenašel...nemohl by jsi sem hodit,jak by to presne melo vypadat,aby to fungovalo korektne?
karbon
Profil *
aha, tak se ifem obali ta funkce na kontrolu...
Vavroch
Profil *
Tak jsem to nakonec vyřešil takto:
Funguje to dobře...ale jediný problém je u radio buttons,nehcteji se mi zahrnout do vyberu...nevite nekdo,jak je tam zaclenit..aby to hlasilo,kdyz clovek nic nevybere?

ZK

<!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=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<script language="JavaScript">
<!--
function Kontrola(f) {
var vysledek = true;
var strerr = "";
if (f.jmeno.value=="") strerr += "Jméno\n";
if (f.mail.value=="") strerr += "Příjmení\n";
if (f.telefon.value=="") strerr += "Váš telefon\n";
if (f.cochci.value=="") strerr += "Co chci\n";
if ("" != strerr) {
vysledek = false;
alert("Níže uvedená pole nejsou vyplněna:\n\n" + strerr);
}
return vysledek;
}
//-->
</script>

<form action="odmailuj.php" name="form" method="post" onSubmit="return Kontrola(this);">
<p>Vaše jméno a příjmení (název firmy):</p>
<input class="cst" type="text" name="jmeno" size="42">
<p>Váš e-mail:</p>
<input class="cst" type="text" name="mail" size="42">
<p>Váš Telefon:</p>
<input class="cst" type="text" name="telefon" size="42">
<p>Váš současný web(pokud máte):</p>
<input class="cst" type="text" name="web" size="42">
<p></p>
<b>Mám Zájem o:</b>
<p></p>
<input type="radio" name="cochci" value="webová prezentace" id="webova_prezentace" /> Vytvoření webové prezentace
<br />
<input type="radio" name="cochci" value="grafické práce" id="grafika" /> Grafické a reklamní práce
<br />
<input type="radio" name="cochci" value="mobilní aplikace" id="mobilni_aplikace" /> Mobilní aplikace
<br />
<input type="radio" name="cochci" value="vytvoření e-shopu" id="e_shop" /> Vytvoření e-shopu
<br />
<input type="radio" name="cochci" value="redakční system" id="redakcni_system" /> Redakční systém
<br />
<input type="radio" name="cochci" value="redesing" id="redesing" /> Redesing webové prezentace
<br />
<input type="radio" name="cochci" value="seo optimalizaci" id="seo_optimalizaci" /> Seo optimalizaci
<br />
<input type="radio" name="cochci" value="webhostingové služby" id="web_hosting" /> Webhosting
<br />
<br>
<p></p>
V následujícím formuláři se prosím pokuste<br>
co nejpodrobněji popsat Vaše představy <br>
o webových stránkách,grafickém návrhu,funkcích atd...
<p></p>
<textarea class="cst2" cols="40" rows="9" name="zprava"></textarea>
<p></p>
<input type="submit" value="Odešli zprávu" onClick="over2();" />
</form>
</body>
</html>

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0