HTML Formular Input in SQLite Datenbank speichern, (mit NodeJS) wie?

Hallo. Ich möchte den Input eines HTML-Formulars mit Hilfe von Node in eine SQLite Datenbank einfügen.

Mein index.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hello world!</title>
    <script src="sqlite.js"></script>
</head>
<body>

    <form action="/team_name_url/" method="post">
        <label for="team_name">Enter name: </label>
        <input id="team_name" type="text" name="name_field" value="Default name for team.">
        <input type="submit" value="OK">
    </form>

</body>
</html>

Mein sqlite.js:

const sqlite3 = require('sqlite3');
const db = new sqlite3.Database('./sqlite.db');

let express = require('express');
let app = express();
const bodyParser= require('body-parser');


app.use(bodyParser.urlencoded({extended:true}));

app.post('/',(req,res)=>{
let placeName = req.body.PlaceName; 
});


db.run(`INSERT INTO places (id, name, coords) VALUES(4, ${placeName}, '1234, 5678');`, function(err) {
    if (err) {
        return console.log(err.message);
    }

    console.log(`A row has been inserted with rowid ${this.lastID}`);


});

db.close();
SQL, HTML, programmieren, JavaScript, Datenbank, SQLite, node.js, node
Arduino - Kein auslesen der Daten beim Ir-Empfänger?

Ich haben ein kleines Problem beim Auslesen des Ir-Empfänges am Arduino. Ich habe nähmlich als nächstes Projekt vor, den Arduino über eine Infrarotfernbedinung ferzusteuern. Um dies jedoch machen zu können, muss ich natürlich erst einmal die Werte auslesen, welche von der Fernbedinung kommen. Das Problem jedoch dabei ist, dass mir im Seriellen Monitor bei der Ausgabe der Wert 0 angezeigt wird (bei jeder Taste).

Ich sehe jedoch dass der Ir-Empfänger reagiert und verarbeitet. Zudem sind sowohl Hardware als auch Software richtig:

#include <IRremote.h>

int RECV_PIN =7;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()

{

 Serial.begin(9600);

 irrecv.enableIRIn(); // Start the receiver

}

void loop() {

 if (irrecv.decode()) {

  Serial.println(results.value, HEX);

  irrecv.resume();

 }

}

Das seltsame begann schon für mich, als ich in dem if-statement das &results entfernen musstem weil der Serielle Monitor mir sonst folgendes anzeigte:

Aber noch einmal zurück zu auslesen. An der Hardware kann es auch nicht liegen. Ich hatte sowahl den Arduino, als auch den Infrarot-Sensor ausgetauscht. Ich habe auch schon versucht den Ir-Empfänger am AnalogPin anzuschließen, jedoch mit dem selben resultat. Auch die Fernbedinungen untereinander habe ich ausgetauscht.

Würde micht über Antworten freuen

Ps. Ich nutzte einen ArduinoUno R3

Mein Ir-Empfänger: https://www.amazon.de/ANGEEK-Infrarot-IR-Empf%C3%A4nger-Infrarot-Receiver/dp/B07RMDR9LL/ref=sr_1_5?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&crid=POLRK63VNK91&dchild=1&keywords=arduino+ir+empf%C3%A4nger&qid=1612701939&sprefix=arduino+ir+%2Caps%2C190&sr=8-5

Bild zum Beitrag
Computer, Technik, Hardware, programmieren, Arduino, Technologie
Wie schaffe ich es hier noch Inputboxen bzw. Abfragefelder zu integrieren?

Unten habe ich mein Programm Code (Auto Hotkey Skript) eingefügt. Hier möchte hier noch gerne ein Abfrage Feld hinzufügen der z.B. nach dem Namen fragt und dann an die richtige Stelle das Ganze einfügt. Z.B bei A steht:

SendInput, Sehr geehrter Herr ... und an dieser Stelle soll quasi ein Abfrage Feld mit dem Namen erscheinen, dass dann im eingefügt wird.

Hoffe mein Vorhaben ist soweit verständlich.

#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
; Erstellt ein aufklappbares Menü durch Hinzufügen von Menüpunkten.
Menu, EigenesMenü, Add, AA, A
Menu, EigenesMenü, Add, BB, B
Menu, EigenesMenü, Add, CC, C
Menu, EigenesMenü, Add ; Fügt eine Trennlinie hinzu.
Return ; Ende des automatischen Ausführungsbereichs.
A:
FormatTime,Datum,,dd.MM.yyyy
SendInput, %Datum%{Enter 3}
SendInput, Sehr geehrter Herr ...,{Enter 4}
SendInput, Mit freundlichen Grüßen{Enter}{Up 3}
return
Return
B:
FormatTime,Datum,,dd.MM.yyyy
SendInput, %Datum%{Enter 3}
SendInput, Sehr geehrter Herr ...,{Enter 4}
SendInput, Mit freundlichen Grüßen{Enter}{Up 3}
return
Return
C:
FormatTime,Datum,,dd.MM.yyyy
SendInput, %Datum%{Enter 3}
SendInput, Sehr geehrte Damen und Herren,{Enter 4}
SendInput, Mit freundlichen Grüßen{Enter}{Up 3}
return
Return
PC, Computer, Technik, Notebook, IT, programmieren, AutoHotkey, Informatik, Informatiker, Technologie, ahk script
Wie kann ich dieses Zustandsdiagramm am besten Umsetzen? (Java)?

Hey ich muss folgendes Zustandsdiagramm umsetzen:

Folgenden Code habe ich bereits für die Wahl des Getränks geschrieben:

import java.util.Scanner;
public class Getraenkeautomat
{
public static void main(String[] args)
{
boolean automatBereit = true;
int Apfelschorle = 01;
int Cola = 11;
int Spezi = 21;
int Wasser = 31;
int gewaehltesGetraenk;
String Getraenk;

Scanner s = new Scanner(System.in);
System.out.println("BESCHREIBUNG:");
System.out.println("Zuerst Getraenkwaehlen:");
System.out.println("Apfelschorle = 01; Cola = 11; Spezi = 21; Wasser = 31");
System.out.println("Dann entsprechenden Betrag mit folgenden Muenzen bezahlen:");
System.out.println("1 = 1€; 0.5 = 50ct; 0.2 = 20ct");
Getraenk = s.next();
gewaehltesGetraenk = Integer.parseInt(Getraenk);
if (gewaehltesGetraenk == Apfelschorle){
System.out.println("gewaehltes Getraenk: Apfelschorle");
System.out.println("Bitte zahlen sie 1.50€");
}
else{
if(gewaehltesGetraenk == Cola){
System.out.println("gewaehltes Getraenk: Cola");
System.out.println("Bitte zahlen sie 2.00€");
}
else{
if(gewaehltesGetraenk == Spezi){
System.out.println("gewaehltes Getraenk: Spezi");
System.out.println("Bitte zahlen sie 1.70€");
}
else{
if(gewaehltesGetraenk == Wasser){
System.out.println("gewaehltes Getraenk: Wasser");
System.out.println("Bitte zahlen sie 1.00€");
}
}
}
}
}
}

Nur habe ich das Problem, dass ich keine Ahnung habe wie ich am besten die Münzeingabe umsetzen soll. Wie ihr evtl schon dem Code entnehmen konntet kann der Anwendern 1Euro, 50ct und 20 ct Münzen einwerfen. Wenn zuviel eingeworfen wird soll entsprechend das Getränk mit Rückgeld ausgegeben werden, wenn zu wenig eingeworfen wird soll der noch zu bezahlende betrag ausgegeben werden. Ich habe es mit einer Do while schleife probiert bin jedoch auf kein schlüssiges ergebnis gekommen weshalb ich euch diese erspare. Könntet ihr mir dazu einen Ansatz bzw Lösungsvorschlag sagen wie ich den Münzeinwurf umsetzen soll?

Bild zum Beitrag
Computer, programmieren, Java, Informatik
Welche Bedeutung hat dieser Programmcode?

Hallo,

ich habe diesen Code hier entdeckt.

#include <Time.h>
#include <Wire.h>
#include <DS1307RTC.h>
#include <LiquidCrystal_I2C.h> // Bibliotheken laden

LiquidCrystal_I2C lcd(0x3D, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); //Das I²C Display benennen und die HEX-Adresse eingeben (bei uns 0x3D)
void setup()
{
  lcd.begin(16, 2); // Das Display starten, festlegen dass es sich um ein Display mit 16 Zeichen in 2 Zeilen handelt
  lcd.backlight(); // Beleuchtung des Displays einschalten
  Serial.begin(9600); // Serielle Verbindung mit Baurate 9600 starten
  setSyncProvider(RTC.get); // Daten von der RTC abrufen
}

void loop()
{
  Serial.print(hour()); // Serial.print ist der Befehl, etwas im seriellen Monitor anzuzeigen (Stunde, Minute, Sekunde, Leerzeichen, Tag, Leerzeichen, usw.)
  printDigits(minute()); // bei den Minuten und Sekunden wird der Befehl
  printDigits(second()); // printDigits verwendet, welcher am Ende des Codes noch festgelegt wird
  Serial.print(“ „);
  Serial.print(day());
  Serial.print(“ „);
  Serial.print(month());
  Serial.print(“ „);
  Serial.print(year());
  Serial.println();
  delay(1000); // eine Sekunde warten
  lcd.setCursor(2, 0); // setCursor gibt an, wo der Text beginnen soll. In diesem Fall beim dritten Zeichen in der ersten Reihe.
  lcd.print(hour()); // Die Uhrzeit soll angezeigt werden im Format:
  lcd.print(„:“); // Stunden:minuten:sekunden
  lcd.print (minute());
  lcd.print(„:“);
  lcd.print(second());
  lcd.print(“ „);
  lcd.print(„Uhr“); // Dahinter soll das Wort „Uhr“ angezeigt werden
  lcd.print(“ „);
  lcd.print(“ „);
  lcd.print(“ „);
  lcd.setCursor(1, 1); // In der zweiten Zeile soll das Datum angezeigt werden
  lcd.print(day());
  lcd.print(„.“);
  lcd.print(month());
  lcd.print(„.“);
  lcd.print(year());
}

// Der printDigits Befehl für den seriellen Monitor
void printDigits(int digits)
{
  Serial.print(„:“);
  
  if (digits < 10)
    Serial.print(‚0‘);
  
  Serial.print(digits);
}

Bitte beleidigt mich nicht. Ich habe in Sachen Programmieren nicht viel Erfahrung und bin ein Frischling, der nach Antworten sucht. 😀

Meine Frage wäre, warum diese Befehle

lcd.print(„“)

dreimal oder so hintereinander auftauchen. Und warum steht in den Klammern nichts? Kann mich da jemand aufklären?

Ich verstehe die Funktion dieses Codes nicht?

Danke schon einmal im Voraus. 😀

Computer, Technik, programmieren, Informationstechnik, Technologie, Elektrotechnik und Informationstechnik
Plugin aktivieren Spigot 1.12.2?

Hallo,

Wenn ich mein server mit meinen plugin starte kommt folgender error-code:

[09:50:52] [Server thread/INFO]: Set PluginClassLoader as parallel capable
[09:50:52] [Server thread/ERROR]: Could not load 'plugins/D-W-essentials.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError: de/destiny_rene/ChunkClaim/main/Main has been compiled by a more recent version of the Java Runtime (class file version 59.0), this version of the Java Runtime only recognizes class file versions up to 52.0
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:133) ~[spigot.jar:git-Spigot-dcd1643-e60fc34]
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:327) ~[spigot.jar:git-Spigot-dcd1643-e60fc34]
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:248) [spigot.jar:git-Spigot-dcd1643-e60fc34]
    at org.bukkit.craftbukkit.v1_12_R1.CraftServer.loadPlugins(CraftServer.java:305) [spigot.jar:git-Spigot-dcd1643-e60fc34]
    at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:205) [spigot.jar:git-Spigot-dcd1643-e60fc34]
    at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:545) [spigot.jar:git-Spigot-dcd1643-e60fc34]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_275]
Caused by: java.lang.UnsupportedClassVersionError: de/destiny_rene/ChunkClaim/main/Main has been compiled by a more recent version of the Java Runtime (class file version 59.0), this version of the Java Runtime only recognizes class file versions up to 52.0
    at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_275]
    at java.lang.ClassLoader.defineClass(ClassLoader.java:756) ~[?:1.8.0_275]
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[?:1.8.0_275]
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:148) ~[spigot.jar:git-Spigot-dcd1643-e60fc34]
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:100) ~[spigot.jar:git-Spigot-dcd1643-e60fc34]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:1.8.0_275]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_275]
    at java.lang.Class.forName0(Native Method) ~[?:1.8.0_275]
    at java.lang.Class.forName(Class.java:348) ~[?:1.8.0_275]
    at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:78) ~[spigot.jar:git-Spigot-dcd1643-e60fc34]
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:129) ~[spigot.jar:git-Spigot-dcd1643-e60fc34]
    ... 6 more

Was habe ich falsch gemacht?

Lg,

Pierre-René


Computer, programmieren, Java, Minecraft, Minecraft Server, Plug-in, Spigot, Ubuntu 18.04
Wieso wird mein Scoreboard nicht angezeigt?
	  public void setScoreboard(Player p) {
		    ScoreboardManager sm = Bukkit.getScoreboardManager();
		    Scoreboard board = sm.getNewScoreboard();
		    Objective o = board.registerNewObjective("test", "dummy");
		    o.setDisplaySlot(DisplaySlot.SIDEBAR);
		    o.setDisplayName(cfg.getString("Displayname"));
		    o.getScore("§a   ").setScore(10);
		    o.getScore("§fMap").setScore(9);
		    o.getScore("§d" + p.getWorld().getName()).setScore(8);
		    o.getScore("§e    ").setScore(7);
		    o.getScore("§fKills:").setScore(6);
		    o.getScore("§e"+ p.getStatistic(Statistic.PLAYER_KILLS)).setScore(5);
		    o.getScore("§f    ").setScore(4);
		    o.getScore("§fTeams:" ).setScore(3);
		    o.getScore("§aERLAUBT!").setScore(2);
		    o.getScore("§1   ").setScore(1);
		    o.getScore("§eMade by KoCoLP!").setScore(0);
		    p.setScoreboard(board);


		  }
		  
		  @EventHandler
		  public void onJoin1(PlayerJoinEvent e) {
		    (new BukkitRunnable() {
		        public void run() {
		          for (Player all : Bukkit.getOnlinePlayers())
		            GunGame.this.setScoreboard(all); 
		        }
		      }).runTaskLater((Plugin)this, 1L);
		  }
		  
		  @EventHandler
		  public void onQuit2(PlayerQuitEvent e) {
		    (new BukkitRunnable() {
		        public void run() {
		          for (Player all : Bukkit.getOnlinePlayers())
		            GunGame.this.setScoreboard(all); 
		        }
		      }).runTaskLater((Plugin)this, 1L);
		  }
		  
		  @EventHandler
		  public void onDeath3(PlayerDeathEvent e) {
		    for (Player all : Bukkit.getOnlinePlayers())
		      GunGame.this.setScoreboard(all); 
		  }
	


programmieren, Minecraft, developer, Bukkit, scoreboard, Spigot

Meistgelesene Beiträge zum Thema Programmieren