Beiträge von Stef

    Hey,

    ich habe mal paar Fragen zur Browsergameerstellung.

    Ich habe vorgestellt, dass man so ein raster hat mit vielen Vierecken. Und auf diesem Raster kann dann der User z.b. gebäude bauen usw.

    Was ich mir jetzt überlege ist wie bekommt man es hin, dass die Spielekarte in vielen Vierecken eingeteilt wird und das wenn der User auf ein Objekt aus dem Menu draufklickt das diese dann in diesem raster ausgewählt ist und man das nurnoch platzieren muss, natürlich wird dieser Bau dann von Ressourcen abgezogen.

    Wie geht denn sowas ? Wie kann ich es mir vorstellen? Vorschläge wie man es erstellen kann?

    Stef

    Hey,

    wenn du mit PHP-Frameworks abrbeiten möchtest musst du denke ich OOP schon einigermaßen gut können. Denn die, die ich gesehen habe bisher waren nur oop. Aber ich benutze bisher keine. Habe mich damit noch nicht auseinandergesetzt. Aber man schafft auch das meiste ohne Framework. Ich finde es oft sehr schwierig mich in so ein Framework einzubinden.

    Welche ich kenne und die schon als gut beurteilt wurden sind Symfony und Laravel.

    Hi,

    aso ok. Du kannst in der Navbar oben (in dem Editor) neben der Sprechblase auf die code tags (</>) klicken dann deine Programmiersprache angeben in welcher das script ist und dann in den erstellten container einfügen.

    Ja ich wollte nur mal meine Ansicht dazu geben.

    Hey,

    sonert :

    Das kannst du mit PHP, HTML und CSS realisieren. Ich erwarte jedoch von jemanden der sowas vorhat auch Eigeninitiative zeigt und sich selbst bemüht und dazu lernen möchte. Wenn nicht wirst du von mir jedenfalls keine Hilfestellung bekommen.

    Huhu :

    Bitte poste dein Code in die Code tags. Somit ist der Code lesbarer. Danke.

    Nun zu dem Code (der sieht meines Erachtens Gruselig aus. Man kann den viel einfacher und ordentlicher Scripten. )

    PHP-Code vor HTML-Code!

    HTML-Teil:

    • <image> tag heißt in html <img>
    • Warum packst du label und input feld in die <p>-tags? Zum Zeilenumbruch reicht einfach ein display:block; in css
    • Für was : enctype="multipart/form-data" ? Dies benötigt man nach meinen Kenntnissen bei Bilder Uploads. Du ladest dort aber nirgendswo ein bild hoch. Du greifst intern auf dem server auf einem ordner mit den vorhandne bildern zu.

    PHP-Teil:

    • Du benutzt teilsweise schon funktionen die deprecated sind. Siehe z.b. http://php.net/manual/de/info…-quotes-runtime
    • Für was brauchst du denn ini_get?
    • Ebenso würde ich zum Mail-Versand eine Mailklasse wie Swift- oder PHP-Mailer verwenden.
    • Was willst du denn damit erreichen ? Du vergleichst bei diesem statement nicht. Du machst ne Zuweisung.
    PHP
    if(MAILFROM) $AddHeader .= chr(13).chr(10).'From: '.MAILFROM;
    
    if($Formular_abgeschickt = !empty($_POST)) { $Formular_leer = true; if(ini_get('magic_quotes_runtime')) ini_set('magic_quotes_runtime',0);
    • Niemals @ benutzen! @ unterdrückt fehlermeldungen.
    PHP
    if($handle=@fopen($log, 'w')) {
    
    fwrite($handle, print_r($_POST,true)); fclose($handle);
    
    }

    Es gibt dazu ebenso neue Funktionen wie file_put_contents und file_get_contents. Ist viel leichter.

    • Folgender codeschnipsel:
    PHP
    elseif(!$Fehler = Formular_Pflichtfelder()) {
    
    if(!Formular_neu()) $Fehler = 'Nachricht war bereits verschickt.';
    
    }

    du machst da schonwieder ne zuweisung. Und wenn du angenommen == benutzt hättest überprüfst du die nicht exsistierende variable fehler mit der funktion. Macht das ein Sinn? Meines Erachtens nicht.

    • Darüberhinaus würde ich nie sofort die Daten ausgeben. Erst in variablen speichern und dann weiterverarbeiten

    Villt. gibt es in diesem script noch mehr zuweisungen als vergleichungen. Habe nicht vertieft drübergeschaut.


    Ich kann mich auch in manchen sachen irren. Wenn es so ist bitte ich um Kenntnisnahme. Aber ich denke das wesentliche ist gesagt und richtig.

    Stef

    Hey,

    an dem SERVER['QUERY_STRING'] liegt es nicht. Mit dem erhalte ich immer den parameter aus der url. So wurde es mir mal gezeigt. Wie soll man denn da mit GET den parameter rausbekommen wenn man doch keinen wert zum zuweisen hat ?

    Hier die Beschreibung aus dem PHP-Handbuch:

    'QUERY_STRING'
    Sofern vorhanden, der Querystring, mittels dessen auf die Seite zugegriffen wurde.

    Ja dabei gebe ich dir recht. Habe nicht so tief darüber nachgedacht. Ich ändere es aufjedenfall noch.

    Morgen,

    Beschreibung:

    Es gibt 3 User. Diese regestrieren sich so gegen 14 Uhr alle 3. Nun will der 1ste per Bestätigungslink seine Registration abschließen. Aber das wird nich erfolgreich abgeschlossen. Denn auf der Registrationabschließen.php wird dann die Ausgabe : Keine Übereinstimmung ausgegeben. Diese wird ausgegeben wenn der Parameter (LinkHash) nicht zu dem linkhash in der Datenbank passt. Nur beim 3.ten wird der richtige Linkhash gezogen.

    Was mache ich dabei nur falsch ?

    Script von RegistrationAbschließen.php:

    Ja mach ich ja. Aber wenn jetzt sich z.b. 3 leute am selben Zeitpunkt registrieren. Und wenn der 1 und 2 dann die registration bestätigen wollen kommt dann immer Keine Übereinstimmung. Nur beim 3ten kommt erfolgreiche Registration.

    Hey,

    Ich habe noch ein Problem wo ich nicht weiter weiß. Wenn man sich registriert werden die Daten ja in die DB gespeichert. Nun wenn sich aber z.b. 3 zur selben Zeit anmelden. Dann wird nur der linkhash vom letzten db eintrag gezogen. Wie kann mann dies denn machen, dass auch die anderen 2 wenn sie auf den registrationslink klicken, deren eigenen link Hash gezogen bekommen ?

    Stef

    Hey,

    vielen Dank für die Hilfe.

    Gut zu wissen. Habe nun dies auch so gemacht.

    Ja ich filtere die Daten ja schon bevor sie in die Datenbank kommen. Braucht man da dann unbedingt htmlspecailchars ?

    Ok. Ich möchte erstmal den Grundbau dieses Kommentarsystems schaffen mit allem nötigen. Und es dann mit weiteren Funktionen ausstatten und dann verfeinern, dass es eines Tages ein richtiges Kommentarsystem ist wie man es z.b. auf Social-Media-Plattformen sieht.


    Gruß,

    Stef

    Hey,

    aso. Also wird bei jedem login für jeden user eine eigene session angelegt ?

    Ich habe es nun hinbekommen, Wie findet ihr meinen Weg ? Und den Aufbau der Datenbank (-> siehe Anhang) ? Bitte um Rückmeldung.

    Hab ein kleines weiteres Problem: Ich muss die Seite erst neu laden, bis ich das Kommentar sehen kann. Wie kann man dies denn umgehen?

    Und script:

    Und so dann die Ausgabe:

    Ich verstehe es grad nicht.

    Wenn ich bei jedem Login eine session erstelle mit der id des users der sich eingelogt hat.

    PHP
    $_SESSION['userId'] = $fetchRow->id;

    Und sich jetzt dann ein weiterer einlogt ist diese session überschrieben. Aber dies kann man verhindern indem man den session namen in den ' ' mit den usernamen aus der datenbank füllt.

    Nun ist der User eingelogt auf der home.php, in der benutze ich dann session_start();. Dann hat jeder user seine eigene session. Aber wie will man dann wissen, dass genau dieser user ein beitrag gepostet hat ?

    Hey,

    Danke für die schnelle Antwort.

    Ja ich habe 1ne Registration Tabelle. In der ist alles was bei der registrierung abgespeichert wird. Dann würde ich dazu wie gesagt noch eine für Beiträge erstellen. Komplex noch nicht. Einfach die Beiträge mit den ids des users welcher den erstellt hat in die DB abspeichern. Und dann wieder mit dem Namen des Posts ausgeben. Vorerst.

    Und wie bekomme ich dann auf der home.php die id des Users raus ?

    Denn es sollen alle user nur auf dieser home.php beiträge erstellen können. Wo jeder sehen kann.

    Hey,

    ich möchte, dass ein user auch beiträge schreiben kann welche dann in die db gespeichert werden und dann sofort wieder ausgegeben werden, dazu möchte ich, dass der Username des Beitragerstellers oberhalb des beitrags steht, dass man erkennt wer den Beitrag geschrieben hat. Dies werde ich alles dämnächst versuchen umzusetzen. Nur die Frage die ich mir stelle ist, wie soll ich dies in der Datenbank ordnen ? Also mit Tabellen. Welche SQL-Befehle brauche ich für dieses Vorhaben ? Wie würdet ihr Vorgehen?

    Ich dachte, dass ich für die beiträge eine extra Tabelle mit den Spalten:

    - id (für Usererkennung)

    - username (user)

    - beitraege (die ganzen beiträge)

    - time (Uhrzeit des Posts)

    Der Home.php gebe ich aber keine id als parameter mit weil es sonst so viele Home-Seiten gibt wie User. Die Home-Seite soll es nur einmal geben wo alle posten können.

    Wie kann ich dann herausfinden welcher User genau gepostet hat ?

    Stef

    Hey,

    ich möchte mit fetchall() alle Usernamens aus der Datenbank auslesen, welche aktuell online sind. Aber ich komme nicht weiter.

    Habe es schon mit 2 foreach-schleifen, print_r, echo versucht, aber immer werden die Usernamen doppelt ausgegeben. Habe mal gedebugt und das array in dem die ganzen daten von fetchAll() drin stehen sehen so aus:

    Array
    ( [0] => Array ( [benutzername] => stef [0] => stef )
    [1] => Array ( [benutzername] => erer [0] => erer )

    )

    Da braucht man 2 foreach.schleifen um die Usernames ausgeben zu können. Aber warum stehen die da denn 2 Fach drin ? Ich verstehe es nicht.

    Und wie kann mann diese denn nur 1mal ausgeben.


    Anbei ein Bild der DB-Tabelle + mein script

    Stef