- Honor 400 - és mégis mozog a kép
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Samsung Galaxy S25 - végre van kicsi!
- Apple iPhone 16 Pro - rutinvizsga
- Xiaomi 15 Ultra - kamera, telefon
- Okosóra és okoskiegészítő topik
- Mi nincs, grafén akku van: itt a Xiaomi 11T és 11T Pro
- Yettel topik
- Telekom mobilszolgáltatások
- Milyen okostelefont vegyek?
Új hozzászólás Aktív témák
-
fordfairlane
veterán
válasz
#68216320 #18085 üzenetére
Ti milyen megoldást használtok ilyen esetben?
A kettő nem zárja ki egymást. Kezelheted a form kirajzolását, a form submitot és a hibakezelést egy helyről, egy handlerből, de a részműveletek több helyen. Itt kettészedtem nézetre és minden másra. Természetesen ez így még mindig nagyon kezdetleges, de remélem, átjön a lényeg, és az újraküldés ellen védett.
form_handler:
<?php
$form_errors = array();
if($_SERVER["REQUEST_METHOD"] == "POST") {
// validálás
$form_errors["email"] = "Ez az email már foglalt";
$if(!count($form_errors)) {
// mentés
// ...
header("Location: " . $_SERVER["SCRIPT_NAME"] . "?success=1");
exit;
}
}
$success = isset($_GET["success"]?true:false);
require_once("form.php");form.php:
<?php
<?php if(success): ?>
A regisztráció perfektül organizálódik.
<?php endif; ?>
<form method="post">
<input type="text" name="email">
<?php if(isset($form_errors["email"])): ?>
<div class="errorlabel"><?=htmlspecialchars($form_errors["email"])?></div>
<?php endif; ?>
</form> -
Sk8erPeter
nagyúr
válasz
#68216320 #18085 üzenetére
Az első mindenképpen ocsmány megoldás, mivel így nem válik szét a megjelenítés és az adatok validálása, feldolgozása, adatbázisba írása (meg hasonló műveletek). A form kiírásának semmi köze nem szabadna, hogy legyen ahhoz, hogy aztán mit kezdesz az adataiddal. Szóval mindenképp válaszd külön a kettőt. Ezért szokás szétválasztani a különböző rétegeket (lásd MVC-szemlélet és társai).
Új hozzászólás Aktív témák
- Építő/felújító topik
- Azonnali notebookos kérdések órája
- Path of Exile (ARPG)
- Macron betiltatná az EU-ban a közösségi médiát a 15 év alattiaknak
- Bittorrent topik
- Honor 400 - és mégis mozog a kép
- Luck Dragon: Asszociációs játék. :)
- Milyen routert?
- S.T.A.L.K.E.R.: Shadow of Chernobyl
- SD-kártyát vennél? Ezért ne csak a GB-ot nézd! – Tech Percek #9
- További aktív témák...
- LENOVO ThinkBook 13s - 13.3" FullHD IPS - i5-10210U - 8GB - 256GB SSD - Win11 - MAGYAR
- LG 55G4 - 55" OLED evo - 4K 144Hz & 0.1ms - MLA Plus - 3000 Nits - NVIDIA G-Sync - FreeSync Premium
- LG 25GR75FG - E-Sport Monitor - FHD 360Hz 1ms - NVIDIA Reflex + G-sync - AMD FreeSync - HDR 400
- Bomba ár! Dell Latitude E5570 Touch - i5-6300U I 8GB I 256SSD I 15,6" FHD I HDMI I CAM I W10 I Gari
- Eredeti Lenovo USB-C 65W töltő
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged