Hello I have a method to added text on picture:
class Generate 
{
    public function image($name, $surname, $city){
            if (empty($_GET['name'])) {
                return header("Location: https://wsaib.pl/index.php?error=name&surname=$surname&city=$city");
                //exit();
            } elseif(strlen(mb_strlen($_GET['name'])) > 20){
                return header("Location: index.php?error=longname&surname=$surname&city=$city");
                //exit();
            } elseif($_GET['surname'] === null) {
                return header("Location: index.php?error=surname&name=$name&city=$city");
                //exit();
            } elseif (strlen(mb_strlen($_GET['surname'])) > 20){
                return header("Location: index.php?error=longsurname&name=$name&city=$city");
                //exit();
            } elseif($_GET['city'] === null) {
                return header("Location: index.php?error=city&name=$name&surname=$surname");
                //exit();
            } elseif (strlen(mb_strlen($_GET['city'])) > 15){
                return header("Location: index.php?error=longcity&name=$name&surname=$surname");
                //exit();
            } else {
        if ((isset($_GET['send']) && $_GET['send'] == 'card') && (isset($_GET['name']) && $_GET['name'] == $name) && (isset($_GET['surname']) && $_GET['surname'] == $surname) && (isset($_GET['city']) && $_GET['city'] == $city)) {
                $getName = $name;
                $getSurname = $surname;
                $getCity = $city;
                //$getWishes = "";
                $today = date("d.m.Y"); 
                $text_length = 38;
                //$textName = wordwrap($getName, $text_length, "<br />", true);
                $textSurname= wordwrap($getSurname, 18, "-<br />", true);
                $textCity = wordwrap($getCity, 11, "-<br />", true);
                //$textN = str_replace('<br />', "\n", $textName);
                $textS = str_replace('<br />', "\n", $textSurname);
                $textC = str_replace('<br />', "\n", $textCity);
                $picture = imagecreatefrompng("merry-christmas.png");
                //$black = imagecolorallocate($picture, 0, 0, 0);
                $white = imagecolorallocate($picture, 0xFF, 0xFF, 0xFF);
                // zyczenia
                //imagettftext($picture, 18, 2, 20, 60, $white, 'fonts/Courgette/Courgette-Regular.ttf', trim(ucfirst($textW)));
                // imie i nazwisko
                if (strlen($getName) >= 15 ) {
                    imagettftext($picture, 35, 5, 280, 540, $white, 'fonts/Cookie/Cookie-Regular.ttf', trim(ucfirst($getName)));
                    imagettftext($picture, 35, 5, 280, 590, $white, 'fonts/Cookie/Cookie-Regular.ttf', trim(ucfirst($textS)));
                } else {
                    imagettftext($picture, 35, 5, 280, 540, $white, 'fonts/Cookie/Cookie-Regular.ttf', trim(ucfirst($getName . "  " . $textS)));
                }
                // data
                imagettftext($picture, 20, 0, 530, 710, $white, 'fonts/Cookie/Cookie-Regular.ttf', trim(ucfirst($textC.", ".$today)));
                header("Content-type: image/png");
                $generateImage = imagepng($picture, "kartka_swiateczna_wsaib.png");
                //imagedestroy($picture, "kartka_swiateczna_wsaib.png");
            }
        }
    }
    public function location($getName, $getSurname, $getCity){
        return header("Location: index.php?query=done&name=$getName&surname=$getSurname&city=$getCity");
    }
And file form:
<?php
require_once "generator.php";
?>
<!DOCTYPE html>
<html>
<head>
    <title>Kartka Świąteczna</title>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" >
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="Stylesheet" type="text/css" href="style.css" />
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <!-- Latest compiled and minified CSS -->
    <link rel="stylesheet" href="./bootstrap-3.3.7-dist/css/bootstrap.min.css">
    <!-- Optional theme -->
    <link rel="stylesheet" href="./bootstrap-3.3.7-dist/css/bootstrap-theme.min.css">
    <!-- Latest compiled and minified JavaScript -->
    <script src="./bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>
</head>
<body style="background-color: #c13213">
<div class="container">
    <div class="row">
        <div class="col-md-8">
            <?php
                @$getName = $_GET['name'];
                @$getSurname = $_GET['surname'];
                @$getCity = $_GET['city'];
            if ( (isset($_GET['send']) && $_GET['send'] === 'card') && (isset($_GET['name']) && $_GET['name'] === $getName) && (isset($_GET['surname']) && $_GET['surname'] === $getSurname)  && (isset($_GET['city']) && $_GET['city'] === $getCity)) {                
                $image = new Generate();
                $image->image($getName, $getSurname, $getCity); // zamiana !!!!!!!
                $image->location($getName, $getSurname, $getCity); // zamiana !!!!!!!
            } if (isset($_GET['query']) && $_GET['query'] === 'done'){
                $saveFile = "kartka_swiateczna_wsaib.png";
                echo '<img src="' . $saveFile . '" id="kartka-photo" width="100%" height="100%"/>'; ?>
                <p><a class="btn btn-success" href="kartka_swiateczna_wsaib.png" download="kartka_swiateczna_wsaib.png">Pobierz kartkę</a></p>
            <?php } else { ?>
                <img src="merry-christmas.png" id="kartka-photo" width="100%" height="100%">
            <?php } 
            ?>
        </div>
        <div class="col-md-4">
            <p id="title">Zaprojektuj kartkę</p>
                <form action="index.php" method="get">
                    <input type="text" class="form-control" placeholder="Podaj imię" id="name" name="name" value="<?php echo $getName; ?>"><div id="counterName"></div><br />
                    <?php if (isset($_GET['error']) && $_GET['error'] === 'name') { ?>
                        <div class="alert alert-danger fade in">
                          <a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
                          <strong><span class="glyphicon glyphicon-remove" aria-hidden="true"></span> Nie podałeś imienia.</strong>
                        </div>
                    <?php } elseif (isset($_GET['error']) && $_GET['error'] === 'longname'){ ?>
                        <div class="alert alert-danger fade in">
                          <a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
                          <strong><span class="glyphicon glyphicon-th-list" aria-hidden="true"></span> Maksymalna długość imienia to 20 znaków.</strong>
                        </div>
                    <?php } ?>
                    <input type="text" class="form-control" placeholder="Podaj nazwisko" id="surname" name="surname" value="<?php echo $getSurname; ?>"><div id="counterSurname"></div><br />
                    <?php if (isset($_GET['error']) && $_GET['error'] === 'surname') { ?> 
                        <div class="alert alert-danger fade in">
                          <a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
                          <strong><span class="glyphicon glyphicon-remove" aria-hidden="true"></span> Nie podałeś nazwiska.</strong>
                        </div>
                    <?php } elseif (isset($_GET['error']) && $_GET['error'] === 'longsurname'){ ?>
                        <div class="alert alert-danger fade in">
                          <a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
                          <strong><span class="glyphicon glyphicon-th-list" aria-hidden="true"></span> Maksymalna długość nazwiska to 20 znaków.</strong>
                        </div>
                    <?php } ?>
                    <input type="text" class="form-control" placeholder="Podaj miasto" id="city" name="city" value="<?php echo $getCity; ?>"><div id="counterCity"></div><br />
                    <?php if (isset($_GET['error']) && $_GET['error'] === 'city') { ?> 
                        <div class="alert alert-danger fade in">
                          <a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
                          <strong><span class="glyphicon glyphicon-remove" aria-hidden="true"></span> Nie podałeś nazwy miasta.</strong>
                        </div>
                    <?php } elseif (isset($_GET['error']) && $_GET['error'] === 'longcity'){ ?>
                        <div class="alert alert-danger fade in">
                          <a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
                          <strong><span class="glyphicon glyphicon-th-list" aria-hidden="true"></span> Maksymalna długość miasta to 15 znaków.</strong>
                        </div>
                    <?php } ?>
                    <button type="submit" class="btn btn-info" name="send" id="send" value="card" style="margin-bottom: 20px;">Generuj</button>
                    <a href="/index.php" class="btn btn-default" role="button" style="margin:  0px 0px 20px 5px;">Odśwież</a>
                    <?php
                    if (isset($_GET['query']) && $_GET['query'] === 'done') { ?>
                        <div class="alert alert-success fade in">
                          <a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
                          <strong><span class="glyphicon glyphicon-ok" aria-hidden="true"></span> Grafika została wygenerowana poprawnie, możesz ją teraz pobrać kikając na przycisk <i><a href="kartka_swiateczna_wsaib.png" download="kartka_swiateczna_wsaib.png" class="download">Pobierz kartkę</a></i>.</strong>
                        </div>
                    <?php } ?>
                </form>
        </div>
    </div>
</div>
<script type="text/javascript">
var minName = 20;
document.querySelector('#name').onkeyup = function(e){
document.querySelector('#counterName').innerHTML = 
               this.value.length <= minName 
               ? 'Pozostało '+(minName - this.value.length)+' znaków.'
               : 'Imię zbyt długie!';
}
var minSurname = 20;
document.querySelector('#surname').onkeyup = function(e){
document.querySelector('#counterSurname').innerHTML = 
               this.value.length <= minSurname 
               ? 'Pozostało '+(minSurname - this.value.length)+' znaków.'
               : 'Nazwisko zbyt długie!';
}
var minCity = 15;
document.querySelector('#city').onkeyup = function(e){
document.querySelector('#counterCity').innerHTML = 
               this.value.length <= minCity 
               ? 'Pozostało '+(minCity - this.value.length)+' znaków.'
               : 'Nazwa miasta zbyt długa!';
}
</script>
The problem is with function Header Location:
return header("Location: index.php?error=longcity&name=$name&surname=$surname");
In GET (in url) I have ONLY name=$name&surname=$surname but function header not returned error=longcity. Where is the problem ? When I added to url for example ?query=done script work ok. I don't know were is the error.
 
    