Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > echo выдает не там где хочу!!!


Автор: Entwickler 23.7.2007, 22:49
вот такой примерчик, не сложный, но тем не менее я чего то не "доеду"
Код

<html>
    <head>
        <title>Training</title>
        <link rel="stylesheet" type="text/css" href="css/allgemein.css" />
    </head>
    <body>
        <?php
            function schreiben($spruch,$name){
                echo "$spruch $name";
            }
            if($_POST['send']){
                $spruch = htmlentities(strip_tags(trim($_POST['spruch'])));
                $name   = htmlentities(strip_tags(trim($_POST['name'])));

                $ausgabe = schreiben($spruch, $name);
            }
            ?>
            <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" >
                <input type="hidden" name="send" value="1" />
                <table border="1" width="500" >
                    <tr>
                        <td>Geben Sie Ihren Spruch ein:</td>
                        <td><input type="text" name="spruch" size="30" id="input" /></td>
                    </tr>
                    <tr>
                        <td>Geben Sie Ihren Namen ein:</td>
                        <td><input type="text" name="name" size="30" id="input" /></td>
                    </tr>
                    <tr>
                        <td colspan="2"><input type="submit" name="submit" value="Abschicken" id="submit" /></td>
                    </tr>
                </table>
            </form>
            <table width="500" border="1" >
            <caption>Ausgabe</caption>
            <tr>
                <td><?php echo $ausgabe; ?></td>
            </tr>
            </table>
    </body>
</html>

почему он мне выдаёт рез. моей функции не там где я ему говорю а в самом вверху?

Автор: SelenIT 23.7.2007, 22:54
Потому что echo выполняется при вызове функции, а вызывается функция в самом верху. Чтоб просто запомнить результат в переменную, нужно в функции echo заменить на return.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)