Pascal Cloverfield
Pascal Cloverfield

Reputation: 581

Global error message in php

I have a problem with the understanding of variable scopes.

I've got a huge .php file with many $_POST validations (I know that isn't not good practise). Anyways I want a little html-part above all the code which outputs an error message. This message I want to change in every $_POST validation function.

Example:

if($ERR) {
    echo '<div class="error-message">'.$ERR.'</div>';
}

Now my functions are following in the same file.

if(isset($_POST['test']) {
    $ERR = 'Error!';
}

if(isset($_POST['test2'] {
    $ERR = 'Error 2!';
}

But that doesn't work. I think there's a huge missunderstanding and i'm ashamed. Can you help me?

Upvotes: 1

Views: 151

Answers (2)

Mubo
Mubo

Reputation: 1070

You can do put the errors in array make them dynamic.

<?php
$error = array();

    if (!isset($_POST["test"]) || empty($_POST["test"])) {

        $error['test'] = "test Field is required";

    } else  if (!isset($_POST["test1"]) || empty($_POST["test1"])) {
      $error['test1'] = "test Field is required";

   }else{
        //do something else
    }
?>

You can also use switch statement instead of elseif which is neater.

Upvotes: 0

Mohammad Kermani
Mohammad Kermani

Reputation: 5396

I didnt catch your question but maybe this is your answer:

<body>
   <p id="error_message">
     <?php if(isset($ERR)){echo $ERR;} ?>
   </p>
 </body>

and I suggest you to learn how to work with sessions. and you should know that $_Post will be empty on each refresh or F5

Upvotes: 1

Related Questions