Hier mal mein Senf dazu
Ich habe mich hier etwas umgeschaut und hier sind viele Anfragen gewesen was die dynamische Signatur angeht.
Hier mal eine kleine Anleitung und der Script.
<?
$SQL_HOST = 'localhost'; // Ist klar
$SQL_USER = 'root'; // Name
$SQL_PASS = ''; // Passwort
$SQL_DB = ''; //Datenbank von Wbb
$SQL_PLAYER_TABL = 'wcf1_user'; // Tabelle woraus die userID gelesen wird
$SQL_PLAYER_NAMECOL = 'userID'; // User ID
if ( !isset($_GET['id']) )
exit( 'Please define \'u\' parameter as username.' );
$username = $_GET['id'];
$msql_conn = new MySQLi( $SQL_HOST, $SQL_USER, $SQL_PASS, $SQL_DB );
if ( $msql_conn->connect_error )
{
printf( 'Failed to connect to host %s with user %s (password %s) to database %s. Error: %s<br>',
$SQL_HOST, $SQL_USER, $SQL_PASS, $SQL_DB, $msql_conn->connect_error );
exit();
}
$query = sprintf( 'SELECT * FROM `%s` WHERE `%s` = \'%s\';', $SQL_PLAYER_TABL, $SQL_PLAYER_NAMECOL,
$username );
$query_result = mysqli_query( $msql_conn, $query );
if ( !$query_result )
$error = 'Query failed. ' .$msql_conn->error;
if ( !isset($error) && $query_result->num_rows == 0 )
$error = 'Kein Benutzer gefunden!';
if ( isset($error) )
{
$msql_conn->close();
exit( $error );
}
$img = ImageCreateFromPNG("siggy.png"); // Bild :D kann auch in einem anderen Ordner sein, muss man aber auch eintragen.
//$img = imagecreate( 500, 100 );
if ( !$img )
{
$msql_conn->close();
exit( 'Failed to create image' );
}
$img_bg_color = imagecolorallocate ( $img, 255, 255, 255 );
$text_color = imagecolorallocate ( $img, 0, 0, 255 );
$text_color = 0x00FFFFFF;
$result_obj = $query_result->fetch_object();
$pictureString = sprintf ( 'Name: %s\nPlayer is: %s\nRank: %s', $result_obj->username,
($result_obj->activityPoints > 0) ? 'aktiv':'inaktiv', $result_obj->userTitle );
$pictureStringExpl = explode ( '\n', $pictureString );
reset( $pictureStringExpl );
$yOffset = 100;
foreach ( $pictureStringExpl as $textrow )
{
imagestring ( $img, 5, 15, $yOffset, $textrow,
$text_color );
$yOffset += 15;
}
header ( 'Content-type: image/png' );
ImagePng ($img);
$msql_conn->close();
imagedestroy ( $img );
?>
Alles anzeigen
ein mod_rewrite gibts obendrei noch dazu
RewriteEngine On
RewriteRule ^([^/]*)\.png$ /Signature.php?id=$1 [L]
müsste funktionieren, versucht es aber mal aus.
PS: Der code gehört in ein .htaccess datei.