0

私は最初のブログをコーディングしている最中です。さまざまなチュートリアルや他のフォーラムの助けを借りて、半作業コードを集めることができました。

現在、コメントを取得して表示するコードがありますが、問題は、各コメントの横に Gravatar を表示したいことです。彼らがウェブサイトで提供したコードをどのように正確に実装するのだろうと思っていました.

これが私の現在のコメントフォームです。

            <?php

}
$commenttimestamp = strtotime("now");

$sql = "SELECT * FROM php_blog_comments WHERE entry='$id' ORDER BY timestamp";
$result = mysql_query ($sql) or print ("Can't select comments from table php_blog_comments.<br />" . $sql . "<br />" . mysql_error());
while($row = mysql_fetch_array($result)) {
    $timestamp = date("l F d Y", $row['timestamp']);
    printf("<hr />");
    print("<p>" . stripslashes($row['comment']) . "</p>");
    printf("<p>Comment by <a href=\"%s\">%s</a> @ %s</p>", stripslashes($row['url']), stripslashes($row['name']), $timestamp);
    printf("<hr />");
}
?>



    <form method="post" action="process.php">

    <p><input type="hidden" name="entry" id="entry" value="<?php echo $id; ?>" />

    <input type="hidden" name="timestamp" id="timestamp" value="<?php echo $commenttimestamp; ?>">

    <strong><label for="name">Name:</label></strong> <input type="text" name="name" id="name" size="25" /><br />

    <strong><label for="email">E-mail:</label></strong> <input type="text" name="email" id="email" size="25" /><br />

    <strong><label for="url">URL:</label></strong> <input type="text" name="url" id="url" size="25" value="http://" /><br />

    <strong><label for="comment">Comment:</label></strong><br />
    <textarea cols="25" rows="5" name="comment" id="comment"></textarea></p>

    <p><input type="submit" name="submit_comment" id="submit_comment" value="Add Comment" /></p>

    </form>

各コメントを処理する php をここに投稿したい場合は、以下で質問してください。

私のコードは今:

 <?php

    function get_gravatar( $email, $s = 80, $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;
    }

}
$commenttimestamp = strtotime("now");

$sql = "SELECT * FROM php_blog_comments WHERE entry='$id' ORDER BY timestamp";
$result = mysql_query ($sql) or print ("Can't select comments from table php_blog_comments.<br />" . $sql . "<br />" . mysql_error());
while($row = mysql_fetch_array($result)) {
    $timestamp = date("l F d Y", $row['timestamp']);
    printf("<hr />");
    print("<p>" . stripslashes($row['comment']) . "</p>");
    printf("<p>Comment by <a href=\"%s\">%s</a> @ %s</p>", stripslashes($row['url']), stripslashes($row['name']), $timestamp);
    echo $imagetag = "<img src='" . get_gravatar($email) . "' />";
    printf("<hr />");
}
?>
4

2 に答える 2

1

src が gravatar 関数から取得されるイメージ タグが必要です。

何かのようなもの:

$imagetag = "<img src='" . get_gravatar($email_address) . ' />";

(echo表示したい場所にこの変数が必要です。)

この関数の唯一の必須パラメーターはget_gravatarメール アドレスです。これを に渡すだけget_gravatarで、グラバター画像の URL を取得できます。

于 2010-07-25T21:02:12.610 に答える
1

また、gravatarと互換性があり、オープン ソースでフェデレーションされた代替手段を提供するLibravatarサービスを使用することもできます。

これには、使いやすい素敵な PHP ライブラリ ( Services_Libravatar ) があります。

<?php
require_once 'Services/Libravatar.php';
$sla = new Services_Libravatar();
$imgUrl = $sla->getUrl('foo@example.org');
于 2012-08-06T09:00:33.367 に答える