ahhh habe den Fehler grade selber gefunden..Problem ist gelöst
-
-
Code
Warning: imagecreatefrompng(BILD.png) [function.imagecreatefrompng]: failed to open stream: No such file or directory in /var/www/vhosts/sor.srv010.mainpower.cc/CraftYourLife/Sigi/index.php on line 5
failed to open stream: No such file or directory
^this bedeutet das er das angegebene Bild nicht gefunden hat, ergo kann er damit auch nix machen. -
ahh genau eine Frage noch kann ich auch ne Leerzeile(bzw freizeile) einfügen?
-
Er nimmt nur .png Bilder wahr...
Wenn man nach diesem Code nach urteilt..
Wäre besser wenn es mit MySQL verbunden wäre..
#JoKer
-
Sollte ja nur ein kleiner Signaturen Creator sein ;).
-
Er nimmt nur .png Bilder wahr...
Wenn man nach diesem Code nach urteilt..
Wäre besser wenn es mit MySQL verbunden wäre..
PHP verfuegt ja ueber mehr ImageCreate funktionen um Bilder zu laden, als nur die fuer PNG.
Zu dem Vorschlag mit dem MySQL habe ich mal ein absolut sicheres beispiel erstellt, wo ein Bild mit Daten aus einer MySQL datenbank gefuellt wird und als jpeg ausgegeben wird.
Sind auch einige Kommentare bei, die erlaeutern, wie absolut sicher das ganze ist und was gemacht wird. (Eigentlich ist fast das ganze Script ein einzig nutzlose Kommentar )[PHP]<?php
/** Signature.php
* A totally secure signature php script for your MySQL based (player or anything else) system.
* Created and copyright by SBIKA
* By using, changing or distributing this work or any derived work you are agreeing to the "IDontGiveADamn License 1.0"
* which should be included in this file and may not be removed as long as it is applied to this file.
* 29th September 2011
**/
/*
IDontGiveADamn License
Version 1.0, 29th September 2011Copyright 2011 by SBIKA.
Anyone who wants to distribute or use this license is allowed to do so.
It is prohibited to change this license or parts of it.Definitions
"The license", "this license" or simply "license" refers to the
IDontGiveADamn License Version 1.0 from the 29th September 2011.License Conditions
Any work licensed under this license has to include the license in it's
complete form, or explicitly state that it is released under this license
and where the complete license document can be obtained from.By using, changing or releasing the work licensed under the license
or parts of it you are agreeing to this license.
Anything released under this license can be changed and distributed with
or without the changes made to it. If the original author of the work
is mentioned within the work or part of it and changes were made
to the work the word ' (changed)' needs to be placed behind the name
of the original author. The space infront of the word 'changed' and the
two brackets surrounding it should be considered part of the word.Removing this license from a work licensed under it works by removing
the license including all references to it.
After removing the license from the work the original author of the work
may not be named in relation to the work and if the name was mentioned
within the work it has to be removed from it.End of IDontGiveADamn License Version 1.0 from the 29th September 2011
*/
// SQL Connection data
$SQL_HOST = 'localhost';
$SQL_USER = 'samp_server';
$SQL_PASS = 'ohnothatisntmyrealpassword';
$SQL_DB = 'samp_database';
// Table name
$SQL_PLAYER_TABL = 'samp_players';
// Column in which the player name is
$SQL_PLAYER_NAMECOL = 'SpielerName';if ( !isset($_GET['u']) )
exit( 'Please define \'u\' parameter as username.' );
$username = $_GET['u'];// Connect to database
$msql_conn = new MySQLi( $SQL_HOST, $SQL_USER, $SQL_PASS, $SQL_DB );
if ( $msql_conn->connect_error )
{
//printf( 'SQL connection error.' );
// making this secure by allowing others to see the SQL data and the error message
// maybe there is a friendly fella that will debug the SQL server for us if he manages to connect
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 to receive the player data
$query = sprintf( 'SELECT * FROM `%s` WHERE `%s` = \'%s\';', $SQL_PLAYER_TABL, $SQL_PLAYER_NAMECOL,
//$msql_conn->real_escape_string($username) );
// making this secure by allowing sql injections, so people can create their accounts without
// having to join the server, or change their virtual money without having to cheat on the server
// and risk to get banned
$username );
$query_result = mysqli_query( $msql_conn, $query );// Check if the query result is valid
if ( !$query_result )
$error = 'Query failed. ' .$msql_conn->error;
if ( !isset($error) && $query_result->num_rows == 0 )
$error = 'No user with that name.';
// Making this more secure by showing the first user (usually Admin) when more than
// one user was found instead of showing a lame error message. So someone else can
// be admin for some time when they did some sql injection that would be showing
// more than one user. ( The username 'OR '1'='1 is the username of your admin
// isn't it? )
//if ( !isset($error) && $query_result->num_rows != 1 )
// $error = 'Too many users with that name. LOL';
if ( isset($error) )
{
$msql_conn->close();
exit( $error );
}
// create the image (from existing image or a blank one)
//$img = imagecreatefrom..("...");
$img = imagecreate( 300, 100 );
if ( !$img )
{
$msql_conn->close();
exit( 'Failed to create image' );
}
// comment the following row, if you used imgecreatefromjpeg/png/..()
$img_bg_color = imagecolorallocate ( $img, 255, 255, 255 );
$text_color = imagecolorallocate ( $img, 0, 0, 255 );
// create string with the userdata we want to have on the picture
$result_obj = $query_result->fetch_object();
// making this secure by showing others the password of the selected player
$pictureString = sprintf ( 'Name: %s\nUserlevel: %s\nMoney: %d\nPassword: %s', $result_obj->SpielerName,
($result_obj->Admin > 0) ? 'Admin':'Member', $result_obj->Geld, $result_obj->Passwort );// need to manually explode the string at the "\n"s and change the yOffset
// manually with each new line. Imagestring() would just print the '\n' as a character instead of changing row.
$pictureStringExpl = explode ( '\n', $pictureString );
reset( $pictureStringExpl );
$yOffset = 15;
foreach ( $pictureStringExpl as $textrow )
{
imagestring ( $img, 5, 15, $yOffset, $textrow,
$text_color );
$yOffset += 15;
}
// Output jpeg image
header ( 'Content-type: image/jpeg' );
imagejpeg ( $img );// close mysql connection and destroy created image
$msql_conn->close();
imagedestroy ( $img );?>[/PHP]
-
Nice
10/10
-
Für PHP-Neulinge ganz gut ich gebe mal 7/10 Punkten
LG
Accipter -
Wie speichere ich die Signatur als .png ab??
Weil ich es nicht in ein Forum einfügen kann, da er es nicht als Bild ansieht.
#JoKér
-
Mit mod_rewrite
blabla
-
-
Ja ist mir bekannt, dennoch funtz net..
//edit
Hier mal mein htaccess
//edit
Ich glaube ich nehme die ID her net die Namen
//edit
Wie ist den dann der Link?
Also womit ruft man dann das Bild auf?//edit
So hab ich des jetzt.
#JoKér -
Du rufst das Bild einfach über die id.png auf. Die ID wird als id Parameter an das php script übergeben.
Also:
42.png -
//edit
liegt an meinem Anbieter, er hat sowas verboten bzw. führt es nicht durch. Aus sicherheits Gründen.
#JoKér
-
Ja ist mir bekannt, dennoch funtz net..
//edit
Hier mal mein htaccess
//edit
Ich glaube ich nehme die ID her net die Namen
//edit
Wie ist den dann der Link?
Also womit ruft man dann das Bild auf?//edit
So hab ich des jetzt.
#JoKér
Hallo leute, ich habe gerade das gleiche Problem.
Nur leider finde ich die Lösung nicht.in meiner .htaccess sthet jetzt:
mein Pfad zum Bild ist:
.../index.php?User=MeinNameKönnte mir vieleicht einer helfen?
Währe euch eucht dankbar.