Beiträge von Arne Drews

    Du solltest dennoch den Kontextwechsel betrachten und Dich stärker an das EVA-Prinzip halten.
    Denn mit dem von Bandit erwähnten Problem headers already sent wirst Du früher oder später noch konfrontiert.
    header(), session_start() und setcookie() - um nur drei zu nennen - setzen voraus, dass zuvor keinerlei Ausgabe an den Ausgabekanal gesendet wurde.
    Ein einzelnes Zeichen und sei es ein Leerzeichen oder Zeilenumbruch, kann aber schon so eine Ausgabe sein!

    Ich bin zwar verwirrt muss ich zugeben, dass das hier

    PHP
    <html> <?php
    header('Content-Type: text/html; charset=ISO-8859-1');

    nicht bereits einen solchen Fehler hervorruft, denn auch das <html> ist bereits eine Ausgabe.
    Aber auch wenn er dies scheinbar durchgehen lässt, solltest Du HTML und PHP voneinander besser trennen, denn früher oder später knallt es Dir um die Ohren und dann ist die Fehlersuche umso schwieriger je mehr Kontextwechsel Du hast und überprüfen musst.

    Ja, nur brauchst Du das ganze gruppieren doch gar nicht.
    Wenn Du nach Einwohneranzahl absteigend sortierst und mit top 1 nur den ersten ziehst, hast Du doch das Maximum bereits...

    Also eigentlich genau wie in #2, nur mit TOP 1 anstatt LIMIT 1:

    Code
    string query = String.Format(
            "SELECT TOP 1 Jahr, Einwohner_Millionen, Arbeitslosenquote_Prozent, Ministerpräsident FROM {0} ORDER BY Einwohner_Millionen DESC"
            , comboBox1.Text
        );

    Hi,

    So auf die Schnelle würde ich das über die Sortierung abfangen:

    Code
    string query = String.Format(
            "SELECT `Jahr`, `Einwohner_Millionen`, `Arbeitslosenquote_Prozent`,`Ministerpräsident` FROM `{0}` order by `Einwohner_Millionen` desc limit 1"
            , comboBox1.Text
        );

    btw. Umlaute in Tabellen-/Spaltennamen ist keine sonderlich schöne Strategie...

    Hallo,

    Das kommt immer darauf an, ob ihr einen Freelancer oder eine Agentur beschäftigt.
    Das kann man pauschal nicht sagen, da kommen unterschiedliche Meinungen auf und jeder meint, seine Auffassung wäre die richtige, obwohl durchaus mehrere stimmen können.

    Am besten ihr holt euch ein Angebot ein.
    Ich verschiebe das mal in den Job-Bereich, vielleicht meldet sich ja jemand, der Lust und Zeit hat, mit euch ins Geschäft zu kommen.

    Bei Interesse gerne auch PN an mich.

    Viel Erfolg und schöne Ostern
    Gruß Arne

    Hi Kerstin,

    Bitte bei Tutorials darauf achten, dass diese einigermaßen zeitgemäß sind.
    Das Tutorial sollte sich mindestens mit der PHP Version 5.6 befassen, besser noch mit Sicht auf die aktuelle v7.

    Das gleiche gilt übrigens auch für Bücher!

    Wenn Du bei einem Tutorial unsicher bist, kannst Du gerne hier fragen, ob wir Dir evtl. sagen können, ob das was für den Einstieg taucht.
    Das Netz ist leider voll von schlechten Tutorials und wenn sich das die Leute erstmal angeeignet haben, ist es schwer, sie zum Umdenken zu bewegen, was aber leider in manchen Fällen zu ausbleibenden Lösungen führt.

    Hinweise auf schlechte Tutorials wären etwa:

    • Nutzung des Schlüsselwortes var
      war in PHP4 Stand der Dinge, um Methoden und Eigenschaften innerhalb von Klassen zu definieren.
      Wird heute fast nur noch zu Kompatiblitätszwecken unterstützt. Heute verwendet man stattdessen public, protected oder private.
    • Nutzung der Superglobalen $_REQUEST
      Dies kann in so fern zu Problemen führen, als dass diese Superglobale alle Schlüssel-/Wert-Paare aus bspw. den Kanälen $_GET, $_POST und $_COOKIE enthält.
      So könnte ein Benutzer Dir bspw. per $_GET einen Wert über die URL zuweisen, obwohl Du Formulareingaben über $_POST erwartest.
      Es bietet sich immer an, den Kanal zu nutzen, aus dem man die Daten erwartet.
    • Nutzung der mysql_* Erweiterung für MySQL-Kommunikationen
      Diese Erweiterung ist seit einigen Jahren als deprecated ( veraltet ) ausgezeichnet und in der PHP Version ab 7 nicht mehr vorhanden.
      Sinnvolle Alternativen und up2day sind sowohl MySQLi oder auch PDO
    • Verarbeitung von ungefilterten Usereingaben
      Viele Beispiele werden natürlich der Verständnis halber kurz gehalten, aber das Tutorial sollte zumindest prägnant darauf hinweisen und in einem weiteren Kapitel die Filterung von Daten beschreiben.


    Es gibt sicher weitere Anhaltspunkte, aber diese fallen mir adhoc ein

    Gruß Arne

    Quelle: https://www.w3schools.com/html/html_attributes.asp

    Muss ich jetzt immer mit so einem Geblubber von dir rechnen oder beruhigst du dich auch mal wieder?


    [Blockierte Grafik: http://www.smilies.4-user.de/include/Froehlich/smilie_happy_012.gif]

    Warte... Habe ich nicht genau das inhaltlich auch eben geschrieben? Oder doch nicht? Oder doch?
    [Geblubber]Mir wäre es an Deiner Stelle langsam peinlich, zwingend Fehler bei anderen zu suchen, anstatt hier produktiv zu helfen...[/Geblubber]

    Ich denke wer sich beruhigen sollte, wissen wir beide ganz gut, oder... ;)

    Nützt nichts, das führt hier zu nichts mehr.
    Meine PN kennst Du ja, wäre ja nicht Deine erste an mich...

    Schöne Grüße
    :streichel:

    Um HTML konform zu bleiben, lieber so:

    PHP
    echo '<td><a href="http://eingabemaske.php?id=' . $row[0] . '" target="_blank">1</a></td>';
    echo '<td><a href="http://auffuellen.php?id=' . $row[0] . '" target="_blank">2</a></td>';


    Es ist zwar keine Regel oder Gesetz, aber standardisiert setzt man Attribut-Werte in HTML in DoubleQuotes.
    Dadurch, dass innerhalb der SingleQuotes in PHP allerdings keine Variablen geparsed werden, muss man für $row[0] den Weg der Konkatenation gehen, was aber - wie ich finde - den Vorteil hat, dass es für eine evtl. Fehlersuche die Zeilen übersichtlicher macht.

    Andersrum funktioniert es zwar auch, hat aber die oben genannten Nachteile.
    Im Zweifelsfall entscheidet das jeder für sich...

    Allerdings solltest Du Dich wirklich mit Grundlagen beschäftigen, Sarah.
    Dieses Forum bietet Hilfe zur Selbsthilfe, d.h. Du solltest mit den Hinweisen auf Seite 1 in der Lage sein, Dein Problem selbst zu lösen.

    Wir helfen Dir gerne, wo Du was zum Nachlesen Deines Problems findest. Nur Lesen und umsetzen musst Du es dann selbst.
    Ist nicht bös gemeint, wir wollen auch nur, dass Du Dich weiter entwickelst.
    ;)