$_POST выводит 0, если содержит строки

Я сделал базовую HTML-форму, работающую с сообщением (это форма входа). Сама форма прекрасно работает, но когда я пытаюсь работать с информацией, содержащейся в $_POST, она выходит из строя.

<?php
        // case : nothing submitted
        if (!isset($_POST['submit'])) {
        ?>
            <div class="login">
                <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
                    <p>Login</p>
                    <input type="text" id="username" placeholder="Username" name="username" />
                    <input type="password" id="password" placeholder="Password" name="password" />
                    <button name="submit">Submit</button>
                </form>
            </div>
        <?php
        // case : input form submitted
        } else {
            check_credentials();            
        }
?>

Проблема в том, что он отлично работает, когда я это делаю ( выше check_credentials() : echo $_POST['username']; echo $_POST['password'];

Но когда я делаю это: echo $_POST['username'] + " " + $_POST['password']; Это эхо 0. Поскольку check_credentials() - это функция, которая подключается к моей БД, запрос не выполняется. Кто-нибудь знает о возможной причине?

Привет!


person TanguyH    schedule 12.09.2016    source источник
comment
Потому что вы используете конкатенацию типа Java, а не PHP. PHP думает, что вы занимаетесь математикой (складываете вещи вместе). Вместо этого должно быть echo $_POST['username'] ." ". $_POST['password'];, что является способом объединения строк в PHP.   -  person Qirel    schedule 12.09.2016
comment
Объединяйте строки с помощью оператора .(dot).   -  person Valkyrurr    schedule 12.09.2016
comment
Спасибо, парни ! Я совсем забыл, что конкатенация PHP была с точечным оператором!   -  person TanguyH    schedule 12.09.2016


Ответы (1)


Вы должны использовать точки при конкатенации в PHP. Плюсы вы наверное "взяли" с JS.

Это должно выглядеть как в этом примере:

    <?php
    $a = "Hello ";
    $b = $a . "World!"; // now $b contains "Hello World!"
    $a = "Hello ";
    $a .= "World!";     // now $a contains "Hello World!"
    ?>

И ваш пример, если переменные хорошие:

  echo $_POST['username']." ".$_POST['password'];
person Hrvoje Antunović    schedule 12.09.2016