0

「解析エラー: 構文エラー、予期しない T_VARIABLE in /home/designea/public_html/blog/blog_end/inc/comments.inc.php 1 行目」というエラーが表示されます。

<?php 
function get_gravatar( $email = $_POST['email1'], $s = 50, $d = 'mm', $r = 'g', $img = false, $atts = array() ) {
        $url = 'http://www.gravatar.com/avatar/';
        $url .= md5( strtolower( trim( $email ) ) );
        $url .= "?s=$s&d=$d&r=$r";
        if ( $img ) {
            $url = '<img src="' . $url . '"';
            foreach ( $atts as $key => $val )
                $url .= ' ' . $key . '="' . $val . '"';
            $url .= ' />';
        }
        return $url;
    }
?>
4

1 に答える 1

5

リテラルではないデフォルトの引数値を持つことはできないため、これは違法です。

$email = $_POST['email1']

これの典型的な回避策は、次のように書くことです

function get_gravatar( $email = null ) {
    if ($email === null) {
        $email = $_POST['email1'];
    }
}

ただし、関数の動作を$_POSTこのように結合することは避けるのが最善です。あなたの靴では、デフォルト値を完全に削除します。

于 2012-06-28T07:38:13.720 に答える