[Easy] Signaturen Creator

  • ahhh habe den Fehler grade selber gefunden..Problem ist gelöst

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • 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.

    The fact is, I am right. And if you think I'm wrong, you are wrong.

  • ahh genau eine Frage noch kann ich auch ne Leerzeile(bzw freizeile) einfügen?

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • Er nimmt nur .png Bilder wahr...


    Wenn man nach diesem Code nach urteilt..


    Wäre besser wenn es mit MySQL verbunden wäre..


    #JoKer

  • 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 :P )


    [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 2011


    Copyright 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]

  • 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

  • eine .hattecs oder wie die heißt erstellen und das reinschreiben.







    PHP
    RewriteEngine On
    RewriteRule ^([^/]*)\.png$ /bild.php?name=$1 [L]


    natürlich anpassen.

  • Ja ist mir bekannt, dennoch funtz net.. :D


    //edit


    Hier mal mein htaccess

    Apache Configuration
    RewriteEngine on
    RewriteRule ^img/(.*).png$ Signatur.php?User=$JoKer



    //edit


    Ich glaube ich nehme die ID her net die Namen :D



    //edit


    Wie ist den dann der Link?
    Also womit ruft man dann das Bild auf?


    //edit


    So hab ich des jetzt.


    PHP
    RewriteEngine On
    RewriteRule ^([^/]*)\.png$ /Signature.php?id=$1 [L]



    #JoKér

    3 Mal editiert, zuletzt von #PsyNet ()

  • //edit


    liegt an meinem Anbieter, er hat sowas verboten bzw. führt es nicht durch. Aus sicherheits Gründen.


    #JoKér

    Einmal editiert, zuletzt von #PsyNet ()


  • Hallo leute, ich habe gerade das gleiche Problem.
    Nur leider finde ich die Lösung nicht.


    in meiner .htaccess sthet jetzt:

    Apache Configuration
    RewriteEngine On
    RewriteRule ^([^/]*)\.png$ /index.php?USer=$1 [L]


    mein Pfad zum Bild ist:
    .../index.php?User=MeinName


    Könnte mir vieleicht einer helfen?
    Währe euch eucht dankbar.