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.
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.
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>
#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.
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.
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é:
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku