ugrás a tartalomhoz

Mi a véleményetek?

Vadember · 2004. Dec. 25. (Szo), 11.20
Hali! Szerintetek egy űrlap kitöltésénél mi a legjobb módszer, ha a felhasználót figyelmeztetni akarjuk arra, hogy vmit hibásan töltött ki? Én ezekre gondoltam:

-js-es alert
-kiíírjuk a figyelmeztetést ugyanarra a lapra
-vagy átirányítom egy másik lapra és ott írom ki
-esetleg a mezők mellé teszek vmi jelet (ezt hogyan lehetne EGYSZERŰEN megoldani?)

Nos? Ki hogyan csinálja?
 
1

bbalint · 2004. Dec. 25. (Szo), 12.09
(szvsz)

ény a második megoldást szoktam preferálni; PHP-val elenőrözöm az adat, és ha nem stimm, akkor az űrlap elé odabiggyesztek egy üzenetet, hogy <div class="uzenet hiba"/> vagy <div class="uzenet info"/> és a többi, persze tartalommal,

a négyes megoldása olyasmi (lehet), hogy ha kimegy a mezőböl, akkor egy függvény megnézi (onblur="" attribútum), hogy jó-e a dolog és. a szövegdoboz előtt/után/mellett csinál egy "hibaüzenetet" mondjuk DOM-mal, hogy az ott most nem jó.
meg, mondjuk lehetne egy logikai változó is, ami engedi elküldeni a form-ot vagy nem és hibás adat esetén ez természetesen hamis volna, hogy ne működjön az elküldés gomb (<button type="submit"/>)
DOM persze nem minden böngészőbe, internet explorerben vala, úgyhogy ami -talán- jobb megoldás, hogy előre ott van a lehetséges hibaüzenet (pl <div>A jelszónak legalább 6 karakter hoszúnak kell lennie és bla bla bla</div>) egy visibility: hidden; CSS tulajdonsággal meg valami névvel, ami a szövegmező nevével hasonló, pl szövegmező neve-hiba.
ha rosszul írja be a dolgot, akkor ezt a részt láthatóvá kell tenni és akkor jó.

az "állandó" alert() ablak meg nagyon idegesítő [lehet], úgyhogy leginkább az nem használ nám.

a harmadik, átirányítós megoldás azért nem jó annyira, mert ha valami esetleg változik az űrlapon, akkor két helyen is "utána kell kódolni", ami nem biztos olyan kényelmes, mintha csak egy file van, amiben megtörténik az űrlap kiiratása és feldolgozása is

bbalint
2

Hogy valositod meg ezt 2. meg

smyle · 2005. Jan. 1. (Szo), 21.11
Hogy valositod meg ezt 2. megoldast folyamataban?
Ugyanazon php-ben leellenorzod az adatokat, majd header("location:")-el lokod tovabb?
3

így?

bbalint · 2005. Jan. 1. (Szo), 21.34

<?php
 print('<?xml version="1.0" encoding="ISO-8859-2"?>'
      .'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'
      .'<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="hu" lang="hu" dir="ltr">'
      .'<head>'
      .'<title>próba</title>'
      .'</head>'
      .'<body>');
 
 if($_POST
 && isset($_POST['felhasznalonev'], $_POST['jelszo'])
 /* és hasonló változó-meglét feltételek */){
  // adatok ellenőrizése elseifekben:
  
  if(letezik_ilyen_felhasznalonev($_POST['felhasznalonev']))
   print('<div class="uzenet info">'
        .'Már van ilyen felhasználói név, válasz másikat!'
        .'</div>');
  elseif(strlen($_POST['jelszo']) > 10)
   print('<div class="uzenet hiba">'
        .'A jelszó nem lehet hosszabb tíz karakternél!'
        .'</div>');
  // ... ésígytovább még néhány hason ló elenőrzés
  elseif(!@mysql_query(/* INSERT INTO vagy valami */))
   print('<div class="uzenet mysql-hiba">'
        .'mysql_error() = '.mysql_error()
        .'</div>');
  else{
   print('<div class="uzenet ok">'
        .'Sikeres regisztrácijó!'
        .'</div>');
   
   $_POST = array();
   // $_POST tömb "ürítése", hogy az űrlap üres legyen
  }
 }
 
 print('<form action="'.htmlspecialchars($_SERVER['SCRIPT_NAME']).'" method="post">'
      .'<label for="felhasznalonev">Felhasználónév</label>'
      .'<input type="text" name="felhasznalonev" id="felhasznalonev" value="'.@htmlspecialchars($_POST['felhasznalonev']).'"/><br/>'
      .'<label for="jelszo">Jelszó</label>'
      .'<input type="text" name="jelszo" id="jelszo"/><br/>'
      .'<button type="submit">Mehet</button>'
      .'</form>'
      .'</body>'
      .'</html>');
?>
valahogy ... így ...

bbalint
4

Lehet en vok a suger, de nem

smyle · 2005. Jan. 1. (Szo), 23.09
Lehet en vok a suger, de nem latom a lenyeget.
En ugy csinalnam meg ugyanabban a fajlban, az adatok ellenorzese utan header allitassal menne tovabb a kov oldalra.
Csak arra lettem volna kivancsi van-e ennel jobb megoldas.
Thx!