- Apple iPad 11” (A16, 2025) - a táblagépek vanília fagylaltja
- Milyen egeret válasszak?
- SSD kibeszélő
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Notebook hibák
- Melyik tápegységet vegyem?
- Házimozi belépő szinten
- A Battlefield 6-tal tenné vonzóbbá Core CPU-it és Arc GPU-it az Intel
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Fejhallgató erősítő és DAC topik
Aktív témák
-
fordfairlane
veterán
Mutatok egy egymezős skeleton modellt, én így csinálnám:
<?
if($_SERVER["REQUEST_METHOD"] == "POST") {
if(!$_POST["nev"]) {
$error["nev"] = "A név üres";
} else {
$res = mysql_query('SELECT COUNT(*) FROM felhasznalok WHERE nev="'.mysql_escape_string($_POST["nev"]).'"');
if($res && mysql_num_rows($res)) {
list($no) = mysql_fetch_row($res);
if($no) $error["nev"] = "Ez a felhasználónév már foglalt!";
}
}
// további ellenőrzések
if(!$error) {
$query = 'INSERT INTO felhasznalok SET ';
$query .= 'nev="'.mysql_escape_string($_POST["nev"].'"';
// további mezők queryhez fűzése
mysql_query($query);
header("Location:".$_SERVER["SCRIPT_NAME"]."?ok=1");
exit;
// ez az átirányítás azért kell, hogyha az oké üzenetre refresht nyom,
// ne kapjon hibaüzenetet, miszerint ez a felhasználónév már foglalt.
// felhasználók lassú reagálású oldalnál hajlamosak refreshelni
}
} elseif($_GET["ok"]) {
include("fejlec.php");
?><p>Minden oké</p><?
include("lablec.php");
} else {
include("fejlec.php");
?>
<form method="post">
<input type="text" name="nev" value="<?=htmlspecialchars($_POST["nev"])?>" /> <?=$error["nev"]?><br />
<input type="submit" value="Regisztráció" />
</form>
<?
include("lablec.php");
}
?>Remélem nem maradt ki semmi, nem próbáltam ki. 19 mezőnél persze nem biztos, hogy célszerű így ömlesztve, de a vezérlési szerkezetet ebben a formában szoktam csinálni. Így egy oldalban benne van:
1. form kirakása, hiba esetén a mező tartalma megmarad, és a mező mellett megjelenik a hibaüzenet.
2. Ha minden oké, kirakja az oké szöveget, meg ami kell.
3. refresh esetén nem produkál mást, mint első betöltődésnél, ez a sikeres submit után okozhat problémát, a felhasználó megzavarodhat a nem várt üzenetektől.Fejlécet és láblécet külön fájlból szedi be, ez ízlés szerint változtatható (include("fejlec.php") és include("lablec.php"));
-
cucka
addikt
Azért ugyanoda, hogy pl. a reg.php újratöltésekor (F5) ne regeljen mégegyet, és ne is fárassza a felhasználót azzal a szöveggel, hogy már foglalt a név, inkább legyen üres a sok mező
Session-ben eltárolod, ha sikerült a regisztráció. A fárasztó üzenetek csak akkor jelennek meg, ha a session-ben nincs meg a kérdéses érték.Ott tartok, hogy megy a reg, POST-al átadom a cuccot a ment.php-nak, és ha valami gebasz van, akkor a ment.php beinclude-olja a form-ot tartalmazó php fájlt (ami őt meghívta) és egy globális változó segítségével visszaadom neki, hogy mely hibaüzeneteket kell kiírnia.
A reg.php adatait lehetőleg a reg.php-val ellenőrizd. Ha az ellenőrzés sikerült, akkor include-al a "sasold a mailed" oldalt rántod be, különben a regisztrációs űrlapot.Amiben viszont most elakadtam, hogy hogy tudom az ellenőrzés után visszaírni a mezők adatait a helyükre
Mezők kiírásánál megnézed, ott van-e a POST-ban a korábbi érték, ha igen, akkor beírod az értéket az űrlap elem megfelelő részébe. Ha bonyolult a navigáció (pl. több oldal megtekintése után is visszakeveredhetsz az űrlapos oldalra, és akkor is ott kell legyen az utolsó állapot), akkor pedig az elpost-olt adatokat rakd le a session-be, az űrlapod pedig mazsolázza ki onnan a rá vonatkozó adatokat.Lehetőleg úgy akarom megoldani, hogy fürge legyen az oldal, és ne terhelje a szervert a kelleténél jobban.
Ezen egyelőre ne görcsölj szerintem, a fentiek alap műveletek, szerver terhelésük konvergál a nullához.Ja, és alap jótanács - a session-t lehet bátran használni, sok dolgot könnyebb vele megoldani, mint mindenféle trükközéssel.
Aktív témák
- Okosóra és okoskiegészítő topik
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Megjött Magyarországra a legnagyobb akkuval szerelt Redmi
- Google Pixel topik
- Gamescom 2025 - Az összes bejelentés egy helyen
- Battlefield 6
- Motoros topic
- Kerékpárosok, bringások ide!
- További aktív témák...
- Honor X7 128GB, Kártyafüggetlen, 1 Év Garanciával
- ÁRGARANCIA!Épített KomPhone i5 10400F 16/32GB RAM RTX 3050 6GB GAMER PC termékbeszámítással
- Referencia Weboldallal Világítós bill+laptop bill magyarítás. Rania 3M -is! Touchpadok is.Posta ok
- GYÖNYÖRŰ iPhone 13 mini 128GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS2159
- Bomba ár! Lenovo ThinkPad T480s - i7-8GEN I 16GB I 256GB I 14" WQHD I HDMI I Cam I W11 I Gari!
Állásajánlatok
Cég: FOTC
Város: Budapest