Formulář - vychytávka – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Formulář - vychytávka – PHP – Fórum – Programujte.comFormulář - vychytávka – PHP – Fórum – Programujte.com

 

Counter0
Newbie
27. 3. 2013   #1
-
0
-

Zdravím Vás,

Mám takovou prozbu chci se zeptat jestli by šlo pokud uživatel se loguje do systému a pokud nezadá login nebo heslo aby v daném formuláři se Uživatelské jméno zčervenalo. Díky.

Nahlásit jako SPAM
IP: 37.221.251.–
Akimi Keita0
Návštěvník
27. 3. 2013   #2
-
0
-

Doporuču na to jQuery, Ajax. Poslat dotaz, a jestli jsou údaje špatné, přidat k elementu třeba třídu "error". Ale dalo by se to udělat i v PHP třeba přes if.

Nahlásit jako SPAM
IP: 86.59.150.–
Counter0
Newbie
28. 3. 2013   #3
-
0
-

Dobře, díky,že si mi řekl jak by to šlo :-) 

Ale přesněji v kódu by to nešlo? :-) 

Díky.  

Nahlásit jako SPAM
IP: 37.221.251.–
Akimi Keita0
Návštěvník
28. 3. 2013   #4
-
0
-

Mno, tohle je trochu "prasárna", je to udělané na rychlo, takže by to chtělo ještě upravit. Ale podstata zůstává.

$user = mysql_fetch_array( mysql_query( "select ..." ) );
...
<p>
	<label for="username">Username</label>
	<input type="text" name="username" id="username" <?if(isset($user["id"])): echo "class=\"error\""; endif;?>>
</p>

Jak říkám, v praxy by se tohle asi nevyužilo, takže si to budeš muset trochu upravit.

Jinak z JS a jQuery umím jen základy, ale teoreticky by jsi měl odeslat dotaz pomocí $.ajax() někde ho odchytit, a pak poslat zpátky. A do callbacku napíšeš jen:

<script>
...
function callback()
{
	$("#username").addClass("error");
}
...
</script>
Nahlásit jako SPAM
IP: 86.59.150.–
null_while
~ Moderátor
+6
Věrný člen
28. 3. 2013   #5
-
0
-

#4 Akimi Keita
Tvoje řešení ti červené pole vykreslí až po kliknutí, tudíž mu to aktuálně nezkontroluje, zda-li jsou údaje správně nebo ne. 

Vytvoř si soubor kontrola.php, ve kterém dle uživatelského jména a hesla porovnej, zda-li uživatel existuje. Stačí jednoduchý sql dotaz s výstupem true | false. 

$login = mysql_real_escape_string($_GET/$_POST['login'];
$password = md5(/sha($_POST['password'];

$sql = "SELECT login, password FROM users WHERE login = $login AND password = $password";

Potom stačí načasovat spouštění souboru např. po 2 sekundách od zadání nebo kliknutí na formuláře (akce onclick, apod.). Dál už můžeš postupovat dle řešení výš - podmínka + změna třídy, případně její inicializace. 

Nahlásit jako SPAM
IP: 84.16.103.–
WEBNIA.cz - tvorba webových stránek
Akimi Keita0
Návštěvník
28. 3. 2013   #6
-
0
-

Ale zkontroluje, jen se obnoví stránka. Sám na to radši používám ajax, takže samozřejmě doporučuji tvou radu.

Nahlásit jako SPAM
IP: 86.59.150.–
null_while
~ Moderátor
+6
Věrný člen
28. 3. 2013   #7
-
0
-

Jinak jestli chceš rovnou řešení, tak se podívej na Google. Je to tam na každém rohu.

Třeba tady můžeš doplnit ještě o další vychytávky, uživatelsky příjemné:

http://stackoverflow.com/…-submit-form

Nahlásit jako SPAM
IP: 84.16.103.–
WEBNIA.cz - tvorba webových stránek
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 30 hostů

Podobná vlákna

Vychytávka objednávání — založil Honza B

Formular — založil alan158

Formular — založil nero150

Formulář — založil KiRoS

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý