Beiträge von Burnett

    Ich habe davon erst kürzlich (vor 1 Monat) wieder Gebrauch von gemacht.


    LUA Scripting (GMOD). Ich denke man darf auch nicht alles in einen Topf werfen.


    Es gibt die unprofessionellen und die professionellen Youtube Videos.


    Letztendlich kommt es immer auf einen selbst an. Wenn der Wille da ist, lernt man auch. Da braucht man nicht zwingend Videos.



    Ich kenne viele Personen die haben mit einem Buch angefangen und dann nach und nach die Kapitel abgearbeitet.
    Ich kenne aber auch Leute die mit Videos angefangen haben und sich erst hinter das Buch zur Unterstützung zugelegt haben. (So mache ich das)

    Bei Youtube sind nämlich sehr gute dabei (Videos) zum lernen aber es ist ja dann copy & paste und mann soll es ja selber lernen am besten Wiki.


    Learning by doing muss nicht "copy&paste" heißen ;) Das liegt ja an der Person.


    Wenn die Person wirklich lernen möchte, dann sind solche Videos eine gute Unterstützung.

    Am besten du beginnst mit Video Tutorials. Learning by doing ist immer gut.


    Parallel kannst du dir auch ein Buch zulegen, wo du Sachen nachschlagen kannst.


    Es gibt sehr gute Tutorial Reihen auf Youtube, die dir das Schritt für Schritt beibringen.

    Jap natürlich, sie räumen 1 Million Euro weg Also wenn man die AGBS nicht findet... Das heißt Nutzungsbedingungen, werdet ihr in der Schule auch noch lernen..

    Zur Korrektur:


    Es gibt keine AGBS (Allgemeine Geschäftsbedingungens ??? ) Es heißt AGB (Allgemeine Geschäftsbedingungen).


    ------------


    Die Homepage von Adbuck kommt seriös rüber. Impressum alles vorhanden.


    Wünsche euch weiterhin viel Erfolg.

    Nein, es würde nicht "Hallo" heißen, sondern "Hallo" zurück geben.


    Mein Beispiel oben war nur da, um es verständlich zu machen - das es nicht data[] heißen muss.


    Beim Funktionsaufruf von HTTP hast du 2 Möglichkeiten. Einmal GET und POST.


    (1) Wenn du GET benutzt, lässt du den 4. Parameter leer. Der 4. Parameter wäre für die POST Daten (data[]).


    (2) Wenn du POST benutzt, muss der 4. Parameter mit den POST Daten gefüllt werden.


    Da du hier aber GET benutzen möchtest, ist (1) für dich relevant.



    Das heißt also:


    HTTP(ID, HTTP_GET, URL, "", "Callback");


    Der 1. Parameter ist die ID (egal ob Playerid oder eine vordefinierte).


    Der 2. Parameter ist die Methode - in dem Fall HTTP_GET (wegen GET Request).


    Der 3. Parameter ist die URL (der Link zur Webseite).
    Wie du sehen kannst, ist der 4. Parameter leer. Wir erinnern uns was bei (1) steht.


    Beim 5. Parameter müssen wir den Callback angeben, also die Funktion, die nach dem REQUEST aufgerufen werden soll.


    Ich habe die Funktion einfach Callback genannt, damit das hier nicht verwirrt.


    Damit diese Funktion auch aufgerufen werden, müssen wir sie anlegen.


    Zuerst definieren:


    forward Callback(index, response_code, result[]);



    Dann die Funktion an sich:

    public Callback(index, response_code, result[])
    {
    new buffer[128];


    if(response_code == 200){


    format(buffer, sizeof(buffer), "Ausgabe von der Webseite: %s", result); //RESULT beinhaltet die Ausgabe der Webseite. Wenn auf der Webseite zb. Hallo steht, wird hier Hallo ausgegeben.
    SendClientMessage(index, 0xFFFFFFFF, buffer);


    }else{


    format(buffer, sizeof(buffer), "Fehler beim Aufruf der Webseite. Code: %d", response_code);
    SendClientMessage(index, 0xFFFFFFFF, buffer);
    }
    }


    //Ich habe derzeit kein SAMP drauf, mach es aber nacher drauf - dann mache ich dazu mal ein Tut.

    mysql_num_rows() benötigt ebenfalls eine resource, und wenn der Query nichts zurück gibt, da es nicht existiert
    kommt da ebenfalls ein Error.


    Da ist soweit korrekt, allerdings funktioniert num_rows auch, wenn nichts existiert.
    ((Wenn man zb. in der Datenbank einen User mit dem Namen "Mark" hat und man sucht über die Query nach "Albert" - in dem Fall greift num_rows))



    Wo num_rows nicht greift ist, wenn die Query fehlerhaft ist. ((Wenn man zb. das FROM weglässt etc)).


    ----


    MYSQL ist ab PHP 5.5 deprecated. (http://php.net/manual/en/migration55.deprecated.php) Man wird früher oder später auf MYSQLi, PDO etc wechseln müssen.
    Wobei ich PDO hier bevorzuge. Zusammen mit Postgres.

    Beim Callback = Ja.

    public MyHttpResponse(index, response_code, data[]){
    // In this callback "index" would normally be called "playerid" ( if you didn't get it already :) )
    new
    buffer[ 128 ];
    if(response_code == 200) //Did the request succeed?
    {
    //Yes!
    format(buffer, sizeof(buffer), "The URL replied: %s", data); SendClientMessage(index, 0xFFFFFFFF, buffer);


    Du kannst data beim Callback aber auch gemütlich umbenenen.


    Hier wurde "data" zu "result" geändert (für den Callback):



    forward LicenseResponse(index, response_code, result[]);


    public LicenseResponse(index, response_code, result[])
    {


    ---------------


    Beim Funktionsaufruf = Nein - denn data[] sind dort die POST Daten.

    data[] = Any POST data you want to send with the request.

    mysql_fetch_array() expects parameter 1 to be resource, boolean given

    Das bedeutet das deine Query etwas falsches zurück gibt. mysql_fetch_array erwartet Daten, es wird aber ein Boolean übergeben.


    Fragen: Sind alle Spalten etc richtig angegeben? (NOCHMAL NACHPRÜFEN).


    Du hast folgenden Fehler in der Query: WHERE username = '".$name."'


    Da du aber den String mit doppelten Anführungszeichen definiert hast, reicht: WHERE username = '$name'



    Zum Testen:



    http://www.php.net/manual/de/function.mysql-num-rows.php


    Mit num_rows prüfen wir ob der Spieler mit dem Namen überhaupt existiert.