Potrebujem neaku fintu (teda script) aby mi blokovala meno admin a administrator pri odoslani z textoveho pola. Teda ked tam nacarbem napr. ADMIN nesmu sa odoslat udaje z formulara. Slo by to? A ked ano a bol by niekto od tej dobroty a napisal mi to niekto vo forme JS. Dakujem
FOFO
formulář má událost onsubmit.
viz: http://www.jakpsatweb.cz/javascript/formular-zruseni.html
Řešit to javascriptem je blbost, protže není nic jednodužšího, než javascript vypnout a vesele si to odesílat dál...
Hm...
Ja viem ze sa to tu uz nehodi ale odvazi sa tu niekto na php?
Tož jednoduše, ve skriptu, kterým to zpracováváš, uděláš jednoduchou kontrolu:
if (strtolower($_REQUEST['jmeno'])!='admin' && strtolower($_REQUEST['jmeno'])!='admininstrator'){ původní kód pro uložení;}
else{
echo 'Nesmíte použít jmnéno '.$_REQUEST['jmeno'];}
$_REQUEST? omg , jsi si 100% jisty ze to je bezpecne?
23k... nevím, jestli to posílá přes post nebo get ;)
prave ze oboji a v tom je nekdy kamen urazu.
Si predstav ze mas formular pres metodu POST mas tam naky hiddeny ktery se nemaj menit a nekdo se ti tam podiva a rekne si treba to ma pres $_REQUEST pole tak ti to pres URL vyzkousi a nadela ti tam paseku
mi je to jasne, ja jsem mu to tam napsal, aby mu to fungovalo, podle toho dotazu jsem si rikal, ze to radsi udelam tak, nez mu pak vysvetlovat post a get a nevim co jeste vsechno....
Jak můžu udělat, že když bude mít třeba <input type="text">
obsah 123, zobrazí se mi pod ním další textové políčko ( třeba pro heslo jak je to u knih na blueboardu ) ?
neznám moc bluboard, ale zřejmě tam ten druhý bude taky, bude skrytý a javascriptem budeš na událost onkeydown() nebo tak nějak na tom inputu spouštět js funkci, která bude podle obsahu inputu zobrazovat/skrývat ten druhý box
No jo... jenže to je právě ten problém... já nevím kód na "když bude obsah jména takový a makový, udělej operaci zobrazit"
tak asi
function kontroluj(){
var jmeno=top.document.getElementById("jmeno");
var heslo=top.document.getElementById("heslo");
if (jmeno.value=='123'){heslo.style.display="block";}
else{heslo.style.display="none";}
}
ten formulář by vypadal asi takto:
<form>
<input type="text" name="jmeno" id="jmeno"/>
<input type="password" name="heslo" id="jmeno" style="display:none" />
<input type="submit" />
</form>
sakra, ten input jmeno by měl mít ještě událost onkeypress()
takže
<input type="text" name="jmeno" id="jmeno" onKeyPress="kontroluj()" />
Já jsem si to upravil a opravil... mněl jsi tam dvě rovná se..
<script>
function kontroluj(){
var jmeno=top.document.getElementById("jmeno");
var heslo1=top.document.getElementById("heslo1");
if (jmeno.value='123'){heslo1.style.display="block";}
else{heslo1.style.display="none";}}
</script>
Ale teď, kliknu na jmeno a nic.... ale jakmile něco stisknu, okamžitě se před to napíše 123 a jde smazat jenom to písmenko co jsem před tím napsal....
Jinak heslo1 se zobrazí jak tam něco napíšu a nevadí mu, že je tam třeba 123b
A když v tom scriptu přepíšu value 123 na 124 tak se to tam zobrazí tak, jak jsem to předtím říkal a heslo1 se i tehdy zbrazí.... to if je nějaký špatný...
máš tam chybu.. nmůže to být if (jmeno.value='123'){heslo1.style.display="block";}
ale
if (jmeno.value=='123'){heslo1.style.display="block";}
v podmínce if když použíješ přiřazování "=" tak se přiřadí hodnota a vyjde vžy true, takže se i zobrazí pole s heslem
naopak pokud použiješ "==" tak se zkontroluje, jestli se rovnají.....
Chápeš?
Ale tak jsem to měl před tím, a tak mi to vůbec nefunguje....
To se to nezobrazí nikdy!
Euroska: jj, blbý překlep ;), to se mi bohužel stává docela často :(
Džej Ár: Ty si tam ale mněl dvě rovnáse... a mně to s tím nešlo, tak jsem jedno umazal...
Džej Ár-> tys to měl dobře :D
on to přepsal..
Astronom-> Pokud se ti to nezobrazí, máš asi špatně nastavené id poli ap...
Tak se dívej... doufám, že se tu na mě nikdo nebude zlobit... je to totiž dost dlouhý...:
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<meta http-equiv="Page-Enter" content="revealTrans(Duration=1.0,Transition=60)">
<link rel="stylesheet" type="text/css" href="style.css">
<script>
function zobraz (objekt) {objekt.style.display="inline";}
function skry (objekt) {objekt.style.display="none";}
</script>
<script>
function kontroluj(){
var jmeno=top.document.getElementById("jmeno");
var heslo1=top.document.getElementById("heslo1");
if (jmeno.value=='123') {heslo1.style.display="inline";}
else{heslo1.style.display="none";}}
</script>
<style type="text/css">
body {
scrollbar-track-color: #081180;
scrollbar-face-color: #1124ff;
scrollbar-highlight-color: #8d95f5;
scrollbar-3dlight-color: #0702ca;
scrollbar-darkshadow-color: #081780;
scrollbar-shadow-color: #0804b2;
scrollbar-arrow-color: #ffff00; }
</style>
</HEAD>
<BODY background="../Obrazky/Pozadi.bmp">
<center><font color="yellow"><b><u>POZOR!</b></u> Dostali jste se do zvláštního úseku této stránky,
<br>přístupné pouze přihlášeným lidem!
<br>Nová přezdívka se nedá vytvořit!
<br>Pokud zde již máte přezdívku, prosím abyste se zaregystrovali:
<br>Pokud zde přezdívku nemáte, <input type="button" onclick="history.back()" value="vraťte se"> prosím zpět...
<br><br><br>
<table align="center" bgcolor="#E8DE31" cellpadding="0" cellspacing"0" style="border:1px solid #000000;">
<tr>
<td style="padding-left:12; padding-top:2" height="9">
<b>Jméno</b></td><td style="padding-top:2" width="145"><form name="formular" onsubmit="return false"><input type="text" size="15" name="jmeno" id="jmeno" style="border:1px solid #000000; width:137; background-color:#F2FFFF" onclick="document.formular.jmeno.style.backgroundColor='#F2FFFF'" onKeyPress="kontroluj()"></td>
</tr><tr>
<td style="padding-left:12;">
<b>Heslo</b></td><td><form name="formular" onsubmit="return false"><input type="password" size="15" name="heslo" style="border:1px solid #000000; width:137; background-color:#F2FFFF;" onclick="document.formular.jmeno.style.backgroundColor='#D8D7AF'">
<input type="submit" onclick="window.location.href = '../' + document.formular.jmeno.value + '/' + document.formular.heslo.value + '/acept.html'" style="border:0; background-color:#E8DE31; width:0px;"></td>
</tr><tr id="heslo1" name="heslo1" style="display:none">
<td style="padding-left:12;">
<b>Heslo 2</b></td><td><form name="formular" onsubmit="return false"><input type="password" size="15" name="heslo1" style="border:1px solid #000000; width:137; background-color:#F2FFFF;" onclick="document.formular.jmeno.style.backgroundColor='#D8D7AF'"></td>
<input type="submit" onclick="window.location.href = '../' + document.formular.jmeno.value + '/' + document.formular.heslo.value + '/acept.html'" style="border:0; background-color:#E8DE31; width:0px;"></td>
</tr><tr><td style="padding-top:6; padding-left:6;"><h6><font color="#dd0000">Tip:</font>
Přihlašte se</td>
<td style="padding-right:0; padding-left:2; padding-bottom:2; height:20;"><h6>pomocí enteru
<button align="right" onclick="window.location.href = '../' + document.formular.jmeno.value + '/' + document.formular.heslo.value + '/acept.html'" style="border:0; background-color:#E8DE31; cursor:hand; width:76;"><img src="../Obrazky/prihlas.gif"></button></div>
</td></tr>
</table>
</BODY>
No. A je tam teda někde chyba, nebo ne?
jestli je tam inline nebo bold, tak to je jedno..