Ú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>

Új hozzászólás Aktív témák