Mám G-book v PHP,který funguje jako formulář a nikde nemohu najít jak bych mohl zjistit ,že tam uživatel zadal správnou adresu (myslím ,že např. @ není první ani poslední znak a že za @ musí být tečka a 2-4 písmena.
Fórum › PHP
Kontrola věcí ve formuláři a nejen to!
no bu? by to ?lo ?e?it p?es klientsk? jazyk (javascript) nebo p?es php pomoc? regul?rn?ch v?raz?
?e?en? p?es js
http://www.jaknaweb.com/script-kod/250/kontrola-spravnosti-e-mailu-2 http://www.jaknaweb.com/script-kod/251/kontrola-spravnosti-e-mailu
n?co o regul?rech
http://interval.cz/clanky/regularni-vyrazy-v-php-1/
Je to tady SUPER!!! :skunk: Dik za odpověď :ok:
Schvalne, jestli znate OFICIALNI regularni vyraz na kontrolu emailu? Ne? Tady je... :ok:
(?:(?:rn)?[ t])*(?:(?:(?:[^()<>@,;:".[] x00-x1F]+(?:(?:
(?:rn)?[ t])+|Z|(?=[["()<>@,;:".[]]))|"(?:[^"r]|.
|(?:(?:rn)?[ t]))*"(?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t]
)*(?:[^()<>@,;:".[] x00-x1F]+(?:(?:(?:rn)?[ t])+|Z|(?=
[["()<>@,;:".[]]))|"(?:[^"r]|.|(?:(?:rn)?[ t]))*"(
?:(?:rn)?[ t])*))*@(?:(?:rn)?[ t])*(?:[^()<>@,;:".[]
x00-x1F]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()<>@,;:".[]]))|
[([^[]r]|.)*](?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])
*(?:[^()<>@,;:".[] x00-x1F]+(?:(?:(?:rn)?[ t])+|Z|(?=[
["()<>@,;:".[]]))|[([^[]r]|.)*](?:(?:rn)?[ t])*
))*|(?:[^()<>@,;:".[] x00-x1F]+(?:(?:(?:rn)?[ t])+|Z|(
?=[["()<>@,;:".[]]))|"(?:[^"r]|.|(?:(?:rn)?[ t]))*
"(?:(?:rn)?[ t])*)*<(?:(?:rn)?[ t])*(?:@(?:[^()<>@,;:".
[] x00-x1F]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()<>@,;:".[
]]))|[([^[]r]|.)*](?:(?:rn)?[ t])*)(?:.(?:(?:rn)?
[ t])*(?:[^()<>@,;:".[] x00-x1F]+(?:(?:(?:rn)?[ t])+|
Z|(?=[["()<>@,;:".[]]))|[([^[]r]|.)*](?:(?:rn)?[
t])*))*(?:,@(?:(?:rn)?[ t])*(?:[^()<>@,;:".[] x00-x1F
]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()<>@,;:".[]]))|[([^[]
r]|.)*](?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()
<>@,;:".[] x00-x1F]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()<>@
,;:".[]]))|[([^[]r]|.)*](?:(?:rn)?[ t])*))*)*:(?
:(?:rn)?[ t])*)?(?:[^()<>@,;:".[] x00-x1F]+(?:(?:(?:r
n)?[ t])+|Z|(?=[["()<>@,;:".[]]))|"(?:[^"r]|.|(?:(?
:rn)?[ t]))*"(?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[
^()<>@,;:".[] x00-x1F]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()
<>@,;:".[]]))|"(?:[^"r]|.|(?:(?:rn)?[ t]))*"(?:(?:
rn)?[ t])*))*@(?:(?:rn)?[ t])*(?:[^()<>@,;:".[] x00-x
1F]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()<>@,;:".[]]))|[([^[
]r]|.)*](?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^
()<>@,;:".[] x00-x1F]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()<
>@,;:".[]]))|[([^[]r]|.)*](?:(?:rn)?[ t])*))*>(
?:(?:rn)?[ t])*)|(?:[^()<>@,;:".[] x00-x1F]+(?:(?:(?:r
n)?[ t])+|Z|(?=[["()<>@,;:".[]]))|"(?:[^"r]|.|(?:(
?:rn)?[ t]))*"(?:(?:rn)?[ t])*)*:(?:(?:rn)?[ t])*(?:(?:
(?:[^()<>@,;:".[] x00-x1F]+(?:(?:(?:rn)?[ t])+|Z|(?=[
["()<>@,;:".[]]))|"(?:[^"r]|.|(?:(?:rn)?[ t]))*"(?:
(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()<>@,;:".[]
x00-x1F]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()<>@,;:".[]]))|"
(?:[^"r]|.|(?:(?:rn)?[ t]))*"(?:(?:rn)?[ t])*))*@(?:
(?:rn)?[ t])*(?:[^()<>@,;:".[] x00-x1F]+(?:(?:(?:rn)?
[ t])+|Z|(?=[["()<>@,;:".[]]))|[([^[]r]|.)*](?:(
?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()<>@,;:".[] x
00-x1F]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()<>@,;:".[]]))|[
([^[]r]|.)*](?:(?:rn)?[ t])*))*|(?:[^()<>@,;:".[]
x00-x1F]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()<>@,;:".[]]))
|"(?:[^"r]|.|(?:(?:rn)?[ t]))*"(?:(?:rn)?[ t])*)*<(
?:(?:rn)?[ t])*(?:@(?:[^()<>@,;:".[] x00-x1F]+(?:(?:(?:
rn)?[ t])+|Z|(?=[["()<>@,;:".[]]))|[([^[]r]|.)*
](?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()<>@,;:".
[] x00-x1F]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()<>@,;:".[]
]))|[([^[]r]|.)*](?:(?:rn)?[ t])*))*(?:,@(?:(?:rn)
?[ t])*(?:[^()<>@,;:".[] x00-x1F]+(?:(?:(?:rn)?[ t])+|
Z|(?=[["()<>@,;:".[]]))|[([^[]r]|.)*](?:(?:rn)?
[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()<>@,;:".[] x00-x1F]
+(?:(?:(?:rn)?[ t])+|Z|(?=[["()<>@,;:".[]]))|[([^[]
r]|.)*](?:(?:rn)?[ t])*))*)*:(?:(?:rn)?[ t])*)?(?:[^(
)<>@,;:".[] x00-x1F]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()<>
@,;:".[]]))|"(?:[^"r]|.|(?:(?:rn)?[ t]))*"(?:(?:r
n)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()<>@,;:".[] x00-x
1F]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()<>@,;:".[]]))|"(?:[^
"r]|.|(?:(?:rn)?[ t]))*"(?:(?:rn)?[ t])*))*@(?:(?:r
n)?[ t])*(?:[^()<>@,;:".[] x00-x1F]+(?:(?:(?:rn)?[ t])
+|Z|(?=[["()<>@,;:".[]]))|[([^[]r]|.)*](?:(?:rn
)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()<>@,;:".[] x00-x1
F]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()<>@,;:".[]]))|[([^[
]r]|.)*](?:(?:rn)?[ t])*))*>(?:(?:rn)?[ t])*)(?:,s
*(?:(?:[^()<>@,;:".[] x00-x1F]+(?:(?:(?:rn)?[ t])+|Z|(
?=[["()<>@,;:".[]]))|"(?:[^"r]|.|(?:(?:rn)?[ t]))*
"(?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()<>@,;:".[
] x00-x1F]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()<>@,;:".[]]
))|"(?:[^"r]|.|(?:(?:rn)?[ t]))*"(?:(?:rn)?[ t])*))*
@(?:(?:rn)?[ t])*(?:[^()<>@,;:".[] x00-x1F]+(?:(?:(?:r
n)?[ t])+|Z|(?=[["()<>@,;:".[]]))|[([^[]r]|.)*]
(?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()<>@,;:".[
] x00-x1F]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()<>@,;:".[]])
)|[([^[]r]|.)*](?:(?:rn)?[ t])*))*|(?:[^()<>@,;:".
[] x00-x1F]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()<>@,;:".[
]]))|"(?:[^"r]|.|(?:(?:rn)?[ t]))*"(?:(?:rn)?[ t])*)
*<(?:(?:rn)?[ t])*(?:@(?:[^()<>@,;:".[] x00-x1F]+(?:(?
:(?:rn)?[ t])+|Z|(?=[["()<>@,;:".[]]))|[([^[]r]|
.)*](?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()<>@,;:
".[] x00-x1F]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()<>@,;:".
[]]))|[([^[]r]|.)*](?:(?:rn)?[ t])*))*(?:,@(?:(?:
rn)?[ t])*(?:[^()<>@,;:".[] x00-x1F]+(?:(?:(?:rn)?[ t
])+|Z|(?=[["()<>@,;:".[]]))|[([^[]r]|.)*](?:(?:r
n)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()<>@,;:".[] x00-
x1F]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()<>@,;:".[]]))|[([^
[]r]|.)*](?:(?:rn)?[ t])*))*)*:(?:(?:rn)?[ t])*)?(?
:[^()<>@,;:".[] x00-x1F]+(?:(?:(?:rn)?[ t])+|Z|(?=[["
()<>@,;:".[]]))|"(?:[^"r]|.|(?:(?:rn)?[ t]))*"(?:(?
:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()<>@,;:".[] x0
0-x1F]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()<>@,;:".[]]))|"(?
:[^"r]|.|(?:(?:rn)?[ t]))*"(?:(?:rn)?[ t])*))*@(?:(?
:rn)?[ t])*(?:[^()<>@,;:".[] x00-x1F]+(?:(?:(?:rn)?[
t])+|Z|(?=[["()<>@,;:".[]]))|[([^[]r]|.)*](?:(?:
rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()<>@,;:".[] x00
-x1F]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()<>@,;:".[]]))|[([
^[]r]|.)*](?:(?:rn)?[ t])*))*>(?:(?:rn)?[ t])*))*
)?;s*)
Já jako začátečník v PHP v tom vidím akorát hromadu smajlíků :D
Jak dlouho jsi to psal? O : - )
Btw ty smajly tam vidím taky :)
Trochu rozumím, ale taky spíš ty smajly :super:
4Dragon
Děkujeme za kladné hodnocení a jestli o tomto webu informuješ své okolí tak nám to vadit nebude :chiche:
4Krtek:
Mno já Vás klidně budu doporučovat ,ale musíte mi mou otázku (vlastně to jsou vždycky otázky :? ) do podrobna zodpovědět :)) .
Mno a je i něco podobného na webovou adresu? To taky nikde nemůžu sehnat. :?
Otus napsal:
Těší jo...Mně by spíš zajímalo něco jiného : Jak udělat kontrolu přesného formátu data...Můžete mi někdo odpovědět? Díky moc předem! :skunk2:
přesného formátu data,??? to myslíš jako že chceš aby to bylo dd.mm.yyyy
nebo že tam musí bejt tečky... nebo to může bejt jak dd.mm.yyyy tak i dd.mm.yy
definuj to blíže...
no tak zkusim něco vymyslet:Otus napsal:
Tý jo...Mně by spíš zajímalo něco jiného : Jak udělat kontrolu přesného formátu data...Můžete mi někdo odpovědět? Díky moc předem! :skunk2:
soubor jsem si pojmenoval "kontrola-data.php"
<form action="kontrola-data.php" method="post">
<input type="text" name="datum" value="12.09.2004" />
<input type="submit" name="vlozit" value="Kotrola">
</form>
<?
if(substr($datum,1,1)==".")
{
if ((substr($datum,1,1)==".") && (substr($datum,4,1)=="."))//kontrola teček
{
if(strlen(substr($datum,5,4))==4)
{
echo"<br>Datum je ve tvaru d.mm.yyyy";
}
else
{
echo "<br>Zadejte rok ve správném formátu<br>";
}
}
elseif ((substr($datum,1,1)==".") && (substr($datum,3,1)=="."))//kontrola teček
{
echo "<br>Měsíc musí být ve tvaru mmn<br>";
}
else
{
echo "<br>Zadejte prosím tečky, nezadali jste je správně<br>";
}
}
elseif(substr($datum,2,1)==".")
{
if ((substr($datum,2,1)==".") && (substr($datum,5,1)=="."))//kontrola teček
{
if(strlen(substr($datum,6,4))==4)
{
echo "<br>Datum je ve tvaru dd.mm.yyyy";
}
else
{
echo "<br>Zadejte rok ve správném formátu<br>";
}
}
elseif ((substr($datum,2,1)==".") && (substr($datum,4,1)=="."))//kontrola teček
{
echo "<br>Měsíc musí být ve tvaru mmn<br>";
}
else
{
echo "<br>Zadejte prosím tečky, nezadali jste je správně<br>";
}
}
else {echo"<br>Zadejte tečky správně";}
?>
Xenocida:Takovyhle kontroly dat se delaji prave pres regularni vyrazi. To je pak jeen radek kodu a ne jede a pul stranky ;) A navic...kdyz uz kontrolujes to datum, tak doporucuju pouzit funkci checkdate()
http://us2.php.net/manual/en/function.checkdate.php
Otus: Spolehat pri kontrolovani na javascript je blbost. JS se pouziva v pripade, ze chces neco zkontrovat aniz by byl potreba reload stranky. Slouzi to spise k pohodli uzivatele nez k objektivnimu kontrolovani. Tak jako tak musis kontrolu dat PHP stejne udelat. Jinak by si nekdo mohly JS vypnout a delat s formularem psi kusy :rejza:
BTW, kdyz uz tak touzis po tom JS, tak se koukni sem:
http://www.madirish.net/tech.php?section=1&article=118
Krtek: Dva udery do klavesnice (schranka rulezz) :mikulas:
CommanderZ napsal:
Otus: Spolehat pri kontrolovani na javascript je blbost. JS se pouziva v pripade, ze chces neco zkontrovat aniz by byl potreba reload stranky. Slouzi to spise k pohodli uzivatele nez k objektivnimu kontrolovani. Tak jako tak musis kontrolu dat PHP stejne udelat. Jinak by si nekdo mohly JS vypnout a delat s formularem psi kusy :rejza:
Jo hele ono to neni pro uživatele zvenku. Jde o omezenou komunitu, která JS stopro neobejde. Díky za odkaz!
:DD
CommanderZ napsal:
Xenocida:Takovyhle kontroly dat se delaji prave pres regularni vyrazi. To je pak jeen radek kodu a ne jede a pul stranky ;) A navic...kdyz uz kontrolujes to datum, tak doporucuju pouzit funkci checkdate()
ty jo tu fci checkdate() vůbec neznam... husté no....:)
a regulární výrazy, jo je to přes ně jednoduše, ale proč to dělat jednoduše, když..... :)
A zná někdo nějakou tu funkci jak ,když se ukážete na odkaz tak se změní jeho barva?
Nemyslim to v JavaScriptu, protože pokud máte zabezpečení v IE tak to tam nahoru hodí tu nehezkou žlutou lištu.
no že by přes CSS styly?? jednoduché ne?
a:hover {}
a:link {}
a:visited {}
:)
EDITED by XenoCIDa: ty jo ale nechápu ten důvod proč to dávat do kodu, když to je i takhle malé...
Jo dík :ok: to jsem potřeboval .
neviem či vieš ale v těch CSS možeš spraviť aj haluz tlačítka. v Javascripte sa to používa ako tmavý obrázok, svetlý, napríklad žiarovka ...
v CSS to spravíš takto
.button a { background-image: url(button_dark.gif)}
.button a:hover { background-image: url(button_light.gif)}
Jo dík :ok:
A něco na kontrolu Webové adresy ve formuláři nemáte?
A nebo, že se dá vložit do jednoho Inputu jen omezené množství znaků?
(jako ostatní to tam už nepustí. Někde jsem to vyděl ale už nevim kde)
To na tu adresu bude zase regularni vyraz. Na netu jsou ruzne knihovny s temito vyrazy, doporucuju hledat.
A k te delce... na to ma input primo parametr MAXLENGTH viz. priklad:
<input type="text" maxlength=10 value="">
A něco v php že když mám třeba soubor blabla.txt ,který obsahuje HTML tagy a pak stránku neco.php tak aby se tam zobrazoval obsah blabla.txt ,ale aby tam platily ty HTML tagy, myslím ,že se něco podobného používá u g-book(Knihy návštěv). Jo a nemyslim rámy
Jj Přesně tohle! :skunk:
Mno a tež by nebylo něco jako je v javascript? ten rozbalovac? text (viz http://www.jakpsatweb.cz/javascript/priklady/skryvani-odkryvani.html
Akorát aby to nebylo v tom JS ptž tam to v IE vyhazuje to nehezké okno jak se musí povolit?:((
A to by si ti zase dakovali pouzivatelia z dial-up pripojenim. Ofporucam ten js.
Toto daj do hlavicky:
function rozbal(objekt){
var stav=document.getElementById(objekt).style.display;
if(stav=="none" || stav==""){
document.getElementById(objekt).style.display="block";
document.getElementById(objekt+'sipka').innerHTML="«";
}else{
document.getElementById(objekt).style.display="none";
document.getElementById(objekt+'sipka').innerHTML="»";
};
}
A toto do tela dokumentu:
<div style="text-align:center;margin-bottom:2px;">
<span tyle="text-decoration:underline;cursor:pointer;" onclick="rozbal('formular')" >Uploadni</span>
<span id="formularsipka">?</span>
</div>
Vyzera to takto: http://dalaman.php5.cz/upload.php
A klikni hore na upload....
A něco jako ,že když na něco kliknu ,že se změní hodnota INCLUDE?
A jak by to server-side php asi melo delat? Jakou tu urcite moznosti jako refresh stranky nebo podrizeny ramec (frame). A pak je tu taky ajax, ten by mohl na neco podobneho poslouzit.
Ale da sa aj to tak ze ak kliknes na odkaz
napr. <a href='index.php?stranka=1'> a potom do include priradis podla premennej z $_GET['stranka'] hodnotu.
Napr.
if ($_GET['stranka']==1) include("stranka1.php");
Alebo ked ich mas viac cez case....
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Kontrola emailu ve formuláři — založil cheeester
Kontrola pole ve formulari - s podminkou ...? — založil Poooool
Komunita kolem programujte.com a asi nejen zde — založil Anonymní uživatel
M16 + winavr090313 -nejak mi to spatne pocita a nejen to. — založil xhans69
Webdesign Pohodlí nabízí nejen webové stránky — založil Mackiee
Moderátoři diskuze