Das ist eine nicht unübliche Frage, mit der jeder Freelancer/Unternehmer bestimmt früher oder später einmal konfrontiert wird.

Die Frage in diesem Fall ist: wer übernimmt die Haftung?

Wenn du auf der sicheren Seite sein willst, erstellst du dir, oder lässt dir von einem Anwalt einen entsprechenden Haftungsauschluss (oft auch in den AGBs enthalten) erstellen und diesen von deinen Kunden akzeptieren/unterschreiben. 😉

...zur Antwort

Vielleicht hast du nicht ganz verstanden wie die Domains funktionieren?

Mithilfe der Domain kannst du ein Eingabeschema definieren. Aktuell überprüfst du ob in das jeweilige Feld: "Vorname" oder "Nachname" eingetragen wurde.

Du willst aber eigentlich überprüfen ob in diesen beiden Feldern überhaupt etwas eingetragen wurde. Also müsstest du vermutlich eher sowas machen:

CREATE DOMAIN Namen as VARCHAR(200) CHECK (value IS NOT NULL AND value <> '');
...zur Antwort

Grundsätzlich sieht das gar nicht so falsch aus, was du da gemacht hast. Du musst jedoch auf ein paar Dinge aufpassen.

Mit folgendem Code sollte es funktionieren:


function Test() {
  let button = document.getElementById('button');
  button.disabled = false;
}
Erklärung: die Funktion heißt getElementById (beachte die Groß- & Kleinschreibung)
Wenn du "let" zur Definition von Variablen benutzt musst du darauf achten dass diese nur innerhalb eines Blocks verfügbar sind. Kurz gesagt wenn du das außerhalb der Funktion definierst, ist es innerhalb der Funktion nicht verfügbar. Also entweder die Definition auch in die Funktion packen oder stattdessen "var" verwenden.
...zur Antwort

Ich würde versuchen 2 separate Fotos zu machen. Einmal für den Hintergrund und einmal für die Personen im Vordergrund.

Bei dem Foto im Vordergrund ist wichtig, dass man die Umrisse gut erkennen kann, sonst sieht das womöglich merkwürdig aus, oder man erkennt nicht wirklich die Personen auf dem Bild.

Wenn man die Personen auf dem Foto anschließend ausschneidet, sollte es kein Problem sein, sie einfach komplett auszufüllen. (hierfür gibt es viele verschiedene Möglichkeiten)

Hoffe das hilft dir einigermaßen?

Btw. am PC ist es mit Sicherheit einfacher als auf dem Handy. Bei ersterem findest du vermutlich auch eher kostenlose Programme, wie z.B.: Gimp (gibts zwar auch fürs Handy, aber naja 😅)

...zur Antwort

Hallo,

Ende-zu-Ende-Verschlüsselung heißt, dass die Nachrichten von deinem Gerät aus verschlüsselt versendet und erst am Empfängergerät entschlüsselt werden (können).

Damit das ganze funktioniert, muss der Versender wissen, wie die Nachricht verschlüsselt werden soll, dass sie der Empfänger entschlüsseln kann. Und der Empfänger muss natürlich wissen wie die Nachricht verschlüsselt wurde, um sie entsprechend entschlüsseln zu können.

Dafür werden die Schlüssel ausgetauscht - erst ab dann ist eine verschlüsselte (End-to-End) Kommunikation möglich.

Ich vermute dass du diese Nachricht bekommen hast, weil ein "neuer Schlüssel" erzeugt wurde. Das kann dann passieren, wenn z.B.: ein neues Gerät (z.B.: neues Handy) ins Spiel kommt.

...zur Antwort

Hallo,

das geht so nicht, aber es gibt andere Möglichkeiten - abhängig davon was du machen möchtest:

1.) Du kannst eine "Organisation" anlegen. Dadurch kannst du deinen Projekte (=Repositories) unter einem gemeinsamen "Namensbereich" führen.

2.) Man kann in ein Git Repository, mehrere andere Git Repositories (=Submodules) integrieren. D.h. du könntest ein "übergeordnetes" Repository machen und dort dann deine anderen beiden Repositories, jeweils als "Submodule" einbinden.

Beide Punkte haben aber unterschiedliche Anwendungsfälle. Bei Variante 1. gruppierst du deine Repositories, dass sie gemeinsam unter dem "gleichen Namen" gefunden werden können.

Bei der 2. Variante geht es viel mehr darum, den bereits bestehenden Code aus einem Git Repository, in einem anderen Repository wieder verwenden zu können, ohne diesen "direkt" kopieren zu müssen.

Ich hoffe das hilft dir, bei deinem Vorhaben weiter? :)

...zur Antwort

Hallo,

das Passwörter für gewöhnlich nicht im Klartext, sondern verschlüsselt gespeichert werden, ist das (hoffentlich) nicht möglich.

...zur Antwort

Hallo,

ich denke um das genauer eingrenzen zu können, müsste man genauer den Funktionsumfang kennen. Genau wie bei dem Bau eines Hauses, hängt es von sehr vielen Faktoren ab wie viel dieses am Ende kosten wird.

Ich denke aber dass du da mit deiner preislichen Recherche recht realistisch liegst.

Wenn du derartige Kosten hast, ohne einen Profit damit zu erzielen, wird die Umsetzung des Projektes nicht zielführend sein, dementsprechend solltest du dir ein entsprechendes Geschäftsmodell überlegen, bei dem du zumindest kostendeckend arbeiten kannst.

...zur Antwort

Hallo,

die Variable e ist in deinem Fall das Event. Genauer gesagt das ClickEvent bzw. MouseEvent. Du bekommst es automatisch übergeben, sobald der Button dann geklickt wurde.

In einigen Fällen willst du eventuell genauer wissen, wohin geklickt wurde. Das kannst du dir theoretisch dann alles aus diesem Objekt auslesen.

Dokumentation dazu findest du beispielsweise hier:

https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event

...zur Antwort

Hallo,

mit private und public definierst du ob das Attribut von außen verändert werden darf oder nicht. D.h. wenn du ein Objekt deiner Klasse erzeugst und das Attribut private ist, kannst du es nur auslesen oder überschreiben, über Methoden die in der Klasse definiert sind. Wenn das Attribut public ist, kann man dieses auch direkt auslesen und sogar überschreiben.

In deinem Beispiel ist es aber vermutlich egal.

...zur Antwort

Hallo,

ich habe leider nicht 100% verstanden, was du genau möchtest, aber ich versuche trotzdem einmal dir ein bisschen eine Orientierungshilfe zu geben.

Eine Möglichkeit Zugriffe einzuschränken, wäre beispielsweise durch Übergabe eines speziellen "Tokens", quasi als Authentifizierung, nur wer diesen kennt, kann die jeweilige Seite aufrufen.

Eine weitere Möglichkeit wäre es, IP Adressen entweder zu blacklisten oder in deinem Fall zu whitelisten, sodass nur bestimmte IP-Adressen oder bestimmte IP-Adressen Bereiche einen Zugriff haben.

Falls du willst, dass man beispielsweise nur die Webseite von einer bestimmten anderen Webseite ausgehend öffnen kann, könnte man eventuell auch den HTTP-Referer überprüfen.

...zur Antwort
Werte aus Datenbank anzeigen mit JS?

Hallo,

ich habe folgenden Code für mein Formular:

<form action="/message1" method="post">
  <div class="input">
    <input type="text" placeholder="Chat" id="input" name="input1">
  </div>
  <div class="send">
    <button type="submit" onclick="message();">Send</button>
  </div>
</form>

Nun noch das JS onclick-Event:

function message() {
  input = document.getElementById("input").value;
  count++;

  if (input == "") {
    alert("please type your message!");
  }
  else {
    if (count % 2 == 0) {
      let newDiv = document.createElement("div");
      newDiv.id = "divMessage";
      newDiv.style.display = "flex";
      newDiv.style.justifyContent = "flex-start";
      newDiv.style.margin = "45px";
      newDiv.style.backgroundColor = "#303032";
      newDiv.style.borderRadius = "10px";
      newDiv.style.padding = "10px";
      newDiv.style.marginTop = "80px";
      newDiv.style.color = "white";
      newDiv.style.marginBottom = "80px";
      newDiv.style.width = "120px";
      newDiv.innerHTML = input;

      let chatMessages = document.querySelector(".chat-messages");
      chatMessages.appendChild(newDiv);
    }

Und nun noch das Reinschreiben mit node.js in die MariaDB-Datenbank:

app.post('/message1', async (req, res) => {
  const input = req.body.input1;
  console.log(input);
  const conn = await pool.getConnection();
  await conn.query(`INSERT INTO test.handy (id, name) VALUES (2, '${input}')`);
  conn.release();
});

Nun möchte ich aber, das, was in die Datenbank geschrieben wurde, beim Aktualisieren der Seite immer noch im "newDiv" anzeigen. Wie geht das?

LG

...zum Beitrag

Hallo,

du brauchst genauso wie du einen Datensatz einfügen kannst, auch eine Möglichkeit die bestehenden Daten abzufragen bzw. auszulesen. Dafür gibt es grundsätzlich mehrere mögliche Lösungswege.

Am besten du machst dir hierfür noch einen zusätzlichen Endpoint: /messages wo du über einen SQL Query dir die jeweiligen Nachrichten abfragst:

SELECT id, name FROM test.handy;

Anschließend kannst du die ganzen Nachrichten, die du als Response bekommst, wieder, wie schon zu vor, mittels JavaScript auf der Seite hinzufügen.

Ich möchte allerdings anmerken, dass das nicht unbedingt der Weg ist, wie man so etwas heutzutage implementiert.
...zur Antwort

Hallo,

Ich würde ein WordPress Plugin erstellen das lediglich über einen Shortcode deinen bereits bestehenden Code einbettet. Dadurch kannst du deinen Code mittels WordPress an jeder beliebigen Stelle einsetzen.

...zur Antwort

Hallo,

es gibt verschiedene Ansätze wie du das bewerkstelligen kannst.

  • Du kannst entweder das Bild über CSS (float: right) rechts positionieren
  • Du kannst via HTML eine Tabelle machen, bestehend aus 2 Spalten und links den Text und rechts das Bild einfügen
  • Du kannst via CSS ein Grid machen bestehend aus 2 Spalten und links den Text und rechts das Bild einfügen
...zur Antwort

Hallo,

aus Sicherheitsgründen muss man beim Erstellen eines Zoom-Meetings immer einen Sicherheitsmechanismus auswählen. Dabei gibt es derzeit 3 Möglichkeiten:

  1. Kenncode - dabei muss du als Benutzer einen Code eingeben um dem Meeting beitreten zu können.
  2. Warteraum - der Host des Meetings muss die Teilnahme von Benutzern explizit erlauben
  3. Nur berechtigte Benutzer können teilnehmen (dafür ist ein Zoom Account notwendig)

Soweit ich weiß gibt es auch Zoom-Links bei denen die Kenncodes bereits im Link enthalten sind und somit nicht erneut eingegeben werden müssen.

...zur Antwort

Hallo,

kannst du über WordPress generell Emails versenden? Beispielsweise "Passwort vergessen" oder ähnliches. Falls das auch nicht klappt, könnte eventuell deine Mailkonfiguration falsch sein? 🤔

Vielleicht findest du auch noch nähere Informationen zum Fehler im Error-Log. Ohne einer "richtigen" Fehlermeldung wird es wohl schwierig eine Lösung zu finden.

...zur Antwort

Es gäbe alternativ noch:

setInterval()
...zur Antwort

Ich denke für die Beantwortung der Frage wäre noch wichtig zu wissen welches Handy du überhaupt hast: iPhone / Android, ... ? 🤔

Zumindest fürs iPhone sind die meisten Apps diesbezüglich entweder nur eingeschränkt kostenlos verfügbar oder kostenpflichtig bzw. laufen auf eine Abofalle hinaus, d.h. du kannst die App kostenlos nutzen (z.B.: für einen 14-tägigen Testzeitraum) und dann musst du ein Abo abschließen 😅

...zur Antwort