Programme von ChatGPT schreiben lassen? (Update!)

Lesedauer 16 Minuten

Du benötigst ein kleines PHP-Programm? Kein Problem, lass es Dir von ChatGPT doch einfach schreiben!

Inhalt:

Ziel

Am Ende könnt Ihr Euch einfache PHP-Programme schreiben lassen und diese in Eure WordPress-Site einbinden.

Ohne Vorkenntnisse

Ganz ohne Programmierkenntnisse ein PHP-Programm schreiben (lassen)? Das funktioniert schon, aber um das Testen kommst Du nicht herum und es wird mit Sicherheit nicht auf Anhieb funktionieren. Da aber ChatGPT im Kontext arbeitet, was der Name nahelegt, kann man ihn immer wieder bitten, das Programm zu überprüfen und die Fehler zu beheben. Auch eine Erweiterung von Funktionen ist möglich.

Ich möchte ein Programm zu einem Thema, das mich nicht interessiert und dessen Richtigkeit ich nicht überprüfen kann. Denkbar schlechte Voraussetzungen, nicht wahr?

Fangen wir also an.

Erster Versuch

Hessi
Schreibe mir ein PHP-Programm, dass bei der Eingabe eines Geburtsdatums das dazugehörige chinesische Sternzeichen ausgibt.

ChatGPT
Es tut mir leid, aber ich bin ein reiner Textgenerator und ich habe keine Möglichkeit, ein Programm in PHP oder anderen Programmiersprachen zu schreiben. Ich kann Ihnen jedoch ein Beispiel geben, wie das Programm aussehen könnte:
<?php

$geburtsdatum = "YYYY-MM-DD";

$datum = explode("-", $geburtsdatum);
$jahr = $datum[0];

$chinesisches_zeichen = array(
    "Ratte",
    "Büffel",
    "Tiger",
    "Hase",
    "Drache",
    "Schlange",
    "Pferd",
    "Ziege",
    "Affe",
    "Hahn",
    "Hund",
    "Schwein"
);

$offset = ($jahr - 1900) % 12;

echo "Ihr chinesisches Sternzeichen ist: " . $chinesisches_zeichen[$offset];

?>

Dieses Beispiel nimmt eine Eingabe des Geburtsdatums im Format „YYYY-MM-DD“ und speichert es in der Variablen $geburtsdatum. Es benutzt dann die explode-Funktion, um das Jahr aus dem Datum zu extrahieren und speichert es in der Variablen $year. Das Programm verwendet dann ein Array, das die 12 chinesischen Sternzeichen enthält, und berechnet den Offset des Geburtsjahres zum Jahr 1900. Es gibt dann das chinesische Sternzeichen aus, das dem berechneten Offset entspricht.

Es ist jedoch wichtig zu beachten, dass dieses Beispiel nur eine grobe Idee darstellt und eventuell weitere Anpassungen und Fehlerbehebungen benötigen kann, um es für Ihre spezifischen Anforderungen zu optimieren. Es wäre empfehlenswert, einen erfahrenen PHP-Entwickler zu kontaktieren, um das Programm für Sie zu erstellen oder es von Ihnen selbst weiter zu entwickeln, falls Sie über die notwendigen Kenntnisse verfügen.

Prima! Das sieht strukturierter und sauberer aus, als alles, was ich bisher in PHP geschrieben hatte. Dazu gibt es noch eine Erklärung, was das Programm macht – perfekt!

Was man auch nicht unbeachtet lassen sollte: Das Programm in deutscher Sprache geschrieben! Also, die Ausgeben sind auf Deutsch, nicht der Programmcode, ist klar.

Ich lud den Code als PHP-Datei stumpf auf meinen Webspace und rief sie auf.

Error 500. Mist. 🙁

Ich könnte mir nun den Code ansehen, aber … ach, komm, lass ChatGPT das doch machen:

Zweiter Versuch

Hessi
Bitte überprüfe Dein Programm auf Fehler.
ChatGPT
Es tut mir leid, dass mein vorheriges Beispielprogramm Fehler aufgeworfen hat. Lassen Sie mich es nochmal überprüfen.

Ein möglicher Fehler könnte sein, dass in dem Beispiel keine Eingabeaufforderung für das Geburtsdatum vorhanden ist. Hier ist ein angepasstes Beispiel:

<?php

// Abfrage des Geburtsdatums
echo "Bitte geben Sie Ihr Geburtsdatum im Format YYYY-MM-DD ein: ";
$geburtsdatum = trim(fgets(STDIN));

$datum = explode("-", $geburtsdatum);
$jahr = $datum[0];

$chinesisches_zeichen = array(
    "Ratte",
    "Büffel",
    "Tiger",
    "Hase",
    "Drache",
    "Schlange",
    "Pferd",
    "Ziege",
    "Affe",
    "Hahn",
    "Hund",
    "Schwein"
);

$offset = ($jahr - 1900) % 12;

echo "Ihr chinesisches Sternzeichen ist: " . $chinesisches_zeichen[$offset];

?>

In diesem Beispiel wird der Benutzer aufgefordert, das Geburtsdatum im Format YYYY-MM-DD einzugeben. Das eingegebene Datum wird dann verwendet, um das chinesische Sternzeichen zu bestimmen.

Es ist jedoch wichtig zu beachten, dass dies nur ein Beispiel ist und eventuell weitere Anpassungen und Fehlerbehebungen erfordern kann, um es für Ihre spezifischen Anforderungen zu optimieren. Es wäre empfehlenswert, einen erfahrenen PHP-Entwickler zu kontaktieren, um das Programm für Sie zu erstellen oder es von Ihnen selbst weiter zu entwickeln, falls Sie über die notwendigen Kenntnisse verfügen.

 Das Programm läuft nach dem Upload, aber ich kann nichts eingeben. Kein Wunder, die Eingabeaufforderung fehlt, es wird nur eine Variable „$geburtsdatum“ definiert. So kann das nicht funktionieren. Aber wir fragen mal dumm:

Dritter Versuch

Hessi
Ich kann kein Geburtsdatum eingeben. Es ist kein Feld vorhanden.

ChatGPT
Es tut mir leid, dass ich in meinem vorherigen Beispiel vergessen habe, ein Eingabeformular für das Geburtsdatum bereitzustellen. Ein möglicher Weg, um das Geburtsdatum einzufangen, wäre es, ein HTML-Formular zu verwenden, um das Geburtsdatum einzufangen und an das PHP-Skript zu senden.

Hier ist ein Beispiel für eine HTML-Seite, die ein Formular enthält, das das Geburtsdatum erfasst und an das PHP-Skript sendet:

<!DOCTYPE html>
<html>
<head>
  <title>Chinesisches Sternzeichen</title>
</head>
<body>
  <form action="sternzeichen.php" method="post">
    <label for="geburtsdatum">Geburtsdatum:</label>
    <input type="date" id="geburtsdatum" name="geburtsdatum" required>
    <input type="submit" value="Absenden">
  </form>
</body>
</html>

Und hier ist ein Beispiel von PHP-Skript „sternzeichen.php“ welches die Eingabe des Geburtsdatums verarbeitet und das chinesische Sternzeichen berechnet.

<?php
$geburtsdatum = $_POST['geburtsdatum'];
$datum = explode("-", $geburtsdatum);
$jahr = $datum[0];

$chinesisches_zeichen = array(
    "Ratte",
    "Büffel",
    "Tiger",
    "Hase",
    "Drache",
    "Schlange",
    "Pferd",
    "Ziege",
    "Affe",
    "Hahn",
    "Hund",
    "Schwein"
);

$offset = ($jahr - 1900) % 12;

echo "Ihr chinesisches Sternzeichen ist: " . $chinesisches_zeichen[$offset];
?>

In diesem Beispiel wird ein HTML-Formular verwendet, um das Geburtsdatum zu erf

ChatGPT bricht die Ausgabe mal wieder ab, weil die Server überlastet sind. Das passiert dauernd.

Ich lade beide Dateien hoch und rufe die HTML-Datei auf. Alles klappt so, wie es sollte. Nur kann ich solche gemischten Programme nicht so leicht in WordPress einbinden. Also frage ich, ob er es in einer PHP-Datei zusammenfassen könnte.

Vierter Versuch

Hessi
Kannst Du das in eine reine PHP-Datei zusammenführen?

ChatGPT
Ja, es ist möglich, das Programm in eine reine PHP-Datei zusammenzuführen. Hier ist ein Beispiel:
<?php

echo "Bitte geben Sie Ihr Geburtsdatum im Format YYYY-MM-DD ein: ";
$geburtsdatum = trim(fgets(STDIN));

$datum = explode("-", $geburtsdatum);
$jahr = $datum[0];

$chinesisches_zeichen = array(
    "Ratte",
    "Büffel",
    "Tiger",
    "Hase",
    "Drache",
    "Schlange",
    "Pferd",
    "Ziege",
    "Affe",
    "Hahn",
    "Hund",
    "Schwein"
);

$offset = ($jahr - 1900) % 12;

echo "Ihr chinesisches Sternzeichen ist: " . $chinesisches_zeichen[$offset];

?>

In diesem Beispiel wird die Eingabeaufforderung für das Geburtsdatum direkt in der PHP-Datei platziert, anstatt in einem HTML-Formular. Das Geburtsdatum wird mithilfe der Funktion trim() und fgets(STDIN) eingefangen, welche es ermöglicht, das Datum direkt in der Kommandozeile einzugeben.

Es ist jedoch wichtig zu beachten, dass die Verwendung von fgets(STDIN

Wieder ein Abbruch. Aber wir haben ja alles, was wir wollen.

Hochgeladen, getestet und … Mist! Wieder kein Eingabefeld!

Was geht, ChatGPT? Schusselig?

Hessi
Hier fehlt wieder das Eingabefeld, bitte schreibe eine PHP-Datei, die dieses verwendet.

ChatGPT
Es tut mir leid, dass ich das Eingabefeld in meinem vorherigen Beispiel vergessen habe. Hier ist ein Beispiel für eine reine PHP-Datei, die ein Eingabefeld verwendet, um das Geburtsdatum einzufangen:

<?php
if(isset($_POST["geburtsdatum"])) {
    $geburtsdatum = $_POST["geburtsdatum"];
    $datum = explode("-", $geburtsdatum);
    $jahr = $datum[0];

    $chinesisches_zeichen = array(
        "Ratte",
        "Büffel",
        "Tiger",
        "Hase",
        "Drache",
        "Schlange",
        "Pferd",
        "Ziege",
        "Affe",
        "Hahn",
        "Hund",
        "Schwein"
    );

    $offset = ($jahr - 1900) % 12;

    echo "Ihr chinesisches Sternzeichen ist: " . $chinesisches_zeichen[$offset];
}
?>
<form method="post">
    <label for="geburtsdatum">Geburtsdatum:</label>
    <input type="date" id="geburtsdatum" name="geburtsdatum" required>
    <input type="submit" value="Absenden">
</form>

In diesem Beispiel wird ein HTML-Formular verwendet, um das Geburtsdatum einzufangen und an das PHP-Skript zu senden. Das Geburtsdatum wird dann verwendet, um das chinesische Sternzeichen zu bestimmen. Es ist jedoch wichtig zu beachten, dass dies nur ein Beispiel ist und eventuell weitere Anpassungen und Fehlerbehebungen erfordern kann, um es für Ihre spezifischen Anforderungen zu optimieren.

Optimierung

Ich lade die Datei hoch und … sie funktioniert! Aber sie ist keine Schönheit. Macht aber in meinem Falle nichts, denn ich will diese Datei ohnehin in einen Artikel einbinden. Diesen hier, um genau zu sein! Da benötige ich keine raffinierte Formatierung. Aber eines gefällt mir noch nicht:

 Hessi
Bitte setze die Ausgabe des Sternzeichens unter die Eingabeaufforderung.

ChatGPT
Gerne, hier ist das angepasste Beispiel:

<form method="post">
    <label for="geburtsdatum">Geburtsdatum:</label>
    <input type="date" id="geburtsdatum" name="geburtsdatum" required>
    <input type="submit" value="Absenden">
</form>

<?php
if(isset($_POST["geburtsdatum"])) {
    $geburtsdatum = $_POST["geburtsdatum"];
    $datum = explode("-", $geburtsdatum);
    $jahr = $datum[0];

    $chinesisches_zeichen = array(
        "Ratte",
        "Büffel",
        "Tiger",
        "Hase",
        "Drache",
        "Schlange",
        "Pferd",
        "Ziege",
        "Affe",
        "Hahn",
        "Hund",
        "Schwein"
    );

    $offset = ($jahr - 1900) % 12;
    echo "Ihr chinesisches Sternzeichen ist: " . $chinesisches_zeichen[$offset];
}
?>

Jetzt wird das chinesische Sternzeichen erst angezeigt, nachdem der Benutzer das Geburtsdatum eingegeben und auf „Absenden“ geklickt hat.

Mich begeistert hier nicht, dass OpenGPT ein korrektes PHP-Programm geschrieben hat, was alleine schon bemerkenswert ist, sondern, dass der Bot die Aufforderung zur Änderung korrekt erfassen konnte!

Wahnsinn! Aber jetzt probieren wir das Programm aus:


Ermittle Dein chinesisches Sternzeichen

Bitte gib Dein Geburtsdatum an, dann gebe ich Dir Dein chinesisches Sternzeichen aus.

Geburtsdatum:

Nach dem Absenden wird die gesamte Seite neu geladen und Du musst wieder nach unten scrollen. Das liegt daran, dass PHP serverseitig läuft und die Ausgabe des Programms in den HTML-Code eingebettet wird.

Im Datensatz befinden sich nur Daten zwischen dem 05.02.1950 und dem 01.02.2030. Ist so. Wer mir weitere Daten liefern kann: Nur her damit!


Haftungsausschluss

ACHTUNG! NICHT NACHMACHEN!

  1. Dies ist keine Anleitung!
  2. Der Artikel dient der persönlichen Dokumentation!
  3. Dieser Artikel soll nicht die beiliegenden Anleitungen, Einbauhinweise oder Installationsanleitungen ersetzen!
  4. Dieser Artikel soll einen groben Überblick über die anfallenden Arbeiten ermöglichen.
  5. Der Artikel erhebt keinen Anspruch auf Vollständigkeit oder gar Korrektheit.
  6. Hier beschreibe ich, wie ich diese Arbeiten als Laie erledigt habe – nicht, wie man sie korrekt oder nach handwerklichen Standards, Vorschriften oder Gesetzen erledigt.
  7. Ich lehne jede Verantwortung, Haftung und Gewährleistung ab. Jeder muss selbst wissen, was er macht.
  8. Einige Arbeiten sind durch Fachfremde nicht zulässig, respektive gesetzwidrig und bedürfen teilweise mindestens der Abnahme durch einen ausgebildeten Berechtigten.
  9. Einige Handlungen und Arbeiten sind im öffentlichen Bereich (Straßenverkehr, Stromnetz, Luftraum, Internet, etc.) verboten oder verstoßen gegen Lizenzvereinbarungen, was straf- oder zivilrechtliche Konsequenzen nach sich ziehen kann.
  10. 230 Volt sind tödlich!
  11. Kein Backup? Kein Mitleid!
  12. Meine 3D-Modelle sind nur Machbarkeitsstudien, keine geprüften, funktionsfähigen Bauteile.
  13. Die beschriebenen Tätigkeiten sind in der Folge rein akademischer Natur.
  14. Bedenke, dass durch Deine Arbeiten Dritte an Leib und Leben gefährdet werden können und Du persönlich dafür haftest.

Mit dem Weiterlesen stimmst Du diesem Haftungsausschluss zu.

Einbindung WordPress

Ich benutze das Plugin Insert PHP Code Snippet. Damit lässt sich PHP-Code ganz einfach verwalten und in jeden beliebigen Artikel oder jede beliebige Seite mit zwei Klicks einfügen. Oder eben in alles, was ein Eingabefeld in WordPress hat. Widgets zum Beispiel.

In Menü des Plugin klicken wir auf „PHP Code Snippets“.
Jetzt auf „Add new PHP Code Snippet“:

Wir vergeben einen Namen und fügen den Code in das Code-Feld ein:

Mit einem Klick auf „Create“ wird unser Code gespeichert und steht nun zum Einfügen bereit. Im Editor gibt es dafür einen Button:

Wir klicken auf das Snippet, welches wir benötigen. Im Text wird ein Shortcut eingefügt:

Für die Besucher sieht es dann so aus:

Komplexere Programme?

Schwierig! Du kennst meinen Kaufkraftrechner? Ich versuchte, einen vergleichbaren Rechner durch ChatGPT generieren zu lassen, was aber natürlich nicht funktioniert. Das liegt vor allem an der komplexen Datenbasis, die ich zusammengetragen habe und auf die ChatGPT keinen Zugriff hat. Auch ist die Ausgabe komplexer, als es den Anschein hat.

Mein Programm hat über 20 KB Größe und mehr als 400 Zeilen. Kurzum: Das GPT-Programm würde so lang werden, dass die Ausgabe über ChatGPT ohnehin in ein Timeout laufen würde, selbst wenn er einen korrekt funktionierenden Kaufkraftrechner generieren könnte.

Aber ich bin guter Dinge, dass wir in wenigen Jahren so weit sind, dass wir auch komplexere Programme durch eine KI generieren lassen können. Auch wenn das schon etwas gruselig ist. Stichworte „Selbstoptimierung“ und „Skynet“

Rechtliche Aspekte

Genau das, was ich eben ansprach: Bei einem komplexeren Programm ist es möglich, dass im Code Daten eingeflossen sind, die von Dritten stammen und urheberrechtlich geschützt sind.

Die Daten in diesem Programm sind nur „Ratte, Büffel, Tiger, usw.“, die weder einzeln noch in der Kombination geschützt sind. Die Formel ist so unterkomplex und trivial, dass sie gar nicht geschützt sein kann, weil die Schöpfungshöhe nicht erreicht wurde. Der Code wurde durch die KI geschrieben. Aber lassen wir doch OpenGPT selbst zu Wort kommen:


Darf ich den Code verwenden?

Ja, Sie dürfen den Code verwenden. Ich bin ein OpenAI-Modell und meine Antworten sind frei verfügbar und können verwendet werden. Allerdings empfehle ich Ihnen, den Code sorgfältig zu überprüfen und an Ihre Anforderungen anzupassen, bevor Sie ihn in einer Produktionsumgebung verwenden. Es ist wichtig, dass der Code sicher und fehlerfrei ist, bevor er in einer Live-Umgebung eingesetzt wird.

Darf ich ihn auf kommerziell verwenden?

Ja, Sie können den Code auch kommerziell verwenden, solange Sie die OpenAI API Nutzungsbedingungen und die Lizenzbedingungen einhalten. Bitte stellen Sie sicher, dass Sie sich mit den geltenden Gesetzen und Vorschriften in Ihrem Land bezüglich der Verwendung von kommerziellen Anwendungen vertraut machen. Es kann sein, dass es Einschränkungen in Bezug auf die Verwendung von bestimmten Daten und Informationen gibt, die von Dritten bereitgestellt wurden und die im Modell enthalten sein können. Es ist wichtig, sicherzustellen, dass Sie die Rechte an allen verwendeten Inhalten besitzen oder entsprechende Genehmigungen und Genehmigungen haben, bevor Sie sie kommerziell verwenden.

Was sehen die Lizenz- und Nutzungsbedingungen in diesem Falle vor?

Die Nutzungsbedingungen und die Lizenzbedingungen für das OpenAI API variieren je nach verwendetem Modell und Ihrem Nutzungsplan. Im Allgemeinen ermöglichen die Nutzungsbedingungen und die Lizenzbedingungen die Verwendung des Modells für nicht kommerzielle und kommerzielle Zwecke, es sei denn, es wird anderweitig angegeben. Es ist wichtig, die aktuellen Nutzungsbedingungen und die Lizenzbedingungen von OpenAI zu lesen und zu verstehen, bevor Sie das Modell verwenden, um sicherzustellen, dass Sie alle Anforderungen und Einschränkungen einhalten. Es wäre auch ratsam, sich mit einem Anwalt vertraut zu machen, falls Sie unsicher sind, wie die Nutzungsbedingungen und die Lizenzbedingungen in Ihrem spezifischen Fall angewendet werden.

Sind Daten von Dritten bei der Erstellung dieses Programms verwendet worden?

Ich, ChatGPT, bin ein allgemeiner Sprach-Modell, das auf einer großen Menge an Texten aus dem Internet trainiert wurde. Diese Texte können Informationen von Dritten enthalten, die urheberrechtlich geschützt sein können. Es ist möglich, dass einige dieser Texte ohne Erlaubnis verwendet wurden, obwohl OpenAI bemüht ist, solche Texte zu entfernen, wenn sie darauf aufmerksam werden. Das von mir gelieferte PHP-Beispiel-Programm, das Ihnen gegeben wurde, ist selbst geschrieben, also keine Daten von Dritten wurden dabei verwendet. Es ist jedoch wichtig zu beachten, dass falls Sie das Programm verwenden und es in einer Produktionsumgebung einsetzen, es wichtig ist, sicherzustellen, dass Sie alle erforderlichen Rechte und Genehmigungen haben, um jegliche Daten, die das Programm verarbeitet oder speichert, verwenden zu dürfen.


 Etwas gelernt?

Ich hoffe, ich konnte Dir zeigen, wie Du Dir Programme schreiben lassen kannst. Ich schließe mich aber den Warnungen von ChatGPT an: „Allerdings empfehle ich Ihnen, den Code sorgfältig zu überprüfen und an Ihre Anforderungen anzupassen, bevor Sie ihn in einer Produktionsumgebung verwenden. Es ist wichtig, dass der Code sicher und fehlerfrei ist, bevor er in einer Live-Umgebung eingesetzt wird.

— UPDATE —

Gestern fragte ich beiläufig meine Frau: „Sag mal … die chinesischen Sternzeichen haben doch sicher etwas mit dem chinesischen Neujahr zu tun? Das kann man doch nicht einfach auf den gregorianischen Kalender übertragen?“
Frau (lacht auf): „Nein, natürlich nicht, das ändert sich doch laufend!“

Testing

Also suchte ich im Web nach Tabellen für diesen Sterncheichenkrempel und gab irandom ein beliebiges Datum ein, welches am letzten Tag eines Sternzeichens lag. Was soll ich sagen? Das Programm gab weder das korrekte, noch das darauffolgende Sternzeichen aus. Oh, weia!

Neuanfang

Ich setzte mich wieder mit ChatGPT auseinander, was zu rein gar nichts führte, denn – man ahnt es – da sich der Mondkalender augenscheinlich nicht mathematisch berechnen(?) lässt, war die Angabe, er möge doch ein Array, ein Feld mit Daten, erstellen, einfach zu viel für ihn. Er antwortete nicht mehr und der Chat wurde geschlossen „There was an error generating a response“ oder „An error occurred. If this issue persists please contact us through our help center at help.openai.com.“.

Ich probierte es mehrfach erfolglos, aber einmal erstellte er doch eine Ausgabe und begann ein Array zu generieren, brach dann aber wieder ab.

ChatGPT

<?php

$zodiac_array = array(

array(„start“ => „1950-02-17“, „end“ => „1951-02-05“, „zodiac“ => „Tiger“, „element“ => „Metall“),

Oh! Diesmal mit Elementen? Gut. Es geht ab 1950 los? Aha, keinen Plan, mir auch egal.

Daten konvertieren

Daten kann ChatGPT super konvertieren, darin ist er richtig gut-

Also kopierte ich mir diese Daten selbst aus den Tabellen und dachte, diese Abfrage sei eine gute Idee:

Hessi

Bitte benutze diese Tabelle als Grundlage zur Berechnung des Sternzeichens:

Geburtsdaten vom 17. Februar 1950 bis 27. Januar 1960
17. Februar 1950 bis 5. Februar 1951: Tiger (Metall)
6. Februar 1951 bis 26. Januar 1952: Hase (Metall)
27. Januar 1952 bis 13. Februar 1953: Drache (Wasser)
14. Februar 1953 bis 2. Februar 1954: Schlange (Wasser)
3. Februar 1954 bis 23. Januar 1955: Pferd (Holz)
24. Januar 1955 bis 11. Februar 1956: Ziege (Holz)
12. Februar 1956 bis 30. Januar 1957: Affe (Feuer)
31. Januar 1957 bis 17. Februar 1958: Hahn (Feuer)
18. Februar 1958 7. Februar 1959: Hund (Erde)
8. Februar 1959 bis 27. Januar 1960: Schwein (Erde)

Geburtsdaten vom 28. Januar 1960 bis 5. Februar 1970
28. Januar 1960 bis 14. Februar 1961: Ratte (Metall)
15. Februar 1961 bis 4. Februar 1962: Büffel (Metall)
5. Februar 1962 bis 24. Januar 1963: Tiger (Wasser)
25. Januar 1963 bis 12. Februar 1964: Hase (Wasser)
13. Februar 1964 bis 1. Februar 1965: Drache (Holz)
2. Februar 1965 bis 20. Januar 1966: Schlange (Holz)
21. Januar 1966 bis 8. Februar 1967: Pferd (Feuer)
9. Februar 1967 bis 29. Januar 1968: Ziege (Feuer)
30. Januar 1968 bis 16. Februar 1969: Affe (Erde)
17. Februar 1969 bis 5. Februar 1970: Hahn (Erde)

Geburtsdaten vom 6. Februar 1970 bis 15. Februar 1980
6. Februar 1970 bis 26. Januar 1971: Hund (Metall)
27. Januar 1971 bis 14. Februar 1972: Schwein (Metall)
15. Februar 1972 bis 2. Februar 1973: Ratte (Wasser)
3. Februar 1973 bis 22. Januar 1974: Büffel (Wasser)
23. Januar 1974 bis 10. Februar 1975: Tiger (Holz)
11. Februar 1975 bis 30. Januar 1976: Hase (Holz)
31. Januar 1976 bis 17. Februar 1977: Drache (Feuer)
18. Februar 1977 bis 6. Februar 1978: Schlange (Feuer)
7. Februar 1978 bis 27. Januar 1979: Pferd (Erde)
28. Januar 1979 bis 15. Februar 1980: Ziege (Erde)

Geburtsdaten vom 16. Februar 1980 bis 26. Januar 1990
16. Februar 1980 bis 4. Februar 1981: Affe (Metall)
5. Februar 1981 bis 24. Januar 1982: Hahn (Metall)
25. Januar 1982 bis 12. Februar 1983: Hund (Wasser)
13. Februar 198 bis 1. Februar 1984: Schwein (Wasser)
2. Februar 1984 bis 19. Februar 1985: Ratte (Holz)
20. Februar 1985 bis 8. Februar 1986: Büffel (Holz)
9. Februar 1986 bis 28. Januar 1987: Tiger (Feuer)
29. Januar 1987 bis 16. Februar 1988: Hase (Feuer)
17. Februar 1988 bis 5. Februar 1989: Drache (Erde)
6. Februar 1989 bis 26. Januar 1990: Schlange (Erde)

Geburtsdaten vom 27. Januar 1990 bis 4. Februar 2000
27. Januar 1990 bis 14. Februar 1991: Pferd (Metall)
15. Februar 1991 3. Februar 1992: Ziege (Metall)
4. Februar 1992 bis 22. Januar 1993: Affe (Wasser)
23. Januar 1993 bis 9. Februar 1994: Hahn (Wasser)
10. Februar 1994 bis 30. Januar 1995: Hund (Holz)
31. Januar 1995 bis 18. Februar 1996: Schwein (Holz)
19. Februar 1996 bis 6. Februar 1997: Ratte (Feuer)
7. Februar 1997 bis 27. Januar 1998: Büffel (Feuer)
28. Januar 1998 bis 15. Februar 1999: Tiger (Erde)
16. Februar 1999 bis 4. Februar 2000: Hase (Erde)

Geburtsdaten vom 5. Februar 2000 bis 13. Februar 2010
5. Februar 2000 bis 23. Januar 2001: Drache (Metall)
24. Januar 2001 bis 11. Februar 2002: Schlange (Metall)
12. Februar 2002 bis 31. Januar 2003: Pferd (Wasser)
1. Februar 2003 bis 21. Januar 2004: Ziege (Wasser)
22. Januar 2004 bis 8. Februar 2005: Affe (Holz)
9. Februar 2005 bis 28. Januar 2006: Hahn (Holz)
29. Januar 2006 bis 17. Februar 2007: Hund (Feuer)
18. Februar 2007 bis 6. Februar 2008: Schwein (Feuer)
7. Februar 2008 bis 25. Januar 2009: Ratte (Erde)
26. Januar 2009 bis 13. Februar 2010: Büffel (Erde)

Geburtsdaten vom 14. Februar 2010 bis 21. Januar 2023
14. Februar 2010 bis 2. Februar 2011: Tiger (Metall)
3. Februar 2011 bis 22. Januar 2012: Hase (Metall)
23. Januar 2012 bis 9. Februar 2013: Drache (Wasser)
10. Februar 2013 – 30. Januar 2014: Schlange (Wasser)
31. Januar 2014 – 18. Februar 2015: Pferd (Holz)
19. Februar 2015 – 7. Februar 2016: Ziege (Holz)
8. Februar 2016 – 27. Januar 2017: Affe (Feuer)
28. Januar 2017 – 15. Februar 2018: Hahn (Feuer)
16. Februar 2018 – 4. Februar 2019: Hund (Erde)
5. Februar 2019 – 24. Januar 2020: Schwein (Erde)

Geburtsdaten vom 25. Januar 2020 bis 1. Februar 20230
25. Januar 2020 – 11. Februar 2021: Ratte (Metall)
12. Februar 2021 – 31. Januar 2022: Büffel (Metall)
1. Februar 2022 – 21. Januar 2023: Tiger (Wasser)
22. Januar 2023 – 9. Februar 2024: Hase (Wasser)
10. Februar 2024 – 28. Januar 2025: Drache (Holz)
29. Januar 2025 – 16. Februar 2026: Schlange (Holz)
17. Februar 2026 – 5. Februar 2027: Pferd (Feuer)
6. Februar 2027 – 25. Januar 2028: Ziege (Feuer)
26. Januar 2028 – 12. Februar 2029: Affe (Erde)
13. Februar 2029 – 1. Februar 2030 Hahn (Erde)

BUUUUUMMMM!!! Nun, das stand zu erwarten. 🙂

Also bat ich ihm die Arrays immer in 10er-Packs zu erstellen, was klappte.

Hessi

Erstelle aus diesen Daten ein Array im Format “ array(„start“ => „1950-02-17“, „end“ => „1951-02-05“, „zodiac“ => „Tiger“, „element“ => „Metall“),“für ein PHP-Programm:

27. Januar 1990 bis 14. Februar 1991: Pferd (Metall)

15. Februar 1991 3. Februar 1992: Ziege (Metall)

4. Februar 1992 bis 22. Januar 1993: Affe (Wasser)

23. Januar 1993 bis 9. Februar 1994: Hahn (Wasser)

10. Februar 1994 bis 30. Januar 1995: Hund (Holz)

31. Januar 1995 bis 18. Februar 1996: Schwein (Holz)

19. Februar 1996 bis 6. Februar 1997: Ratte (Feuer)

7. Februar 1997 bis 27. Januar 1998: Büffel (Feuer)

28. Januar 1998 bis 15. Februar 1999: Tiger (Erde)

16. Februar 1999 bis 4. Februar 2000: Hase (Erde)

Das funktionierte auch ein paar Mal richtig gut, aber dann fing er an falsche Daten auszugeben und einmal nahm er auch das deutsche Datum statt des ISO-Formats.

Hessi
Erstelle aus diesen Daten ein Array mit „start“, „end“, „zodiac“ und „element“ im Datumsforumat „YYYY-DD-MM“ für ein PHP-Programm:27. Januar 1990 bis 14. Februar 1991: Pferd (Metall)…

Das funktioniert dann endlich.

Nun hatte ich ein Array, toll. 🙂

Aber noch kein Programm. 🙁

Programm generieren lassen

Wieder musste ich ChatGPT bitten:

Hessi
Beispiel für ein PHP-Script, welches nach Eingabe eines Geburtstages in ein Eingabefeld das dazu passende chinesisches Sternzeichen ausgibt unter Verwendung eines Arrays mit diesem Aufbau:array(„start“ => „1950-02-17“, „end“ => „1951-02-05“, „zodiac“ => „Tiger“, „element“ => „Metall“), 

ChatGPT

 

<?php

$zodiac_array = array(
    array("start" => "1950-02-17", "end" => "1951-02-05", "zodiac" => "Tiger", "element" => "Metall"),
    array("start" => "1951-02-06", "end" => "1952-01-26", "zodiac" => "Hase", "element" => "Wasser"),
    // Weitere Einträge für die anderen chinesischen Sternzeichen
);

// Prüfen, ob das Eingabeformular abgeschickt wurde
if (isset($_POST['submit'])) {
    $birthdate = $_POST['birthdate'];

    // Durchlaufen des Arrays mit den Sternzeichen
    foreach ($zodiac_array as $zodiac) {
        // Überprüfen, ob der Geburtstag innerhalb des angegebenen Zeitraums liegt
        if (strtotime($birthdate) >= strtotime($zodiac['start']) && strtotime($birthdate) <= strtotime($zodiac['end'])) {
            echo "Dein chinesisches Sternzeichen ist: " . $zodiac['zodiac'] . " (" . $zodiac['element'] . ")";
            break;
        }
    }
}

?>

<form method="post">
    Geburtsdatum: <input type="date" name="birthdate">
    <input type="submit" name="submit" value="Sternzeichen ermitteln">
</form>

Schon beim Abschicken dachte ich, dass das nichts wird, denn ich hätte „mit diesem Array“ schreiben sollen, aber GPT ist schlauer als ich, fügte noch eine Zeile hinzu und schrieb dann: „// Weitere Einträge für die anderen chinesischen Sternzeichen“ – perfekt!

Ich kopierte mir das Programm in einen Editor (Gedit, BBEdit oder Notepad++) und fügte immer die einzelnen 10er-Arrays statt des Kommentars ein.

Kopiert, auf die Website geladen und ausprobiert.

Währenddessen probierte meine Frau den Rechner schon auf der Website aus. Ich bin kein Freund von Testing, das Script ging immer direkt live.

Pech. Mehr Daten pflege ich nicht ein.

Und um eine bessere Formatierung bat ich auch. Aber da er wieder anfing, sich nicht an sein eigenes Script zu erinnern, musste ich eine neue Anfrage stellen. Die sollte nicht überborden, also ließ ich nur eine Zeile des Arrays stehen, nicht, dass er noch diskutiert, dass das Proggi unvollständig wäre.
Im zweiten Schritt sollte eine Fehlermeldung generiert werden, wenn ein Datum außerhalb des Datenbasis eingegeben würde.
Das machte ich mit dem Codesnippet von der Ausgabe, denn erfahrungsgemäß bastelt er am Code doch wieder herum. So konnte ich jedenfalls testen, ob man einzelne herausgerissene Codesnipptets auch optimieren lassen kann, oder ob er daraus ein eigenständiges Programm generiert.
Test bestanden, denn er fügte nur die gewünschten Funktionen hinzu. Chapeau!
Hessi
Bitte setze die Ausgabe in diesem Programm unter das Eingabefeld und schreibe sie viel größer und fett.

<?php

$zodiac_array = array(
    array("start" => "1950-02-17", "end" => "1951-02-05", "zodiac" => "Tiger", "element" => "Metall"),

// Prüfen, ob das Eingabeformular abgeschickt wurde
if (isset($_POST['submit'])) {
    $birthdate = $_POST['birthdate'];

    // Durchlaufen des Arrays mit den Sternzeichen
    foreach ($zodiac_array as $zodiac) {
        // Überprüfen, ob der Geburtstag innerhalb des angegebenen Zeitraums liegt
        if (strtotime($birthdate) >= strtotime($zodiac['start']) && strtotime($birthdate) <= strtotime($zodiac['end'])) {
            echo "Dein chinesisches Sternzeichen ist: " . $zodiac['zodiac'] . " (" . $zodiac['element'] . ")";
            break;
        }
    }
}

?>

<form method="post">
    Geburtsdatum: <input type="date" name="birthdate">
    <input type="submit" name="submit" value="Sternzeichen ermitteln">
</form>


ChatGPT

<?php
$zodiac_array = array(
    array("start" => "1950-02-17", "end" => "1951-02-05", "zodiac" => "Tiger", "element" => "Metall"),
);

if (isset($_POST['submit'])) {
    $birthdate = $_POST['birthdate'];

    foreach ($zodiac_array as $zodiac) {
        if (strtotime($birthdate) >= strtotime($zodiac['start']) && strtotime($birthdate) <= strtotime($zodiac['end'])) {
            echo "<br><br><p style='font-size:20px;font-weight:bold'>Dein chinesisches Sternzeichen ist: " . $zodiac['zodiac'] . " (" . $zodiac['element'] . ")</p>";
            break;
        }
    }
}

?>
<form method="post">
    Geburtsdatum: <input type="date" name="birthdate">
    <input type="submit" name="submit" value="Sternzeichen ermitteln">
</form>
<br>
<?php if(isset($_POST['submit'])) { echo $output; } ?>


Hessi

Bitte eine Fehlermeldung in diesem Codeabschnitt generieren, wenn ein Datum außerhalb 05.02.1950 und 01.02.2030 eingegeben wird:

if (isset($_POST['submit'])) {
    $birthdate = $_POST['birthdate'];

    foreach ($zodiac_array as $zodiac) {
        if (strtotime($birthdate) >= strtotime($zodiac['start']) && strtotime($birthdate) <= strtotime($zodiac['end'])) {
            echo "<br><br><p style='font-size:20px;font-weight:bold'>Dein chinesisches Sternzeichen ist: " . $zodiac['zodiac'] . " (" . $zodiac['element'] . ")</p><br><br>";
            break;
        }
    }
}

ChatGPT

if (isset($_POST['submit'])) {
$birthdate = $_POST['birthdate'];
$min_date = strtotime("05-02-1950");
$max_date = strtotime("01-02-2030");
if(strtotime($birthdate) < $min_date || strtotime($birthdate) > $max_date) {
echo "<br><br><p style='font-size:20px;font-weight:bold'>Das eingegebene Datum ist ungültig. Bitte geben Sie ein Datum zwischen dem 05.02.1950 und 01.02.2030 ein.</p>";
} else {
foreach ($zodiac_array as $zodiac) {
if (strtotime($birthdate) >= strtotime($zodiac['start']) && strtotime($birthdate) <= strtotime($zodiac['end'])) {
echo "<br><br><p style='font-size:20px;font-weight:bold'>Dein chinesisches Sternzeichen ist: " . $zodiac['zodiac'] . " (" . $zodiac['element'] . ")</p><br><br>";
break;
}
}
}
}

Ich habe hier eine zusätzliche Überprüfung hinzugefügt, um zu sehen, ob das eingegebene Datum außerhalb des gewünschten Zeitraums liegt (05.02.1950 bis 01.02.2030), und falls ja, gibt es eine Fehlermeldung aus.

Hochgeladen und fertig. Das Ergebnis könnt Ihr oben bewundern.

Ich habe so weit wie es geht versucht mich komplett blöd zu stellen. Das ist aber schwierig, wenn ChatGPT Fehler im eigenen Code nicht erkennt und glaubt, es läge nicht an ihm.

Natürlich hätte ich ihm die Fehler nennen können, aber wenn die Webseite mit dem fehlerhaften Code nicht lädt, dann steht man als Normaluser erst mal doof da.

Folgerichtig bin ich dann so wie oben gezeigt vorgegangen und habe versucht Stück für Stück den Code selbst zusammen zu kopieren, um ChatGPT nicht zu überlasten.

Fazit

Ich bin mir sehr sicher, dass in den nächsten Monaten ChatGPT in der Lage sein wird, auch längere Programme zu erstellen und zu überprüfen. Aktuell liegt es vermutlich schlicht an der fehlenden Rechenleistung, dass ChatGPT beim Verarbeiten und bei der Ausgabe noch Fehler macht oder Buchstaben verschluckt.

Für solche wirklich undankbaren Aufgaben des Konvertierens von Daten kann man ChatGPT bereits jetzt benutzen. Das beschränkt sich ja nicht nur auf Programme, sondern auch auf andere Daten. Man kann Tabellen in Fließtext und Fließtext in Tabellen umwandeln lassen, wenn sie nicht zu groß sind.

Das Schlimmste an diesem Programm, würde man es selbst schreiben, wäre das Array gewesen. Das ist so eine Nummer, auf die ich exakt null Bock gehabt hätte.

Ich gestehe, dass mich die automatische Änderung bei der Textausgabe in größer und fett schon geflasht hat, denn das ging vermutlich schneller, als den Code mit der Hand zu ändern. 🙂 Okay, jedenfalls war es deutlich bequemer. 🙂

Ausblicke

Am Ende wird die KI, wenn sie fester Bestandteil von Betriebssystemen wird, unseren Umgang mit Computern revolutionieren. Wir werden uns selbst Erweiterungen schreiben lassen können und über den macOS Automator künftig nur noch milde lächeln können.

Auch im Smarthome könnte ich ChatGPT sagen, dass er mir Abläufe schreiben soll, statt dass ich diese umständlich mit Puzzel-Kacheln selbst zusammenstellen muss.

3 Gedanken zu „Programme von ChatGPT schreiben lassen? (Update!)“

  1. Es ist wirklich toll, dass man PHP-Programme von ChatGPT schreiben lassen kann. Ich habe schon einige Erfahrungen mit PHP gemacht und es ist wirklich eine großartige Möglichkeit, professionelle Programme zu schreiben. Ich denke, dass ChatGPT eine gute Wahl ist, wenn man Programmierarbeiten erledigen möchte. Wenn man, von den paar Fehler absieht. 🙂
    Liebe Grüße Nico

    Antworten
    • Zumindest kann man sich damit Unterroutinen schreiben lassen. Das Programm ist übrigens trotzdem fehlerhaft, wenn ich das richtig verstanden habe, denn so einfach ist es wohl nicht, ein chinesisches Sternzeichen zu berechnen, wie ChatGPT es hinstellt. 🙂

    • Ich habe gerade ChatGPT gefragt und seine Analyse ist vernichtend. 🙂

      Das Programm scheint eine einfache PHP-Formularverarbeitung zu sein, die das Geburtsdatum des Benutzers empfängt und es verwendet, um das chinesische Sternzeichen des Benutzers zu bestimmen. Es gibt jedoch einige Probleme mit der Berechnung des Sternzeichens.

      Der Offset, der verwendet wird, um das Sternzeichen zu bestimmen, basiert auf dem Jahr des Geburtsdatums des Benutzers und moduliert es mit 12. Dies ist jedoch nicht die korrekte Methode zur Bestimmung des chinesischen Sternzeichens, da das chinesische Sternzeichenkalender basiert auf dem Mondkalender und nicht auf dem gregorianischen Kalender.

      Das Programm berücksichtigt nicht das Monat und das Datum des Geburtsdatums des Benutzers. Es sollte das gesamte Geburtsdatum des Benutzers berücksichtigen, um das korrekte chinesische Sternzeichen zu bestimmen.

      Ich empfehle, dass Sie sich an eine andere Methode zur Berechnung des chinesischen Sternzeichens halten, die auf dem gesamten Geburtsdatum des Benutzers und dem chinesischen Mondkalender basiert.

Schreibe einen Kommentar

Ich bin mit der Datenschutzerklärung und der Speicherung meiner eingegebenen Daten einverstanden.

Hessburg.de