Ú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
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Linux kezdőknek
- Ubiquiti hálózati eszközök
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- Battlefield 6
- Cyberpunk 2077
- AMD Navi Radeon™ RX 9xxx sorozat
- Kínai és egyéb olcsó órák topikja
- Meghalt a Windows 10, éljen a Windows 10!
- Egérpad topik
- További aktív témák...
- Nagyon jó állapotú ASUS ROG Zephyrus G14 (2024) GA403UV-QS020W 1TB SSD, RTX 4060, 16GB RAM
- Bomba Ár! Lenovo ThinkPad L14 G2i - i5-1135G7 I 16GB I 256SSD I 14" FHD I Cam I W11 I Gar
- Bomba Ár! Lenovo ThinkPad L14 G2a - R5 4650U I 16GB I 256SSD I 14" FHD Touch I Cam I W11 I Gar
- Bomba ár! Lenovo ThinkPad L490 - i5-G8 I 16GB I 256SSD I 14" FHD Touch I HDMI I Cam I W11 I Gari!
- Bomba ár! Fujitsu LifeBook E544 - i5-4GEN I 8GB I 128SSD I 14" HD+ I DP I Cam I W10 I Garancia!
- VADIÚJ Bontatlan! Honor 400 Lite 8/256 AMOLED 120Hz Velvet Grey, Dual SIM 2év telekom gar
- GYÖNYÖRŰ iPhone 12 mini 256GB Red -1 ÉV GARANCIA -Kártyafüggetlen, MS3627
- BESZÁMÍTÁS! ASUS PRIME H510M i5 10400F 16GB DDR4 512GB SSD RX 6600 XT 8GB Chieftech BD-25B 600W
- Xiaomi Redmi Note 14 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! MSI B450 R5 5500 16GB DDR4 512GB SSD RX 6600 8GB COUGAR GAMING MX330-G 500W
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Laptopműhely Bt.
Város: Budapest