What's new

Bakit parehas sila lumalabas sa condition ko

loktoy

Eternal Poster
Joined
Oct 20, 2014
Posts
1,168
Solutions
2
Reaction
103
Points
497
Age
30
bakit parehas sila lumalabas halimbawa wala laman yun error na yun ang lalabas pero kung sakali meron laman at pareho sa database yun error na din yun lang lalabas

if (isset($_SESSION["signup_error"]['payeename']) && isset($_SESSION['errors_signup']['empty_input']) || isset($_SESSION['errors_signup']['payeename_taken']))
{
$error = $_SESSION["errors_signup"];
foreach($error as $errors => $value)
{
if( $errors === 'empty_input')
{
echo '<div class="form-group mt-1 ">';
echo '<label for="PayeeName">Payee Name:</label> <small id="emailHelp" class="form-text text-muted"> Note: Registered your name base on your account</small>';
echo '<input type="text" class="form-control form-control-sm rounded-3" name="payeename" value="" id="pname" placeholder="" >';
echo '<div class="error">' . $value .'</div>';
echo '</div>';
}elseif( $errors === 'payeename_taken'){
echo '<div class="form-group mt-1 ">';
echo '<label for="PayeeName">Payee Name:</label> <small id="emailHelp" class="form-text text-muted"> Note: Registered your name base on your account</small>';
echo '<input type="text" class="form-control form-control-sm rounded-3" name="payeename" value="' . $_SESSION["signup_error"]['payeename'] . '" id="pname" placeholder="" >';
echo '<div class="error">' . $value .'</div>';
echo '</div>';
}
}
unset($_SESSION["errors_signup"]);
}else
{
echo '<div class="form-group mt-1 ">';
echo '<label for="PayeeName">Payee Name:</label> <small id="emailHelp" class="form-text text-muted"> Note: Registered your name base on your account</small>';
echo '<input type="text" class="form-control form-control-sm rounded-3" name="payeename" value="" id="pname" placeholder="Payee Name" >';
echo '</div>';
}
 
Ang code na iyong ibinigay ay naglalaman ng mga kondisyon na nagdudulot ng iba't ibang mga output depende sa mga kondisyon na itinakda.

Ang unang kondisyon ay nagbabanggit ng mga error na nauugnay sa "payeename" field. Kung ang error na "empty_input" ay naitakda at walang laman ang session variable na "signup_error['payeename']", maglalabas ito ng isang form field na walang laman at ipapakita ang error na kaugnay ng "empty_input".

Kapag ang error na "payeename_taken" naman ang naitakda at may laman naman ang session variable na "signup_error['payeename']", maglalabas ito ng isang form field na may laman na katulad ng session variable at ipapakita ang kaugnay na error.

Kapag wala namang mga error na nauugnay sa "payeename" field, maglalabas ito ng isang form field na walang laman.

Ang pagkakasunod-sunod ng mga kondisyon ay mahalaga dahil kapag na-meet na ang kondisyon sa unang dalawang if statement, hindi na ito tatagal kahit may mga kasunod pang kondisyon.
 
Ang code na iyong ibinigay ay naglalaman ng mga kondisyon na nagdudulot ng iba't ibang mga output depende sa mga kondisyon na itinakda.

Ang unang kondisyon ay nagbabanggit ng mga error na nauugnay sa "payeename" field. Kung ang error na "empty_input" ay naitakda at walang laman ang session variable na "signup_error['payeename']", maglalabas ito ng isang form field na walang laman at ipapakita ang error na kaugnay ng "empty_input".

Kapag ang error na "payeename_taken" naman ang naitakda at may laman naman ang session variable na "signup_error['payeename']", maglalabas ito ng isang form field na may laman na katulad ng session variable at ipapakita ang kaugnay na error.

Kapag wala namang mga error na nauugnay sa "payeename" field, maglalabas ito ng isang form field na walang laman.

Ang pagkakasunod-sunod ng mga kondisyon ay mahalaga dahil kapag na-meet na ang kondisyon sa unang dalawang if statement, hindi na ito tatagal kahit may mga kasunod pang kondisyon.
anu po maganda solusyon dito
 
anu po maganda solusyon dito
Para sa mas maayos na solusyon, maaaring subukan mong baguhin ang iyong kodigo upang mas madaling maunawaan at mas maiwasan ang mga posibleng isyu sa pagpapakita ng mga error. Narito ang isang posibleng solusyon:

1. Ihiwalay ang pag-handle ng mga error mula sa pagpapakita ng form field. Ito ay upang mas malinaw at madaling i-manage ang bawat aspeto ng iyong kodigo.

PHP:
<?php
if (isset($_SESSION["signup_error"]['payeename'])) {
    $error = $_SESSION["errors_signup"];
    if (isset($error['empty_input'])) {
        $emptyInputError = $error['empty_input'];
        $payeeName = '';
    } elseif (isset($error['payeename_taken'])) {
        $takenError = $error['payeename_taken'];
        $payeeName = $_SESSION["signup_error"]['payeename'];
    }
    unset($_SESSION["errors_signup"]);
} else {
    $emptyInputError = '';
    $takenError = '';
    $payeeName = '';
}
?>

<div class="form-group mt-1">
    <label for="PayeeName">Payee Name:</label>
    <small id="emailHelp" class="form-text text-muted">Note: Register your name based on your account</small>
    <input type="text" class="form-control form-control-sm rounded-3" name="payeename" value="<?php echo $payeeName; ?>" id="pname" placeholder="Payee Name">
    <?php if (!empty($emptyInputError)) { ?>
        <div class="error"><?php echo $emptyInputError; ?></div>
    <?php } elseif (!empty($takenError)) { ?>
        <div class="error"><?php echo $takenError; ?></div>
    <?php } ?>
</div>

Sa pagkakataong ito, ang mga error ay itinatalaga sa mga variable tulad ng $emptyInputError at $takenError, habang ang value ng "payeename" field ay itinatalaga sa $payeeName.

Sa pagpapakita ng form field, tiningnan namin kung may laman ang mga error variable. Kung may laman ang $emptyInputError, ipapakita nito ang kaugnay na error. Kung may laman naman ang $takenError, ipapakita nito ang kaugnay na error.

Ang posibleng solusyong ito ay nagbibigay ng mas malinis at mas maayos na pagkakabahagi ng kodigo. Ito rin ay mas madaling i-manage at i-debug dahil naipaghiwalay natin ang pag-handle ng error sa pagpapakita ng form field.
 

Similar threads

Back
Top